Release Process
Releases are published by the GitHub Actions workflow in
.github/workflows/release.yml.
To publish to PyPI:
Ensure the release commit is on
main.Create and push a version tag that starts with
v, for examplev0.1.0.The release workflow checks that the tag points to a commit reachable from
main, builds a wheel, installs and tests it on the latest supported Python version, and uploads it to PyPI.
To test a release against TestPyPI, run the Release workflow manually with the same tag and set
test_pypi to true. For automatic tag-push releases, set the GitHub repository variable
RELEASE_TEST_PYPI to true before pushing the tag. Manual runs still require the tag to point to
a commit on main.
The workflow expects these GitHub repository secrets:
PYPI_API_TOKENfor uploads to PyPI.TEST_PYPI_API_TOKENfor uploads to TestPyPI.