This repository uses versioneer and Git tags for versioning.
Important details for this repo:
- tags are plain version numbers like
1.0.2 - do not use a
vprefix unless the versioning setup is changed - PyPI publishing is triggered by pushing a tag
- Make sure your working tree is clean enough for release.
- Run the test suite.
- Build the package locally.
- Confirm the computed version looks correct.
- Create and push a Git tag for the release.
- Verify the GitHub Actions publish job succeeds.
Use:
python setup.py versionBecause this repo uses versioneer, the version is derived from Git tags.
If HEAD is already on the release tag, the version should resolve to that exact tag.
If HEAD is ahead of a tag, the version will include local version metadata.
Run tests:
pytestBuild the distributions:
python setup.py sdist bdist_wheelCreate the release tag:
git tag 1.0.3Push the branch and the tag:
git push origin main
git push origin 1.0.3Once the tag is pushed, GitHub Actions should publish the package to PyPI using the configured PYPI_TOKEN_TEEMI secret.
Publishing is controlled by:
The publish step runs only when the pushed ref is a tag.
The package can still be released with the existing build commands, but uv can be used for local environment management.
Example:
uv venv
source .venv/bin/activate
uv pip install -e .[dev]
uv run pytestIf uv becomes the standard developer workflow later, the release build steps can also be updated.
- Keep release tags consistent with the historical format already used in the repo.
- Avoid tagging from a dirty tree.
- If packaging metadata changes, test both install and build before tagging.