Contributions to the ipuz library are very welcome.


Please create a new ticket in the issue tracker if you find an issue or if you have a suggestion for a new feature.

Contributing code

Code contributions should follow the PEP 8 style guide, include unit tests and update the documentation where needed.

You can install the necessary dependencies by running:

pip install -r dev-requirements.txt

Contributing documentation

You can update the documentation by making changes to the .rst files in the docs directory and running:

make html

After that you can view the HTML documentation by running:

open _build/html/index.html


You can run this library’s tests by running:

python -m unittest discover

You can run the tests in all supported Python version by running:


You can use coverage to check whether the tests adequately test the code.

Note that all tests run the public interface ( and ipuz.write) to ensure we test both of the following:

  • The functionality of any particular validation function.
  • Whether the exception is raised properly at the top-level.