Release process
***************

If substantial changes were made to the code:

1. Ensure any new modules have been added to setup.py's "packages"
   list

2. Ensure any new public interfaces have been added to the
   documentation

3. Ensure TableSet proxy methods have been added for new Table methods

Then:

1. All tests pass on continuous integration

2. The changelog is up-to-date and dated

3. The version number is correct in:
      * setup.py

      * docs/conf.py

4. Check for new authors: "git log --invert-grep --author='James
   McKinney'"

5. Run "python charts.py" to update images in the documentation

6. Tag the release: "git tag -a x.y.z -m 'x.y.z release.'; git push
   --follow-tags"

7. Upload to PyPI: "rm -rf dist; python setup.py sdist bdist_wheel;
   twine upload dist/*"

8. Build the documentation on ReadTheDocs manually
