Release Process

  1. Checkout the current main branch.

  2. Install the latest nox:

    $ pip install nox
    
  3. Manually update the changelog to list all unreleased changes. Also verify that no new changes were added to a previous release in an earlier PR due to merge/rebase issues.

  4. Run the release automation with the required version number (YY.N):

    $ nox -s release -- YY.N
    

    This creates a new tag for the release. It will tell you how to push the tag.

  5. Push the tag (command will be printed out in the last step).

  6. Run the ‘Publish’ manual GitHub workflow, specifying the Git tag’s commit SHA. This will build and publish the package to PyPI. Publishing will wait for any required approvals.

  7. Once it is approved and published to PyPI, add a release on GitHub. Changelog can be auto-generated, but compare with the official changelog too.

Note

Access that is needed for making the release are:

  • PyPI maintainer (or owner) access to packaging

  • push directly to the main branch on the source repository

  • push tags directly to the source repository