PyPI Release Checklist

Before Your First Release

  1. Register the package on PyPI:

    python -m flit build
    python -m flit publish
    
  2. Visit PyPI to make sure it registered.

For Every Release

  1. Update CHANGELOG.rst

  2. Commit the changes:

    git add CHANGELOG.rst
    git commit -m "Changelog for upcoming release 0.1.1."
    
  3. Update version number (can also be patch or major)

    bump-my-version bump minor
    
  4. Install the package again for local development, but with the new version number:

    python -m pip install --editable ".[dev]"
    
  5. Run the tests:

    tox
    
  6. Push the commit:

    git push
    
  7. Push the tags, creating the new release on both GitHub and PyPI:

    git push --tags
    
  8. Check the PyPI listing page to make sure that the README, release notes, and roadmap display properly. If not, try one of these:

    1. Copy and paste the RestructuredText into http://rst.ninjs.org/ to find out what broke the formatting.

    2. Check your long_description locally:

      python -m pip install flit twine
      python -m flit build
      python -m twine check dist/*
      

#. Edit the release on GitHub (e.g. https://github.com/bird-house/cookiecutter-birdhouse/releases). Paste the release notes into the release’s release page, and come up with a title for the release.

About This Checklist

This checklist is adapted from:

It assumes that you are using all features of Cookiecutter PyPackage.