Get involved

There is many way to contribute to project development.

Report issues, suggest enhancements

If you find a bug, want to ask question about configuration or suggest an improvement to the project, feel free to use the issue tracker. You will need a GitHub account.

Submit a pull request

If you improved something or fixed a bug by yourself in a fork, you can submit a pull request. We will be happy to review it before doing a merge.

Execute the unit tests

The project uses py.test with some plugins to perform unit testing. You can install most of them using pip. In addition, you will have to install a supported version of Django. This is not part of requirements.txt since the automatic tests are performed on various Django versions. To install all dependencies for unit tests execution, you can type:

pip install Django
pip install -r requirements.txt

The file requirements.txt contains references to the following packages:

flake8
pytest>=3.6
pytest-django
pytest-pythonpath
pytest-cov
requests
markdown
docutils
# JSON-RPC dropped Python 2 support with version 3.0
jsonrpcclient<3
six

Installing pytest-django will trigger pytest and all its dependencies. In addition, requests and jsonrpcclient are used in some tests. flake8 is used to control code quality and respect of PEP8 standards.

When all required packages are installed, you can run the tests using:

pytest .

Execute unit tests in all supported environments

Alternatively to simple pytest run, you may want to check if the tests run correctly in all supported configurations. To do so, you can install and run tox:

pip install tox
tox .

This will execute all tests under all supported Python and Django versions. In addition, it will execute flake8 to perform code style checks.