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.