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
$ git clone <collection_repo>
$ cd collection_repo
$ python -m venv venv
$ source venv/bin/activate
$ pip install pip4a
$ pip4a install -e .[test]
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 Installing python requirements from /home/bthornto/github/ansible.scm/test-requirements.txt
INFO Initializing build directory: /home/bthornto/github/ansible.scm/build
INFO Running ansible-galaxy to build collection.
INFO Running ansible-galaxy to install collection and it's dependencies.
INFO Removing installed /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/scm
INFO Symlinking /home/bthornto/github/ansible.scm/venv/lib64/python3.11/site-packages/ansible_collections/ansible/scm to /home/bthornto/github/ansible.scm
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
usage: pip4a [-h] [--verbose] {install,uninstall} ...
A pip-like ansible collection installer.
options:
-h, --help show this help message and exit
--verbose Increase output verbosity.
subcommands:
valid subcommands
{install,uninstall} additional help
$ pip4a install --help
usage: pip4a install [-h] [-e] collection_specifier
positional arguments:
collection_specifier Collection to install.
options:
-h, --help show this help message and exit
-e, --editable Install editable.
Usage:
pip4a install .
pip4a install -e .
pip4a install -e .[test]
python -m pip4a install ansible.utils
$ pip4a uninstall --help
usage: pip4a uninstall [-h] collection_specifier
positional arguments:
collection_specifier Collection to uninstall.
options:
-h, --help show this help message and exit
Usage:
pip4a install .
pip4a install -e .
pip4a install -e .[test]
python -m pip4a install ansible.utils```
Project details
Release history Release notifications | RSS feed
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.1.1.dev0.tar.gz
(30.7 kB
view details)
Built Distribution
File details
Details for the file pip4a-0.1.1.dev0.tar.gz
.
File metadata
- Download URL: pip4a-0.1.1.dev0.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 760e97004261ce1c08a2cbc09963907dbd81b54b440d832b328804a806077705 |
|
MD5 | bb7cc8043501717ea386a7b9a3c44c64 |
|
BLAKE2b-256 | 67b8d5723604c55e42448076d072134eb1a6212ca31bea9dd07d91a2bc884ce0 |
File details
Details for the file pip4a-0.1.1.dev0-py3-none-any.whl
.
File metadata
- Download URL: pip4a-0.1.1.dev0-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e492211594a65eece1115f5caa4922e0970eaf13802b6924040afe5f05c5a4c |
|
MD5 | c88e4b2684133a527fbd652546d16f3c |
|
BLAKE2b-256 | 305c6cb5ad038e64c373e39499444ecc881afcc52ee16c7020404188821b6526 |