Contributing¶
Contributions and suggestions are very welcome. You can find the code on Github.
The project uses uv for dependency management.
Ruff is used for formatting and linting. Pyright is used for type-checking.
uv run ruff format --check
uv run ruff check
uv run pyright --warnings
The tests use Playwright to run browser-based tests.
uv run playwright install chromium
uv run pytest
The documentation is build using Sphinx.
uv run sphinx-build --fail-on-warning docs docs/dist
To preview and watch the documentation run
uv run sphinx-autobuild docs docs/dist -a --watch src --watch docs
The readme is built from README.md.tpl using code snippets from project files
with
uv run dev/build_readme.py
For user-facing changes, add an entry under the “Unreleased” heading to
.CHANGELOG.md.
Releases¶
To prepare a release:
git fetch && git checkout release/candidategit merge --ff-only origin/HEADSet the desired version in
./pyproject.tomlRun
uv lockUpdate
CHANGELOG.mdCommit the changes with the message
release: vX.Y.Zgit push
After main workflow is run the release workflow will publish the release.