Name | andebox JSON |
Version |
1.5.0
JSON |
| download |
home_page | None |
Summary | Ansible Developers Box |
upload_time | 2025-07-13 11:48:09 |
maintainer | None |
docs_url | None |
author | Alexei Znamensky |
requires_python | <4.0,>=3.11 |
license | MIT |
keywords |
ansible
tox
vagrant
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
andebox
=======
[](https://pypi.org/project/andebox/)


[](https://github.com/russoz-ansible/andebox/commits/main)
[](https://github.com/russoz-ansible/andebox/actions)
[](https://andebox.readthedocs.io/en/latest/)
[](https://codecov.io/gh/russoz-ansible/andebox)
**andebox** is a script to assist Ansible developers by encapsulating some
boilerplate tasks, especially the ability of running tests from the root
directory of the collection project without any additional setup.

Highlights
----------
### Setup-less ansible-test
No need to clone in specific locations or keep track of env variables. Simply clone whichever collection you want and
run the `ansible-test` command as:
```
$ andebox test -- sanity --docker default --test validate-modules plugins/modules/mymodule.py
$ andebox test -- unit --docker default test/units/plugins/modules/mymodule.py
$ andebox test -- integration --docker default mymodule
```
If you want to test your code against multiple versions of `ansible-core` or other component, you
will like the `tox-test` subcommand as well.
### Stats on ignore files
Gathering stats from the ignore files can be quite annoying, especially if they are long. One can run:
```
$ andebox ignores -s2.17 -fc validate-modules:parameter-state-invalid-choice
1 plugins/modules/consul_session.py validate-modules:parameter-state-invalid-choice
1 plugins/modules/osx_defaults.py validate-modules:parameter-state-invalid-choice
1 plugins/modules/parted.py validate-modules:parameter-state-invalid-choice
1 plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
```
### Runtime config
Quickly peek what is the `runtime.yml` status for a specific module:
```
$ andebox runtime scaleway_ip_facts
D modules scaleway_ip_facts: deprecation in 3.0.0 (current=2.4.0): Use community.general.scaleway_ip_info instead.
```
Or using a regular expression:
```
$ andebox runtime -r 'gc[pe]' | head -5
R lookup gcp_storage_file: redirected to community.google.gcp_storage_file
T modules gce: terminated in 2.0.0: Use google.cloud.gcp_compute_instance instead.
R modules gce_eip: redirected to community.google.gce_eip
R modules gce_img: redirected to community.google.gce_img
R modules gce_instance_template: redirected to community.google.gce_instance_template
```
where D=Deprecated, T=Tombstone, R=Redirect.
### Run Integration Tests in Vagrant VMs
To run integration tests inside a VM managed by [vagrant](https://www.vagrantup.com/):
```
# Run test in VM named "fedora37" using sudo
$ andebox vagrant -n fedora37 -s -- --python 3.9 xfs_quota --color yes
```
`andebox` does not manage your `Vagrantfile`. The user is responsible for creating and setting up the VM definition.
Installation
------------
Install it as usual:
pip install andebox
If you use `pipx` (strongly recommended), you may use:
pipx install andebox
Raw data
{
"_id": null,
"home_page": null,
"name": "andebox",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "ansible, tox, vagrant",
"author": "Alexei Znamensky",
"author_email": "russoz@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d5/34/0c45cee0b4ff1c762c853adfe29c3a3ff1159c3e21f1434e77bfe2544dda/andebox-1.5.0.tar.gz",
"platform": null,
"description": "andebox\n=======\n\n[](https://pypi.org/project/andebox/)\n\n\n[](https://github.com/russoz-ansible/andebox/commits/main)\n\n[](https://github.com/russoz-ansible/andebox/actions)\n[](https://andebox.readthedocs.io/en/latest/)\n[](https://codecov.io/gh/russoz-ansible/andebox)\n\n**andebox** is a script to assist Ansible developers by encapsulating some\nboilerplate tasks, especially the ability of running tests from the root\ndirectory of the collection project without any additional setup.\n\n\n\nHighlights\n----------\n\n### Setup-less ansible-test\n\nNo need to clone in specific locations or keep track of env variables. Simply clone whichever collection you want and\nrun the `ansible-test` command as:\n\n```\n$ andebox test -- sanity --docker default --test validate-modules plugins/modules/mymodule.py\n$ andebox test -- unit --docker default test/units/plugins/modules/mymodule.py\n$ andebox test -- integration --docker default mymodule\n```\n\nIf you want to test your code against multiple versions of `ansible-core` or other component, you\nwill like the `tox-test` subcommand as well.\n\n### Stats on ignore files\n\nGathering stats from the ignore files can be quite annoying, especially if they are long. One can run:\n\n```\n$ andebox ignores -s2.17 -fc validate-modules:parameter-state-invalid-choice\n 1 plugins/modules/consul_session.py validate-modules:parameter-state-invalid-choice\n 1 plugins/modules/osx_defaults.py validate-modules:parameter-state-invalid-choice\n 1 plugins/modules/parted.py validate-modules:parameter-state-invalid-choice\n 1 plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice\n\n```\n\n### Runtime config\n\nQuickly peek what is the `runtime.yml` status for a specific module:\n\n```\n$ andebox runtime scaleway_ip_facts\nD modules scaleway_ip_facts: deprecation in 3.0.0 (current=2.4.0): Use community.general.scaleway_ip_info instead.\n```\n\nOr using a regular expression:\n\n```\n$ andebox runtime -r 'gc[pe]' | head -5\nR lookup gcp_storage_file: redirected to community.google.gcp_storage_file\nT modules gce: terminated in 2.0.0: Use google.cloud.gcp_compute_instance instead.\nR modules gce_eip: redirected to community.google.gce_eip\nR modules gce_img: redirected to community.google.gce_img\nR modules gce_instance_template: redirected to community.google.gce_instance_template\n```\nwhere D=Deprecated, T=Tombstone, R=Redirect.\n\n### Run Integration Tests in Vagrant VMs\n\nTo run integration tests inside a VM managed by [vagrant](https://www.vagrantup.com/):\n\n```\n# Run test in VM named \"fedora37\" using sudo\n$ andebox vagrant -n fedora37 -s -- --python 3.9 xfs_quota --color yes\n```\n\n`andebox` does not manage your `Vagrantfile`. The user is responsible for creating and setting up the VM definition.\n\nInstallation\n------------\n\nInstall it as usual:\n\n pip install andebox\n\nIf you use `pipx` (strongly recommended), you may use:\n\n pipx install andebox\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Ansible Developers Box",
"version": "1.5.0",
"project_urls": {
"Bug Tracker": "https://github.com/russoz-ansible/andebox/issues",
"Changelog": "https://github.com/russoz-ansible/andebox/blob/main/CHANGELOG.md",
"Documentation": "https://andebox.readthedocs.io/en/latest/index.html",
"Homepage": "https://github.com/russoz-ansible/andebox",
"Repository": "https://github.com/russoz-ansible/andebox",
"Source Code": "https://github.com/russoz-ansible/andebox"
},
"split_keywords": [
"ansible",
" tox",
" vagrant"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b8c0e54fd52bc739ac699b4ace8b10f3b1599bc05d7faf1f983694779d8ec65d",
"md5": "1158b3a46f56c655cd44c277971d92ff",
"sha256": "c180537294a06e4422596bad74c944b0efa0431c4c5eeb3893d89d274a5d022c"
},
"downloads": -1,
"filename": "andebox-1.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1158b3a46f56c655cd44c277971d92ff",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 25331,
"upload_time": "2025-07-13T11:48:08",
"upload_time_iso_8601": "2025-07-13T11:48:08.298075Z",
"url": "https://files.pythonhosted.org/packages/b8/c0/e54fd52bc739ac699b4ace8b10f3b1599bc05d7faf1f983694779d8ec65d/andebox-1.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d5340c45cee0b4ff1c762c853adfe29c3a3ff1159c3e21f1434e77bfe2544dda",
"md5": "290876e0648e3758f7c834f90b95e2af",
"sha256": "e74f3072cc2f5e4434eb5190e2cc78a6db9cd5ace6e58d42482e6166ded4fdc2"
},
"downloads": -1,
"filename": "andebox-1.5.0.tar.gz",
"has_sig": false,
"md5_digest": "290876e0648e3758f7c834f90b95e2af",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 19209,
"upload_time": "2025-07-13T11:48:09",
"upload_time_iso_8601": "2025-07-13T11:48:09.796544Z",
"url": "https://files.pythonhosted.org/packages/d5/34/0c45cee0b4ff1c762c853adfe29c3a3ff1159c3e21f1434e77bfe2544dda/andebox-1.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-13 11:48:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "russoz-ansible",
"github_project": "andebox",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "andebox"
}