The package version has a single source of truth in
rt_utils/_version.py. setup.py reads that value without importing the
package.
-
Update
rt_utils/_version.pyand merge the change intomain. -
Run the complete test suite.
-
Build and validate both distributions:
python -m build python -m twine check dist/* -
Install the wheel in a clean environment and confirm
rt_utils.__version__. -
Upload only the artifacts for the intended version to PyPI.
-
Tag the exact published commit as
v<version>. -
Create the matching GitHub release from that tag.
PyPI distributions cannot be replaced. Never tag or upload from an uncommitted or untested working tree.