Release ProcessΒΆ

  1. Checkout the current master branch, with a clean working directory.

  2. Modify the CHANGELOG.rst to include changes made since the last release and update the section header for the new release.

  3. Bump the version in packaging/__about__.py

  4. Install the latest setuptools, wheel and twine packages from PyPI:

    $ pip install --upgrade setuptools wheel twine
    
  5. Ensure no dist/ folder exists and then create the distribution files:

    $ python setup.py sdist bdist_wheel
    
  6. Check the built distribution files with twine:

    $ twine check dist/*
    
  7. Commit the changes to master.

  8. If all goes well, upload the build distribution files:

    $ twine upload dist/*
    
  9. Create a release on GitHub and include the artifacts uploaded to PyPI.

  10. Bump the version for development in packaging/__about__.py and CHANGELOG.rst.

  11. Notify the other project owners of the release.