- Install poetry.
- Run
poetry install --extras full
to create a virtual environment and install the dependencies. - If you're working on the documentation and need to build it locally, install the extra dependencies with
poetry install --with docs --extras full
. - Install pre-commit.
- Run
pre-commit install
to install pre-commit hooks.
- Fork the upstream repository and clone the fork locally.
- Install poetry, and install the project's dependencies with
poetry install --extras full
. - Install pre-commit by running
pre-commit install
. - Make whatever changes and additions you wish and commit these - please try to keep your commit history clean. 1. .. note:: 100% tests are mandatory.
- Once you are ready, add a PR in the main repo.
- Create a pull request to the main repository with an explanation of your changes. The title should follow the conventional commits convention.
The documentation is located in the /docs
directory and is built with ReST
and Sphinx. If you're unfamiliar with any of those,
ReStructuredText primer and
Sphinx quickstart are recommended reads.
We welcome contributions that enhance / improve the appearance and usability of the docs. We use a custom theme that inherits the PyData Sphinx Theme, which comes with a lot of options out of the box. If you wish to contribute to the docs style / setup, or static site generation, you should consult the theme docs as a first step.
To run or build the docs locally, you need to first install the required dependencies:
poetry install --with docs --extras full
Then you can serve the documentation with make docs-serve
, or build them with make docs
We welcome contributions that enhance / improve the content of the docs. Feel free to add examples, clarify text, restructure the docs etc., but make sure to follow these guidelines:
- Write text in idiomatic english, using simple language
- Keep examples simple and self contained
- Provide links where applicable
- Use intersphinx wherever possible when referencing external libraries
- Provide diagrams using mermaidjs where applicable and possible
- Update changelog.md
- Increment the version in pyproject.toml
- Commit and push.
- In GitHub go to the releases tab
- Pick "Draft a new release"
- Give it a title and a tag, both
vX.X.X
- Fill in the release description, you can let GitHub do it for you and then edit as needed.
- Publish the release.
- Look under the action pane and make sure the release action runs correctly