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/conf.py to increase the version number

    • edit the doc/themes/scikit-learn/layout.html 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 (see README in doc folder)

  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