Create a PR to the RELEASE_next_patch
branch and go through the following steps:
Preparation
- Prepare the release by running the
prepare_release.py
python script (e.g.python prepare_release.py 2.0.1
) , which will do the following:- update the release notes in
CHANGES.rst
by runningtowncrier
, - update the
setuptools_scm
fallback version inpyproject.toml
.
- update the release notes in
- Check release notes
- For a minor or major release, update the versioned documentation repository and documentation version switcher according to the instruction in the developer guide
- (optional) check conda-forge and wheels build. Pushing a tag to a fork will run the release workflow without uploading to pypi
- Let that PR collect comments for a day to ensure that other maintainers are comfortable with releasing
Tag and release
- push tag (
vx.y.z
) to the upstream repository and the following will be triggered:- build of the wheels and their upload to pypi
- creation of a zenodo record and the mining of a DOI
- creation of a Github Release
- update of the current version on readthedocs to this release
Post-release action
- Merge the PR
- Tidy up and close corresponding milestone
- A PR to the conda-forge feedstock will be created by the conda-forge bot
The version is defined by setuptools_scm
at build time when packaging HyperSpy. In an editable installation (when using pip install -e .
), the version is defined from the
git repository.