Metadata-Version: 2.4
Name: molecule
Version: 25.9.0
Summary: Molecule aids in the development and testing of Ansible roles
Author-email: Ansible by Red Hat <info@ansible.com>
Maintainer-email: Ansible by Red Hat <info@ansible.com>
License: MIT
Project-URL: changelog, https://github.com/ansible-community/molecule/releases
Project-URL: documentation, https://molecule.readthedocs.io/
Project-URL: homepage, https://github.com/ansible-community/molecule
Project-URL: repository, https://github.com/ansible-community/molecule
Keywords: ansible,roles,testing,molecule
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Software Development :: Bug Tracking
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ansible-compat>=25.1.4
Requires-Dist: ansible-core>=2.15.0
Requires-Dist: click<9,>=8.0
Requires-Dist: click-help-colors
Requires-Dist: enrich>=1.2.7
Requires-Dist: jsonschema>=4.9.1
Requires-Dist: Jinja2>=2.11.3
Requires-Dist: packaging
Requires-Dist: pluggy<2.0,>=0.7.1
Requires-Dist: PyYAML>=5.1
Requires-Dist: rich>=9.5.1
Requires-Dist: wcmatch>=8.1.2
Provides-Extra: docs
Requires-Dist: mkdocs-ansible>=24.3.0; extra == "docs"
Requires-Dist: linkchecker>=10.4.0; extra == "docs"
Provides-Extra: test
Requires-Dist: ansi2html>=1.8.0; extra == "test"
Requires-Dist: ansible-lint>=6.12.1; extra == "test"
Requires-Dist: ansible-navigator; extra == "test"
Requires-Dist: coverage[toml]; extra == "test"
Requires-Dist: docker>=7.1.0; extra == "test"
Requires-Dist: filelock>=3.9.0; extra == "test"
Requires-Dist: mypy; extra == "test"
Requires-Dist: pexpect<5,>=4.9.0; extra == "test"
Requires-Dist: pre-commit; extra == "test"
Requires-Dist: pydoclint; extra == "test"
Requires-Dist: pylint; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-mock>=3.10.0; extra == "test"
Requires-Dist: pytest-plus>=0.7.0; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: pytest-instafail; extra == "test"
Requires-Dist: requests!=2.32.0; extra == "test"
Requires-Dist: ruff; extra == "test"
Requires-Dist: toml-sort; extra == "test"
Requires-Dist: tox; extra == "test"
Requires-Dist: types-jsonschema; extra == "test"
Requires-Dist: types-pexpect; extra == "test"
Requires-Dist: types-pyyaml; extra == "test"
Provides-Extra: testinfra
Requires-Dist: pytest-testinfra>=8.1.0; extra == "testinfra"
Dynamic: license-file

# About Ansible Molecule

[![PyPI Package](https://img.shields.io/pypi/v/molecule)](https://pypi.org/project/molecule/)
[![Documentation Status](https://readthedocs.org/projects/molecule/badge/?version=latest)](https://ansible.readthedocs.io/projects/molecule)
[![image](https://github.com/ansible-community/molecule/workflows/tox/badge.svg)](https://github.com/ansible-community/molecule/actions)
[![Python Black Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
[![Ansible Code of Conduct](https://img.shields.io/badge/Code%20of%20Conduct-silver.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html)
[![Discussions](https://img.shields.io/badge/Discussions-silver.svg)](https://forum.ansible.com/tag/molecule)
[![Repository License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE)

Molecule is an Ansible testing framework designed for developing and testing
[Ansible](https://ansible.com) collections, playbooks, and roles.

Molecule leverages standard Ansible features including inventory, playbooks,
and collections to provide flexible testing workflows. Test scenarios can
target any system or service reachable from Ansible, from containers and
virtual machines to cloud infrastructure, hyperscaler services, APIs,
databases, and network devices. Molecule can also validate inventory
configurations and dynamic inventory sources.

Molecule encourages an approach that results in consistently developed
Ansible content that is well-written, easily understood and maintained.

Molecule supports only the latest two major versions of Ansible (N/N-1).

Once installed, the command line can be called using any of the methods
below:

```bash
molecule ...
python3 -m molecule ...  # python module calling method
```

# Documentation

Read the documentation and more at <https://ansible.readthedocs.io/projects/molecule/>.

# Get Involved

See the [Talk to us](https://ansible.readthedocs.io/projects/molecule/contributing/#talk-to-us) section of the documentation to ask questions, find help, and join the conversation.

For complete details, see the
[Ansible communication guide](https://docs.ansible.com/ansible/devel/community/communication.html).

If you want to get moving fast and make a quick patch:

```bash
$ git clone https://github.com/ansible-community/molecule && cd molecule
$ python3 -m venv .venv && source .venv/bin/activate
$ python3 -m pip install -U setuptools pip tox
```

And you're ready to make your changes!

# Authors

Molecule project was created by [Retr0h](https://github.com/retr0h) and
it is now community-maintained as part of the
[Ansible](https://ansible.com) by Red Hat project.

# License

The
[MIT](https://github.com/ansible-community/molecule/blob/main/LICENSE)
License.

The logo is licensed under the [Creative Commons NoDerivatives 4.0
License](https://creativecommons.org/licenses/by-nd/4.0/).

If you have some other use in mind, contact us.
