
=================
Release Checklist
=================

1. Check that *packages* argument of setup() is correct. Check with:

   >>> import setuptools
   >>> sorted(setuptools.find_packages('.', exclude=['tests']))

2. Make sure correct version number is set in the following files:

   datatest/__init__.py
   docs/conf.py

3. Make sure __past__ sub-package includes a stub module for the
   current API version.

4. Update README.rst (including "Backward Compatibility" section).

5. Commit and push final changes to upstream repository:

     Prepare version info, CHANGELOG, and README for version X.X.X release.

6. Perform final checks to make sure there are no CI test failures.

7. Remove all existing files in the dist/ folder.

8. Build new distributions:

   python setup.py sdist bdist_wheel

9. Upload source and wheel distributions to PyPI:

   twine upload dist/*

10. Double check PyPI project page and test installation from PyPI.

11. Add version tag to upstream repository (also used by readthedocs.org).

12. Iterate version number in repository indicating that it is a development
    version (e.g., X.X.X.dev0) so that "latest" docs aren't confused with the
    just-published "stable" docs:

    datatest/__init__.py
    docs/conf.py

    Commit these changes with a comment like the one below:

      Iterate version number to differentiate development version
      from latest release.

13. Publish update announcement to relevant mailing lists:

  python-announce-list@python.org
  testing-in-python@lists.idyll.org
