Ansible role to manage python package with pip on debian-based systems. https://ednz.fr
Go to file
Renovate Bot c41246b015
All checks were successful
test / Linting (push) Successful in 8s
test / Molecule tests (default, debian11) (push) Successful in 46s
test / Molecule tests (default, debian12) (push) Successful in 53s
test / Molecule tests (default, ubuntu2004) (push) Successful in 1m1s
test / Molecule tests (default, ubuntu2204) (push) Successful in 53s
test / Molecule tests (with_custom_packages, debian11) (push) Successful in 53s
test / Molecule tests (with_custom_packages, debian12) (push) Successful in 55s
test / Molecule tests (with_custom_packages, ubuntu2004) (push) Successful in 1m1s
test / Molecule tests (with_custom_packages, ubuntu2204) (push) Successful in 59s
Add renovate.json
2023-07-25 20:57:26 +00:00
.gitea/workflows added ansible verify stage and gitea actions 2023-07-11 20:05:36 +02:00
.github/workflows renamed pip install task to avoid confusion with apt install task, 1st publish 2023-03-16 23:36:23 +01:00
defaults remove top comment to sample file 2023-03-20 22:52:18 +01:00
handlers added skeleton 2023-03-14 23:23:33 +01:00
meta add suport for debian 12 2023-07-11 20:14:41 +02:00
molecule removed python tests 2023-07-11 21:59:59 +02:00
tasks do not escalate privileges on install prereqs 2023-05-28 13:44:40 +02:00
vars removed meta dependencies, added task to install required roles 2023-04-08 00:33:24 +02:00
.ansible-lint added skeleton 2023-03-14 23:23:33 +01:00
.gitignore ignore .vscode 2023-05-21 20:17:53 +02:00
.yamllint added skeleton 2023-03-14 23:23:33 +01:00
LICENSE added ansible verify stage and gitea actions 2023-07-11 20:05:36 +02:00
README.md fix readme 2023-07-11 22:51:28 +02:00
renovate.json Add renovate.json 2023-07-25 20:57:26 +00:00

manage_pip_packages

This repository is only a mirror. Development and testing is done on a private gitea server.

This role enables you to manage python packages on debian-based distributions. It can be used on its own , or be called by other roles the install/remove packages on demand.

Requirements

None.

Role Variables

Available variables are listed below, along with default values. A sample file for the default values is available in default/manage_pip_packages.yml.sample in case you need it for any group_vars or host_vars configuration.

manage_pip_packages_install_prereqs: true # by default, set to true
manage_pip_packages_list: # by default, not defined
  - name: nginx
    version_constraint: latest # Leaving empty or setting '' will be considered as latest
    state: absent
  - name: ...

This variable is a list of packages, with their name, desired version and state. version_constraint can be multiple constraints,separated by commas (example: >1.10, >1.10,<1.15,!=1.12,==1.13).

Dependencies

This role has a task that installs its own dependencies located in task/prerequisites.yml, so that you don't need to manage them. This role requires ednxzu.manage_apt_packages to install python3 and pip. If you already installed python and pip, you can skip dependencies by setting manage_pip_packages_install_prereqs to false.

Example Playbook

# calling the role inside a playbook with either the default or group_vars/host_vars
- hosts: servers
  roles:
    - ednxzu.manage_pip_packages
# calling the role inside a playbook and injecting variables (in another role for example)
- hosts: servers
  tasks:
    - name: "Install ansible with pip"
      ansible.builtin.include_role:
        name: ednxzu.manage_pip_packages
      vars:
        manage_pip_packages_install_prereqs: false
        manage_pip_packages_list:
          - name: ansible-core
            version_constraint: latest
            state: present

License

MIT / BSD

Author Information

This role was created by Bertrand Lanson in 2023.