These notes are for maintenance of the Git / PyPI source and releases, rather than the client library - if you are not a maintainer, you can skip this doc!
All the tasks we need to do, in order, when releasing a new version:
-
- Check the main branch — confirm all intended changes are merged and CI is green.
-
- Update
project.versioninpyproject.toml— note the new version number.
- Update
-
- Update
CHANGELOG.md— move the new version to the top, add the release date and future PyPI URL, and summarize user-visible changes.
- Update
-
- Install release tools — run
python -m pip install ".[release]".
- Install release tools — run
-
- Run tests and checks — run
python -m pytest tests/ -vandpre-commit run --all-files.
- Run tests and checks — run
-
- Commit and push release preparation — use a message such as
Prepare release 0.2.0, then confirm CI remains green.
- Commit and push release preparation — use a message such as
-
- Run
./publish.sh— it clears old artifacts, builds the sdist and wheel frompyproject.toml, validates them with Twine, and uploads them to PyPI. Twine prompts for credentials when needed.
- Run
The publish script derives artifact names from the build output, so it does not need a version-specific edit.