- 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
restviewpackage 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
readmepackage, 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.