PyPI Release Process

  1. Update HISTORY.rst

  2. Commit the changes:

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

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

    python setup.py develop
    
  5. Run the tests:

    py.test
    
  6. Push the commit:

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

    git push --tags
    
  8. Wait for travis to finish running tests to make sure everything’s ok. Then release.

    make release
    
  9. Check the PyPI listing page to make sure that everything displays 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:

      pip install readme_renderer
      python setup.py check -r -s
      
  10. Edit the release on GitHub (e.g. https://github.com/mozilla/domain_utils/releases). Paste the release notes into the release’s release page, and come up with a title for the release.

  11. Make docs release available at https://readthedocs.org/projects/domain-utils/.