Contributing

Yay you want to contribute! Here are a few rules.

This repository follows the WITH Madrid code guidelines. Specifically, this means that:

  • Git is managed using git-flow

  • You can format the code in any way you want as long as it matches the output of black and isort

  • Everything needs to be documented

Let’s go about those things.

Formatting

The code is formatted using black and isort that are “configured” at the root of this repo. While you can run the tools manually, it’s fairly simple to rely on Makefile shortcut. From the root of the repo you can simply:

make format

Writing documentation

The documentation is written using Sphinx and auto-built using RTD. You can have a look in the doc folder.

Every new feature should be documented!

Unit testing

The whole project should be testable and tested.

As it is a Django sub-app that needs to be integrated with some amount of configuration, the tests are displaced into the demo Django project (within this repo). In order to run the tests, you need to run them using the manage.py from the demo project, in a valid Python environment.

An easy way to run it, from the demo folder:

poetry run ./manage.py test my_app