At PyCon US in 2019, I reprised my talk "The Black Magic of Python Wheels",
originally presented at PyGotham 2018. I based this talk on
my three years of work on auditwheel
and the manylinux
platform, hoping to share some dark details of how the proverbial
sausage is made.
After this talk, I will be retiring from auditwheel
maintainership.
The Black Magic of Python Wheels
- Talk page, PyCon website
- Talk video, hosted on YouTube
- Talk slides (pdf download)
pythonwheels.com
- Simple
manylinux
wheelbuilding demo
Follow-up readings
- Linux Programmer's Manual: format of Executable and Linkable Format (ELF) Files
- The Linux Programming Interface: 42.3.2 "Symbol Versioning", pg. 870. (Note: all of chapter 42 would be a great resource on the topic! This is a great book.)
- ELF Symbol Versioning
- Linking to Older Versioned Symbols
- PLT and GOT - the key to code sharing and dynamic libraries
All the PEPs referenced in the talk
In increasing numeric order.
- PEP 376 "Database of Installed Python Distributions"
- PEP 426 "Metadata for Python Software Packages 2.0"
- PEP 427 "The Wheel Binary Package Format 1.0"
- PEP 513 "A Platform Tag for Portable Linux Built Distributions" (aka
manylinux1
) - PEP 571 "The
manylinux2010
Platform Tag"
Image licensing info
- Tree Cat Silhouette Sunset: Public Domain (CC0) @besshamiti
- Happy Halloween! (Costume Dog): Public Domain (CC0) @milkyfactory