- [x] Checkout dev branch ``` git checkout dev ``` - [x] Update HISTORY.rst - [x] Commit the changes: ``` git add HISTORY.rst git commit -m "Changelog for upcoming release 0.1.1." ``` - [ ] Update version number (can also be minor or major) ``` bumpversion patch ``` - [ ] Install the package again for local development, but with the new version number: ``` python setup.py develop ``` - [ ] Run the tests: ``` tox ``` - [ ] Create package with new version ``` python setup.py sdist bdist_wheel ``` - [ ] If this is a new package, register it ``` python setup.py register -r test # test python setup.py register -r pypi # actual registration ``` - [ ] Dry run the release on TestPyPI ``` twine upload -r test dist/regressors-.tar.gz ``` - [ ] Push code and push tag ``` git push git push origin v0.0.2 # Whatever your version number is ``` - [x] Create pull request to merge dev to master - [x] If Travis passes, accept pull reqest - [x] Release on PyPI by uploading both sdist and wheel: ``` twine upload -r pypi dist/regressors-.tar.gz ``` - [x] Test that it pip installs: ``` mktmpenv pip install my_project deactivate ``` - [x] Check the PyPI listing page to make sure that the README, release notes, and roadmap display properly. If not, copy and paste the RestructuredText into http://rst.ninjs.org/ to find out what broke the formatting. - [ ] 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.