PEP 740 and PyPI: Bootstrapping Provenance for the Python Ecosystem
summary
PEP 740 defines how PyPI serves attestation objects (adestations) compatible with Sigstore and ties them to PyPI’s trusted publishing identities, with index changes merged and APIs live. GitHub Action pypi-publish can emit attestations today (enable add_attestations true); 18,000 projects configure trusted publishing, 14,000 published last year, ~400,000 files already uploaded via the flow, and index-side provenance objects are retrievable. Verification remains incomplete: installers need native crypto or a plugin, and pip currently can’t verify attestations by default.
AI-written summary · about
chapters (16)
- 0:00Introduction and background
- 1:26PEP 740 and PyPI overview
- 3:09Python packaging ecosystem explained
- 6:01Security as usability challenge
- 8:53Code signing usability issues
- 11:03Trusted publishing introduction
- 13:09How trusted publishing works
- 16:23Trusted publishing adoption stats
- 17:05From trusted publishing to provenance
- 19:10PEP 740 and Sigstore integration
- 20:36Current PEP 740 implementation
- 21:59Future adoption and ecosystem changes
- 22:40Verification challenges and next steps
- 25:48Extending PEP 740 capabilities
- 27:12Eliminating PyPI trust dependency
- 28:56Call to action and resources
related talks
29mAttestations: a new generation of signatures on PyPI
25mSigstore for Python Packaging: Next Steps for Adoption
36mWhere Does Your Software (Really) Come from?
19mSecuring Packages in npm, Homebrew, PyPI, Maven Central, and...
01h 21mSecure Python Packaging & Release Using Continuous Deployment
10mPyPI Supply Chain Security
47mPublishing & Maintaining Opensource Python Packages in PyPI
35mSecuring Python projects Supply Chain
