~/talk

Inside the Cheeseshop:How Python Packaging Works

Talkat PyGotham 2018 · 2018-10-05..10-06· [python, open-source]
slides:none on file

Historical walkthrough shows how Python moves from ad hoc archives to a secure index: setup.py and distutils introduce source and built distributions, setuptools adds dependency metadata and easy_install creates eggs, pip abandons eggs and uses source installs while supporting wheels (PEP 427) and pip for binary wheels, requirements.txt for app reproducibility, twine fixes plaintext upload, PyPI grows from <3,000 to >130,000 packages and is rewritten as Warehouse (launched 2018 with Mozilla funding) which largely succeeds at scale and security.

AI-written summary · about

  1. 0:00Start
  2. 2:55How Python Packaging Works
  3. 4:27How do I get this to users?
  4. 5:06How do I find Python code?
  5. 5:19The Vaults of Parnassus
  6. 5:49How do I build this?
  7. 7:08Source Distributions
  8. 7:58Built Distributions
  9. 9:40The Python Package Index
  10. 10:14The Cheeseshop
  11. 10:33How can I specify dependencies?
  12. 12:08easy_install problems
  13. 12:37pip
  14. 13:08Application dependencies?
  15. 13:23requirements.txt
  16. 13:50Installing from PyPI is slow
  17. 14:07Trusting 3rd Party Domains
  18. 14:31PyPI begins hosting releases
  19. 14:54The Wheel Distribution
  20. 15:49twine
  21. 17:22Rewrite PyPI from scratch
  22. 18:56General care & maintenance
  23. 19:12Packaging is a little too easy
  24. 20:12Reproducible Environments
  25. 21:00Arbitrary code in setup.py
  26. 21:22The distutils/setuptools dance
~/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.