- Install release requirements: pip install wheel twine
- Build the project: python setup.py sdist bdist_wheel
- Verify the packages: twine check dist/*
- Test the upload to PyPI: twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- Test install: pip install -i https://test.pypi.org/simple/ timehash
- Upload to PyPI: twine upload dist/*