Developer Documentation

Release Checklist

The procedure is as follows because the version number is read from the git tag.

  1. Update version history

  2. Make sure you’re in a new venv or uninstall pybdsim from your current venv / pip.

  3. Locally tag the new version number on the last commit but don’t push the tag.

  4. Locally pip install pybdsim so if you were to import pybdsim you’d find this latest tag.

  5. Generate html manual and stash for later upload (cd docs; make html; cd build; tar -czf html.tar.gz html).

  6. Generate pdf manual (cd docs; make latexpdf; cp build/latex/pybdsim.pdf .) and commit.

  7. Delete old (local) tag.

  8. Add the same version number tag to the latest commit.

  9. Make sure if the dist directory exits that it’s empty (ignored on git - only local files).

  10. python -m build

  11. twine upload --repository testpypi dist/*

You can now uninstall pybdsim through pip again and download it from testpypi:

pip install --index-url https://test.pypi.org/simple/ pybdsim

Then you can test by importing it and using it. Afterwards, remove it.

  1. twine upload --repository pypi dist/*

Warning

Once a tag is pushed to pypi, it can never be deleted or replaced. Similarly for testpypi. Consider using v1.2.3-rc or v1.2.3-rc1, which will be recognised as a release candidate by pypi.

Annual Update

For the change of copyright year, change in the following places:

  • LICENCE.txt

  • docs/source/licence.txt

  • docs/source/conf.py