Development

This page describes Zeroless development process and contains general guidelines and information on how to contribute to the project.

Contributing

We welcome contributions of any kind (ideas, code, tests, documentation, examples, …).

General Contribution Guidelines

  • Any non-trivial change must contain tests.
  • All the functions and methods must contain Sphinx docstrings which are used to generate the API documentation.
  • If you are adding a new feature, make sure to add a corresponding documentation.

Code Style Guide

  • We follow PEP8 Python Style Guide.
  • Use 4 spaces for a tab.
  • Use 79 characters in a line.
  • Make sure edited file doesn’t contain any trailing whitespace.

Testing

Tests make use of the py.test framework and are located in the tests/ folder. However, we recommend the usage of tox as it will test our codebase against both Python 2.7 and 3.0.

To run individual tests:

$ py.test tests/test_desired_module.py

To run all the tests:

$ python setup.py test

Alternatively, you can use tox:

$ tox

All functionality (including new features and bug fixes) must include a test case to check that it works as expected, so please include tests for your patches if you want them to get accepted sooner.