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.
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
.
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.
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 thedocs
folder but do not edit on this branch.