Skip to content

Instantly share code, notes, and snippets.

@audreyfeldroy
Last active February 23, 2023 15:03
Show Gist options
  • Save audreyfeldroy/5990987 to your computer and use it in GitHub Desktop.
Save audreyfeldroy/5990987 to your computer and use it in GitHub Desktop.
My PyPI Release Checklist
  • Update HISTORY.md
  • Commit the changes:
git add HISTORY.md
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
  • Submit a pull request with the history and version number changes. Have it reviewed and merged.
  • Release on PyPI by uploading both sdist and 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
  • 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, 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.
@klieret
Copy link

klieret commented May 3, 2019

Great list! Suggestion for an additional check: Run twine check dist/* after python setup.py sdist to run some additional checks (for example that the markdown/rst on pypi will render properly etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment