This document outlines the process for creating a new release of SQLAlchemy-Utils.
- Access to the GitHub repository with push permissions
- PyPI account with API token for the project
uvpackage manager installedghCLI tool installed (optional, for GitHub releases)
-
Update CHANGES.rst
- Move items from "Unreleased changes" section to a new version section
- Follow the existing format:
X.Y.Z (YYYY-MM-DD) - Add a new "Unreleased changes" section
-
Update version in pyproject.toml
# Edit pyproject.toml and update the version field version = "X.Y.Z"
-
Commit the changes
git add CHANGES.rst pyproject.toml git commit -m "Bump version to X.Y.Z" git push origin master
git tag -a X.Y.Z -m "Release version X.Y.Z"
git push origin X.Y.Z-
Build the package
uv build
-
Publish to PyPI
uv publish --token pypi-your-api-token-here
Alternatively, set the token as an environment variable:
export UV_PUBLISH_TOKEN="pypi-your-api-token-here" uv publish
gh release create X.Y.Z --title "X.Y.Z" --notes-from-tagOr create the release manually on GitHub using the tag.
This project follows Semantic Versioning:
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes