- Update version number in
ludwig/globals.py
- Update version number in
setup.py
- Commit
- Tag the commit with the version number
vX.Y.Z
with a meaningful message - Push with
--tags
- If a non-patch release, edit the release notes
- Create a release for Pypi:
python setup.py sdist
- Release on Pypi:
twine upaload --repository pypi dist/ludwig-X.Y.Z.tar.gz
Ludwig follows Semantic Versioning. In general, for major and minor releases, maintainers should all agree on the release. For patches, in particular time sensitive ones, a single maintainer can release without a full consensus, but this practice should be reserved for critical situations.