Closed anowacki closed 7 months ago
This checklist should be completed for every release of terratools
python -m pip install .
, then run from another directory)terratools-Major.Minor
)terratools/version.py
)changelog.txt
with major changes since the last release.setup.py
(if necessary, probably only Python versions need checking (as we've checked the installation works above), but might be worth checking that sudo python setup.py sdist bdist_wheel
works without errors)terratools/__init__.py
docs/index.rst
Readme.md
terratools-Major.Minor
(not main
)terratools-Major.Minor
branchmain
first so that ReadTheDocs finds the new release tag)python3 -m build
2) twine check dist/*
(to check zip and wheel)
3) twine upload --repository-url https://test.pypi.org/legacy/ dist/*
(to test upload, can get password from the pypi website)
4) twine upload dist/*
(the final upload to Pypi)terratools-Major.Minor
branch to main
version.py
on upstream main
version=[Major].[Minor+1].0pre
short_version=[Major].[Minor+1].0
[Edited by AN master
-> main
to avoid future confusion.]
Wow, comprehensive! A lot of the effort seems to be Zenodo-related. Maybe we don't need to do the Zenodo stuff every time? Or can that be automated? What about patch releases?
Does ReadTheDocs have a generic 'latest' URL to use rather than needing to update each time?
It still needs a few tweaks to make it appropriate for terratools. The whole procedure should take about 2 hours.
The zenodo stuff provides a unique DOI for each version. We don't need to do it, but once it's done once it doesn't take very long to update. I don't think zenodo provides an API to automate this, but I could be wrong.
Yes, readthedocs automatically updates the docs from main, and any other branches we choose. The additional work above makes sure that there are docs for each released version, because the development branch may have different tools from the pypi release.
Wait on next milestone
v1.0.0 is now on PyPi and we have a DOI through Zenodo: 10.5281/zenodo.10797185.
Thanks for the checklist Bob, I would have been very lost without it. I will close the issue but will certainly be referring back to this whenever we need to advance a version again.
We should upload our package to PyPI so it can be
pip install
ed easily (including with Anaconda).