- Update HISTORY.rst
- Update version number in
my_project/__init__.py
- Update version number in
setup.py
- Install the package again for local development, but with the new version number:
python setup.py develop
- Run the tests:
tox
- Use
restview
package to confirm long description will look nice on PyPI:
pip install restview
sudo restview --long-description --pypi-strict
- Commit the changes:
git add .
git commit -m "Release 1.2.0"
- Build the source distribution:
python setup.py sdist
- Test that the sdist installs:
mktmpenv
cd dist
tar xzvf my_project-1.1.0.tar.gz
cd my_project-1.1.0/
python setup.py install
<try out my_project>
deactivate
- Release on PyPI:
pip install -U wheel
python setup.py sdist upload
python setup.py bdist_wheel upload
- Test that it pip installs:
mktmpenv
pip install my_project
<try out my_project>
deactivate
- Tag the last git commit with the version number:
git tag -a 1.2.0
Put the same message as in HISTORY.rst.
- Push:
git push
- Push tags:
git push --tags
- Check the PyPI listing page to make sure that the README, release notes, and roadmap display properly. If not, use the
readme
package, installable off of PyPI, to determine why. - 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.