Contributors Guide

If you believe that you have found a bug, please search for an existing issue to see if it has already been reported. For simple changes, its ok to just submit a pull request without an issue.

Muchos Testing

Muchos has unit tests. To run them, first install required packages:

    pip install -r ./lib/requirements.txt

The following command runs the unit tests:

    nose2 -v -B

Before you submit a PR

If you are modifying any of the Python code in this project, please use Black to enforce that Python code found under the lib folder is formatted correctly. Before submitting a PR, please ensure that you have used Black to format the code with max line length set to 79 as below (it is to be run from the repo root):

black lib --line-length 79

The CI for this project runs tools to detect common coding issues with Python and Ansible files. Rather than wait for the CI to flag any issues with your work, please run the cibuild script on your dev machine, which in turn runs the following tools:

  • flake8 to validate that the Python code in the project conforms to known good practices.
  • Ansible-lint prior to submitting a PR. This will ensure that you align with known good practices. Please also review the guidance on false positives from Ansible-lint.

Please ensure that you address issues flagged by the above CI build script before creating a PR.


  • We welcome reviews from anyone. Any committer can approve and merge the changes.
  • Reviewers will likely have questions and comments. They may use terms such as those in RFC2119.