How to contribute¶
Prerequisites¶
Mandatory¶
Optional¶
Install the optional prerequisites¶
- If you installed mise, you can simply run:
Hack¶
- run
make setup-venvso thatuvinits a virtual environment with required dependencies (same asuv sync)
Update the dependencies¶
Run make upgrade-dependencies, this is the same as uv sync --upgrade.
Code¶
- run
make testto launch unit tests - run
make lintto launch linters - run
make integration-teststo launch the integration tests
Documentation¶
- run
make serve-docsto preview the documentation locally (live reload) - run
make build-docsto build the static site
The documentation is written with MkDocs and the
Material theme, following the
Diátaxis framework. It is published to GitHub Pages on
every push to main.
Pre-Commit¶
- If you want to run pre-commit before each commit, run once
make precommit-install - If you don't want to configure a pre-commit hook (your choice, pre-commit is run by the CICD anyway), you can run it when you want, use
make precommit-run
Configure your editor¶
VSCode¶
- It's a good idea to install the EditorConfig for VSCode extension
- Your
settings.json(user or workspace or project) should contain:
{
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll": "explicit"
}
},
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
}
Others¶
- Feel free to contribute any other editor configuration