Skip to main content

A pip-like ansible collection installer.

Project description

pip4a

A pip-like install for ansible collections.

Features

  • Promotes an "ephemeral" development approach
  • Ensures the current development environment is isolated
  • Install all collection python requirements
  • Install all collection test requirements
  • Checks for missing system packages
  • Symlinks the current collection into the current python interpreter's site-packages
  • Install all collection collection dependencies into the current python interpreter's site-packages

By placing collections into the python site-packages directory they are discoverable by ansible as well as python and pytest.

Usage

Setting up a development environment

$ pip install pip4a --user
$ git clone <collection_repo>
$ cd <collection_repo>
$ pip4a install -e .\[test] --venv venv
INFO: Found collection name: network.interfaces from /home/bthornto/github/network.interfaces/galaxy.yml.
INFO: Creating virtual environment: /home/bthornto/github/network.interfaces/venv
INFO: Virtual environment: /home/bthornto/github/network.interfaces/venv
INFO: Using specified interpreter: /home/bthornto/github/network.interfaces/venv/bin/python
INFO: Requirements file /home/bthornto/github/network.interfaces/requirements.txt is empty, skipping
INFO: Installing python requirements from /home/bthornto/github/network.interfaces/test-requirements.txt
INFO: Installing ansible-core.
INFO: Initializing build directory: /home/bthornto/github/network.interfaces/build
INFO: Copying collection to build directory using git ls-files.
INFO: Running ansible-galaxy to build collection.
INFO: Running ansible-galaxy to install collection and it's dependencies.
INFO: Removing installed /home/bthornto/github/network.interfaces/venv/lib64/python3.11/site-packages/ansible_collections/network/interfaces
INFO: Symlinking /home/bthornto/github/network.interfaces/venv/lib64/python3.11/site-packages/ansible_collections/network/interfaces to /home/bthornto/github/network.interfaces
WARNING: A virtual environment was specified but has not been activated.
WARNING: Please activate the virtual environment:
source venv/bin/activate

Tearing down the development environment

$ pip4a uninstall ansible.scm
INFO     Found collection name: ansible.scm from /home/bthornto/github/ansible.scm/galaxy.yml.
INFO     Requirements file /home/bthornto/github/ansible.scm/requirements.txt is empty, skipping
INFO     Uninstalling python requirements from /home/bthornto/github/ansible.scm/test-requirements.txt
INFO     Removed ansible.utils: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/utils
INFO     Removed ansible.utils*.info: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible.utils-2.10.3.info
INFO     Removed ansible.scm: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/scm
INFO     Removed collection namespace root: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible
INFO     Removed collection root: /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections

Help

pip4a --help

pip4a install --help

pip4a uninstall --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip4a-0.2.15.tar.gz (46.9 kB view details)

Uploaded Source

Built Distribution

pip4a-0.2.15-py3-none-any.whl (40.3 kB view details)

Uploaded Python 3

File details

Details for the file pip4a-0.2.15.tar.gz.

File metadata

  • Download URL: pip4a-0.2.15.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pip4a-0.2.15.tar.gz
Algorithm Hash digest
SHA256 d2b2d8e17efdeaaf03728be29d6d691d9c42d193212c59beefd8c8bc1b727ab1
MD5 4e8275c92227fcae5f16792a917c084a
BLAKE2b-256 3ec1ad50a41331caae38b3d02d4b9c06da0895675cef1c4887f2fbeb9cad8f71

See more details on using hashes here.

File details

Details for the file pip4a-0.2.15-py3-none-any.whl.

File metadata

  • Download URL: pip4a-0.2.15-py3-none-any.whl
  • Upload date:
  • Size: 40.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pip4a-0.2.15-py3-none-any.whl
Algorithm Hash digest
SHA256 f31281edd302754a97487b1b29ad5a8eb726e005e227cf3f9840f4b9fec8ffdd
MD5 db0f982f8ca154e7d3ae9eba9c18f7d0
BLAKE2b-256 6f2ddbc0107b3e88143ea50a4e17b8e31894ebabb5d55b9ae11f2bed987fd9da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page