Skip to content

Instantly share code, notes, and snippets.

@skim0119
Forked from audreyfeldroy/pypi-release-checklist.md
Last active December 29, 2021 04:34
Show Gist options
  • Save skim0119/1ac2051ef4610a97fc04c1f14ebc8840 to your computer and use it in GitHub Desktop.
Save skim0119/1ac2051ef4610a97fc04c1f14ebc8840 to your computer and use it in GitHub Desktop.
My PyPI Release Checklist

Release Checklist

  • Update RELEASE.md - It should be in based on milestone description.
  • Commit the changes:
git add RELEASE.md
git commit -m "Changelog for upcoming release <version>"
  • Final check README and CONTRIBUTING.

Setup.py

  • Update version number (can also be minor or major)
    • Check if we need to upgrade REQUIRES_PYTHON or REQUIRED dependencies.
  • Update download_url in setup
  • Check if local installation can be done.

Test

  • Run the tests
  • Run the formatting
  • CI Check
python -m pytest
make all

Documentation and Website

  • Update version label on documentation
    • docs/conf.py
    • docs/documentation.rst
  • Update Sphinx
  • Update version label on website
- BEYOND THIS, EACH STEP SHOULD BE DONE IN SERIAL (STEP_BY_STEPS). -

Last Edit

  • Rebase the commit history (should be done by only one person) right before the PR.

Update

  1. Submit a pull request to private. Have it reviewed and merge.
  2. Push the merged branch (master/main) into the public repo.
  3. Mark the tag in a public repo. git push --tags
  4. Release on PyPI by uploading both sdist and wheel:
python setup.py sdist upload
python setup.py bdist_wheel upload

Final Check

  • Test that it pip installs
  • Check the PyPI listing page to make sure that the README, release notes, and roadmap display properly.
  • Edit the release-page on GitHub. Paste the release notes with a title for the release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment