- Pull the latest
master
branch git checkout -b v<version>_release
- Update all version references (
grep -rnI '<previous_version>'
)- setup.py
- docs/conf.py
- pymeasure/init.py
- Update CHANGES.txt with the changelog
- Push the changes up as a PR
- Verify that the builds complete
- Merge the PR
- Build the source packages
python setup.py bdist_wheel
python setup.py sdist
- Create a tagged release on GitHub
- Ensure twine is the latest version (
pip install -U twine
) - Check the distributions (
twine check dist/*
) - Upload the wheel and source distributions to the test server
twine upload --repository-url https://test.pypi.org/legacy/ dist/PyMeasure-<version>-py3-none-any.whl
twine upload --repository-url https://test.pypi.org/legacy/ dist/PyMeasure-<version>.tar.gz
- Verify the test repository: https://test.pypi.org/project/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
- Download the tarball and determine the sha256 checksum
wget -qO- https://github.com/pymeasure/pymeasure/archive/<version>.tar.gz | sha256sum
- 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