Steps to make a release Pull the most recent tags: git fetch --all --tags. Create a new branch from main, say release-vX.Y.Z where X.Y.Z is the new release number. Bump the version in hta/version.py. Versions must adhere to Semantic Versioning. Make a tag, git tag vX.Y.Z. Merge the release branch along with the tag into main through a PR git push --tags -u origin [branch_name] Install twine and build locally: pip install --upgrade twine build. Build the source distribution and wheel files: python3 -m build. Verify the new package can be installed using pip: In a new conda environment execute: pip install dist/HolisticTraceAnalysis-X.Y.Z.tar.gz Verify version of the new package: python -c 'import hta; print(hta.__version__)' Upload the release to PyPI: twine upload dist/* (requires PyPI account). Create a new release on this page on Github.