================== Releasing Numexpr ================== :Author: Francesc Alted :Contact: faltet@gmail.com :Date: 2009-06-02 Following are notes useful for releasing Numexpr. Preliminaries ------------- - Make sure that ``RELEASE_NOTES.txt`` and ``ANNOUNCE.txt`` are up to date with the latest news in the release. - Check that ``release=True`` in ``numexpr/version.py``. - Do a commit and a push: $ git commit -a -m"Getting ready for release X.Y.Z" $ git push Testing ------- - Run the test suite in different platforms (at least Linux and Windows) and make sure that all tests passes. - Re-compile with MKL support and see if all tests passes as well. - Run all the benchmarks in ``bench/`` directory and see if the speed-ups are the expected ones. Packaging --------- - Make the tarball with the command: $ python setup.py sdist Do a quick check that the tarball is sane. Releasing --------- - Create a tag ``vX.Y.Z`` from ``master``. Use the next message: $ git tag -a vX.Y.Z -m "Tagging version X.Y.Z" - Push the tag to the github repo: $ git push $ git push --tags Uploading --------- - Upload it in the PyPi repository: $ python setup.py sdist upload $ python setup.py register Announcing ---------- - Update the release notes in the numexpr site: https://github.com/pydata/numexpr/wiki/Release-Notes - Send an announcement to the NumPy list and python-announce list. Use the ``ANNOUNCE.rst`` file as skeleton (or possibly as the definitive version). Post-release actions -------------------- - Edit ``numexpr/version.py`` to add the patch-level revision (i.e. X.Y --> X.Y.1). Set the `release` variable to False. - Create new headers for adding new features in ``RELEASE_NOTES.txt`` and empty the release-specific information in ``ANNOUNCE.txt`` and add this place-holder instead: #XXX version-specific blurb XXX# That's all folks! .. Local Variables: .. mode: rst .. coding: utf-8 .. fill-column: 70 .. End: