Maintainer / core-developer information

For more information see https://github.com/scikit-learn/scikit-learn/wiki/How-to-make-a-release

Making a release

  1. Update docs:

    • edit the doc/whats_new.rst file to add release title and commit statistics. You can retrieve commit statistics with:

      $ git shortlog -ns 0.998..
      
    • edit the doc/index.rst to change the ‘News’ entry of the front page.

  2. Update the version number in sklearn/__init__.py, the __version__ variable

  3. Create the tag and push it:

    $ git tag 0.999
    
    $ git push origin --tags
    
  4. create tarballs:

    • Wipe clean your repo:

      $ git clean -xfd
      
    • Register and upload on PyPI:

      $ python setup.py sdist register upload
      
  5. Push the documentation to the website. Circle CI should do this automatically for master and <N>.<N>.X branches.

  6. Build binaries using dedicated CI servers by updating the git submodule reference to the new scikit-learn tag of the release at:

    https://github.com/MacPython/scikit-learn-wheels

    Once the CI has completed successfully, collect the generated binary wheel packages and upload them to PyPI by running the following commands in the scikit-learn source folder (checked out at the release tag):

    $ pip install -U wheelhouse_uploader
    $ python setup.py sdist fetch_artifacts upload_all
    
  7. FOR FINAL RELEASE: Update the release date in What’s New