andebox


Nameandebox JSON
Version 1.5.0 PyPI version JSON
download
home_pageNone
SummaryAnsible Developers Box
upload_time2025-07-13 11:48:09
maintainerNone
docs_urlNone
authorAlexei Znamensky
requires_python<4.0,>=3.11
licenseMIT
keywords ansible tox vagrant
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            andebox
=======

[![PyPI - Version](https://img.shields.io/pypi/v/andebox.svg)](https://pypi.org/project/andebox/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/andebox)
![PyPI - Downloads](https://img.shields.io/pypi/dw/andebox)
[![Last Commit](https://img.shields.io/github/last-commit/russoz-ansible/andebox)](https://github.com/russoz-ansible/andebox/commits/main)

[![Build Status](https://github.com/russoz-ansible/andebox/actions/workflows/ci-tests.yml/badge.svg?branch=)](https://github.com/russoz-ansible/andebox/actions)
[![docs](https://readthedocs.org/projects/andebox/badge/?style=flat)](https://andebox.readthedocs.io/en/latest/)
[![codecov](https://codecov.io/gh/russoz-ansible/andebox/graph/badge.svg?token=D3TPI2PGU9)](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.

![andebox integration test demo](https://raw.githubusercontent.com/russoz-ansible/andebox/main/docs/images/term/integration.gif)

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[![PyPI - Version](https://img.shields.io/pypi/v/andebox.svg)](https://pypi.org/project/andebox/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/andebox)\n![PyPI - Downloads](https://img.shields.io/pypi/dw/andebox)\n[![Last Commit](https://img.shields.io/github/last-commit/russoz-ansible/andebox)](https://github.com/russoz-ansible/andebox/commits/main)\n\n[![Build Status](https://github.com/russoz-ansible/andebox/actions/workflows/ci-tests.yml/badge.svg?branch=)](https://github.com/russoz-ansible/andebox/actions)\n[![docs](https://readthedocs.org/projects/andebox/badge/?style=flat)](https://andebox.readthedocs.io/en/latest/)\n[![codecov](https://codecov.io/gh/russoz-ansible/andebox/graph/badge.svg?token=D3TPI2PGU9)](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![andebox integration test demo](https://raw.githubusercontent.com/russoz-ansible/andebox/main/docs/images/term/integration.gif)\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"
}
        
Elapsed time: 2.23462s