Skip to content

Packaging

Build inputs, distribution formats, and installed artifacts.
Choose a tag. Hold Command or Control to combine tags.

Source ready to distribute

 2 min A source release can include generated C, headers, and version data without requiring those artifacts to live in the original checkout.

Jul 10, 2017

Why not ZIP?

 1 min In the packaging discussion I favored ZIP’s mechanics and Python’s existing use of it; the source-distribution contract chose tar.gz.

Jun 15, 2017

Static Python

 7 min zippy: a PGO-built CPython with every C extension statically folded in, the application zipped onto the tail of the binary, and the interpreter treated as just another dependency.

Feb 2, 2015

Quotes for the next parser

 2 min A Distil build exposed two separate needs: keep the compiler argument together, and preserve the quotes inside its C macro value.

Aug 19, 2013

Building against the metadata

 5 min Distlib and Distil exposed the practical edges of a static Python build: incompatible local candidates, ZIP resources, changing schemas, and executable build steps.

Jul 10, 2013

A logo that was a glyph

 2 min Drawing the pyjs logo into a font, then losing it during conversion.

Oct 2, 2012

Relocatable Python with $ORIGIN

 3 min A runtime library path relative to the executable lets a built interpreter move as a tree—verified in the ELF policy and the loader’s result.

Sep 13, 2012

The shape of a successful build

 1 min Comparing file lists and sizes between successful builds can catch packaging regressions that exit codes never will.

Jan 28, 2011

A Dependency Edit Does Not Change an ABI

 1 min Changing package metadata changes what the package manager accepts; it does not establish that a compiled artifact can run against a new interpreter.

Sep 4, 2009
No matching items