Contributing¶
Pull Requests¶
- Limit each pull request to one idea only.
- Pull requests branches will be squashed and rebased on top of
master
. - Always add tests and docs for your code.
- No contribution is too small! Please submit as many fixes for typos and grammar bloopers as you can!
- Make sure your changes pass the CI checks.
- Once you've addressed review feedback, make sure to bump the pull request with a short note.
Developer Setup¶
A few nuggets of information about the project:
- This is a Python project.
- Depenedencies are managed with uv. Install the project with
uv sync
. - Tests can be run with
uv run pytest
. - Docs can be built with
uv run mkdocs build
(or, rebuilt continuously with a development server withmkdocs serve
). - Linting and formatting should be done with
ruff. That is,
uv run ruff check
anduv run ruff format
, respectively.
Releasing¶
-
Bump the version in the
pyproject.toml
. -
Create a git tag for that version, prefixing the version with a
v
character:git tag -a "v1.2.3" -m "Release v1.2.3"
-
Push the tag to GitHub and let the CI workflow do the rest:
git push
Note
The
v
version prefix signals to the CI script that this push should also be published to PyPI.