- Pull the latest
master
branch git checkout -b v<version>_release
- Update CHANGES.txt with the changelog
- Push the changes up as a PR
- Verify that the builds complete
- Merge the PR
- Fetch
master
, build and check the source packagespython -m pip install --upgrade build twine
python -m build
- Check the distributions (
twine check dist/*
, version will not yet be correct)
- Create a git tag in the format "vX.Y.Z"
- Build final packages and confirm the correct version number is being used
python -m build
- Check the distributions (
twine check dist/*
)
- Create a tagged release on GitHub
Official guide here.
- Upload the wheel and source distributions to the test server
python -m twine upload --repository testpypi dist/*
- Verify the test repository: https://test.pypi.org/project/PyMeasure
- Confirm that the installation works (best in a separate environment)
python -m pip install --index-url https://test.pypi.org/simple/ --no-deps pymeasure
- Upload to the real repository (
twine upload dist/PyMeasure-<version>*
) - Verify that the package is updated: https://pypi.org/project/PyMeasure
- Release to PyPI first (the feedstock pulls from there)
- Pull the latest
master
branch git checkout -b v<version>_release
- Get the SHA256 hash of the PyPI package at https://pypi.org/project/PyMeasure/#files
- Update recipe/meta.yml with the checksum and version number
- Push the changes up as a PR
- Verify that the builds complete
- Merge the PR