Release HOWTO

Test

Tests can be run via pytest:

$ pip3 install -r extra/requirements-test.txt
$ pytest -v tests

When preparing a release it is important to check that pyisbn works with all supported Python versions, and that the documentation for executing them is correct.

Prepare release

With the tests passing, do the following steps:

  • Update the version data in pyisbn/_version.py
  • Update NEWS.rst with any user visible changes
  • Commit the release notes and version changes
  • Create a signed tag for the release
  • Push the changes — including the new tag — to the GitHub repository
  • Create a new release on GitHub

Update PyPI

Create and upload the new release tarballs to PyPI using twine:

$ ./setup.py sdist bdist_wheel
$ gpg --detach-sign --armour dist/pyisbn-${version}.tar.gz
$ gpg --detach-sign --armour dist/pyisbn-${version}-*.whl
$ twine upload dist/pyisbn-${version}*

Fetch the uploaded tarballs, and check for errors.

You should also test installation from PyPI, to check the experience pyisbn’s end users will have.