Freeze all library dependencies in
setup.py. The version numbers can be a range with the upper limit being the latest known working version, and the lowest being the last known working version.
Add release notes to
CHANGELOG.rst. Also add last commit hash to changelog. List of commits can be obtained using
git shortlog <last release hash>..HEAD
Release to PyPi. (make sure you have run pip install wheel) First, test release with PyPI staging server as described in: https://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/
Once tested, run:
# remove stale files or wheel might package them rm -r build dist python setup.py sdist upload python setup.py bdist_wheel upload
- Tag release and make a GitHub release.
git tag -a v1.0.0 -m "Release 1.0.0" git push --tags
- Increment version number in
version-devto indicate the development cycle, commit, and push the changes.