Making a release as a maintainer

This document guides a maintainer through creating a release of the Jupyter console.

Clean the repository

Remove all non-tracked files with:

git clean -xfdi

This will ask you for confirmation before removing all untracked files. Make sure the dist/ folder is clean and does not contain any stale builds from previous attempts.

Create the release

  1. Set Environment variables

    Set environment variables to document current release version, and git tag:

    VERSION=4.1.0
    
  2. Update version number in jupyter_console/_version.py. Make sure that a valid PEP 440 version is being used.

  3. Commit and tag the release with the current version number:

    git commit -am "release $VERSION"
    git tag $VERSION
    
  4. You are now ready to build the sdist and wheel:

    python setup.py sdist --formats=gztar
    python setup.py bdist_wheel
    
  5. You can now test the wheel and the sdist locally before uploading to PyPI. Make sure to use twine to upload the archives over SSL.

    twine upload dist/*
    
  6. If all went well, change the jupyter_console/_version.py to the next release.

  7. Push directly on master, not forgetting to push --tags too.