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
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
pip install Django pip install -r requirements.txt
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 # Do not try to update setuptools to the latest release, which dropped python 3.3 support setuptools<=39
pytest-django will trigger
pytest and all its dependencies. In addition,
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:
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
pip install tox tox .
This will execute all tests under all supported Python and Django versions. In addition, it will execute
to perform code style checks.