Contribute

We love contributions, so please feel free to fix bugs, improve things, provide documentation. These are the steps:

  • Create an issue and explain your feature/bugfix.

  • Wait collaborators comments.

  • Fork the project and create new branch from develop.

  • Make your feature addition or bug fix.

  • Add tests and documentation if needed.

  • Create pull request for the issue to the develop branch.

  • Wait collaborators reviews.

Running Tests

Use tox for running tests in each of the environments, also to run coverage and flake8 among:

# Run all tests.
$ tox

# Run with Python 3.11 and Django 4.2.
$ tox -e py311-django42

# Run a single test method.
$ tox -e py311-django42 -- tests/cases/test_authorize_endpoint.py::TestClass::test_some_method

We use Github Actions to automatically test every commit to the project.

Improve Documentation

We use Sphinx to generate this documentation. If you want to add or modify something just:

  • Install Sphinx (pip install sphinx sphinx_rtd_theme) and the auto-build tool (pip install sphinx-autobuild).

  • Move inside the docs folder. cd docs/

  • Generate and watch docs by running sphinx-autobuild . _build/.

  • Open http://127.0.0.1:8000 in a browser.