Inside the Cheeseshop:How Python Packaging Works
summary
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
chapters (26)
- 0:00Start
- 2:55How Python Packaging Works
- 4:27How do I get this to users?
- 5:06How do I find Python code?
- 5:19The Vaults of Parnassus
- 5:49How do I build this?
- 7:08Source Distributions
- 7:58Built Distributions
- 9:40The Python Package Index
- 10:14The Cheeseshop
- 10:33How can I specify dependencies?
- 12:08easy_install problems
- 12:37pip
- 13:08Application dependencies?
- 13:23requirements.txt
- 13:50Installing from PyPI is slow
- 14:07Trusting 3rd Party Domains
- 14:31PyPI begins hosting releases
- 14:54The Wheel Distribution
- 15:49twine
- 17:22Rewrite PyPI from scratch
- 18:56General care & maintenance
- 19:12Packaging is a little too easy
- 20:12Reproducible Environments
- 21:00Arbitrary code in setup.py
- 21:22The distutils/setuptools dance
related talks
32mInside the Cheeseshop: How Python Packaging Works
25mInside the Cheeseshop: How Python Packaging Works
36mPython Packaging from Init to Deploy
30mThe Evolutionary Saga of Python Packaging
23mExploring the Cheese Shop - What's in the Python Package Index?
02h 36mPython Packaging Demystified
44mNobody Expects the Python Packaging Authority
29mPIP Internals
