Contributing Guidelines

First off, thanks for considering to contribute to this project!

These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Git hooks

We use git hooks through pre-commit to enforce and automatically check some “rules”. Please install it before to push any commit.

See the relevant configuration file: .pre-commit-config.yaml.

Code Style

Make sure your code roughly follows PEP-8 and keeps things consistent with the rest of the code:

  • docstrings: sphinx-style is used to write technical documentation.

  • formatting: black is used to automatically format the code without debate.

  • sorted imports: isort is used to sort imports

  • static analysis: flake8 is used to catch some dizziness and keep the source code healthy.

Branching

We have some branches that we use for our workflow:

  • master: main branch. Avoid pushing push commits directly to this branch and prefer to use branch and pull requests.

  • gh-pages: static website for the documentation hosted on GitHub Pages. It’s a read-only branch. To edit documentation, please modify files into the docs folder but do not edit on this branch.