| Name | andebox JSON |
| Version |
1.7.0
JSON |
| download |
| home_page | None |
| Summary | Ansible Developers Box |
| upload_time | 2025-10-11 07:19:46 |
| 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/de/b4/ac844e44c1ec07f00486505ec32c6ebfbd7168c05518b39b2e69b0a16f6b/andebox-1.7.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.7.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": "83389e6207dd0343fde5c12dd2c93df1b5856fd0d8af1093e392e89aa470f132",
"md5": "92027b6af5cdf1dec35ea50aea2c40e8",
"sha256": "852846f5e5ce00fa3ff2984bfac3e9be3e3123c485121e184873ec7e86e8718c"
},
"downloads": -1,
"filename": "andebox-1.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "92027b6af5cdf1dec35ea50aea2c40e8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 25656,
"upload_time": "2025-10-11T07:19:45",
"upload_time_iso_8601": "2025-10-11T07:19:45.041871Z",
"url": "https://files.pythonhosted.org/packages/83/38/9e6207dd0343fde5c12dd2c93df1b5856fd0d8af1093e392e89aa470f132/andebox-1.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "deb4ac844e44c1ec07f00486505ec32c6ebfbd7168c05518b39b2e69b0a16f6b",
"md5": "0b7cdb1ec2323b704813438f80823a4d",
"sha256": "e6a7aa228dbc49fa1df5a0a68cccd0493fc867f65ed45fce3038f99b19ae1af6"
},
"downloads": -1,
"filename": "andebox-1.7.0.tar.gz",
"has_sig": false,
"md5_digest": "0b7cdb1ec2323b704813438f80823a4d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 19482,
"upload_time": "2025-10-11T07:19:46",
"upload_time_iso_8601": "2025-10-11T07:19:46.722350Z",
"url": "https://files.pythonhosted.org/packages/de/b4/ac844e44c1ec07f00486505ec32c6ebfbd7168c05518b39b2e69b0a16f6b/andebox-1.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-11 07:19:46",
"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"
}