docs/pypi_release_checklist.rst
PyPI Release Checklist
======================
Before Your First Release
-------------------------
#. Register the package on PyPI:
.. code-block:: bash
python setup.py register
#. Visit PyPI to make sure it registered.
For Every Release
-------------------
#. Update HISTORY.rst
#. Commit the changes:
.. code-block:: bash
git add HISTORY.rst
git commit -m "Changelog for upcoming release 0.1.1."
#. Update version number (can also be patch or major)
.. code-block:: bash
bumpversion minor
#. Install the package again for local development, but with the new version number:
.. code-block:: bash
python setup.py develop
#. Run the tests:
.. code-block:: bash
tox
#. Push the commit:
.. code-block:: bash
git push
#. Push the tags, creating the new release on both GitHub and PyPI:
.. code-block:: bash
git push --tags
#. Check the PyPI listing page to make sure that the README, release notes, and roadmap display properly. If not, try one of these:
#. Copy and paste the RestructuredText into http://rst.ninjs.org/ to find out what broke the formatting.
#. Check your long_description locally:
.. code-block:: bash
pip install readme_renderer
python setup.py check -r -s
#. Edit the release on GitHub (e.g. https://github.com/audreyr/cookiecutter/releases). Paste the release notes into the release's release page, and come up with a title for the release.
About This Checklist
--------------------
This checklist is adapted from:
* https://gist.github.com/audreyr/5990987
* https://gist.github.com/audreyr/9f1564ea049c14f682f4
It assumes that you are using all features of Cookiecutter PyPackage.