~/talk

Publishing & Maintaining Opensource Python Packages in PyPI

Talkat PyCon Philippines 2023 · 2023-02-25..02-26· [python]
links:none on file
slides:none on file

A concrete checklist that goes from minimal pyproject.toml and README to an automated release: set up tox test matrix to run pytest and mypy across supported Python versions, add pre-commit hooks for black isort and flake8, generate Sphinx docs and badges, track CHANGELOG and Manifest.in, run CI (GitHub Actions) to gate merges, publish via twine to test.pypi then PyPI on git tag, and verify uploads; examples show the exact commands, config files, and expected failing errors so maintainers know what to fix.

AI-written summary · about

  1. 0:00Start
  2. 3:50Scope
  3. 4:06Typical Package Structure
  4. 4:38Setup - README.md or .rst
  5. 5:56Setup.gitignore
  6. 7:21Setup -setup.py and pyproject.toml
  7. 8:11Setup - Summary
  8. 8:33Dev setup-requirements-dev.txt
  9. 8:54Dev setup-Summary
  10. 9:05Tox- Overview
  11. 13:36Tox - mypy
  12. 15:03Tox codecov
  13. 18:04Tox Summary
  14. 18:35Linters - Overview
  15. 18:57Linters - black
  16. 20:15Linters-isort
  17. 20:52Linters-configuring black and isort
  18. 21:17Linters - flake8
  19. 22:524. Linters adding it to tox
  20. 23:334. Linters.git-blame-ignore-revs
  21. 23:594. Linters Summary
  22. 24:38Docs - Sphinx + ReadTheDocs
  23. 26:45Docs License
  24. 27:39Docs - Badges
  25. 28:52Docs Summary
  26. 29:14Quick Recap
  27. 29:56Release Prep - Overview
  28. 30:30Release Prep - MANIFEST.in
  29. 30:48Release Prep - Automate Read The Docs
  30. 31:51Release Prep - Automate tests
  31. 33:206. Release Prep - Automate releases to PyPI
  32. 34:326. Release Prep - Release on PyPI Test server
  33. 35:206. Release Prep - Summary
  34. 35:45Actual Release
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.