This project uses manual versioning in pyproject.toml.
- Update Dependencies:
- Check for dependency updates.
- Run
pip install .[dev,test,docs]to ensure environment is fresh.
- Run Checks:
-
ruff check . -
ruff format . -
pytest(ensure all pass) -
make -C docs html(ensure no warnings)
-
- Bump Version:
- Update
versioninpyproject.toml(e.g.,0.0.1). - Update
CHANGELOG.mdwith release date and summary. - Commit changes:
git commit -am "Bump version to X.Y.Z"
- Update
- Tag Release:
git tag vX.Y.Zgit push upstream maingit push upstream vX.Y.Z
- Verify CI/CD:
- Watch functionality of
ci.yml. - Watch
release.yml(triggered by tag). - PyPI Publishing: Verify the new version appears on PyPI (automated via Trusted Publishing).
- Watch functionality of
- Set Next Version:
- Update
pyproject.tomlto next dev version (e.g.,0.1.0.dev0). - Commit and push:
git commit -am "Back to dev" && git push upstream main
- Update
- Conda-Forge:
- Wait for the regro-cf-autotick-bot to open a PR on the feedstock.
- Merge the PR to update the conda package.