[Distutils] the 'wheel' binary package format

Daniel Holth dholth at gmail.com
Sun Jul 1 07:52:34 CEST 2012


I got tired of waiting for lxml to compile over and over again, so I
invented a binary packaging format called 'wheel' (of cheese) that
uses Metadata 1.2 and .dist-info directories instead of .egg-info,
patched pkg_resources.py to be able to load .dist-info directories,
implemented "python setup.py bdist_wheel", and patched pip to be able
to install .whl files.

The gist of the spec is that it is a zip file with the .whl extension
containing the contents of 'purelib' for a distribution, plus a
Name-1.0.dist-info/ directory with the metadata files, plus
Name-1.0.data/subdir directories for scripts, platlib, packaging's
"categories", ...

My specification so far is at
https://docs.google.com/document/d/1mWPyvoeiqCrAy4UPNnvaz7Cgrqm4s_cfaTauAeJWABI/edit
and an lxml compiled for linux-x86-64 is at
https://docs.google.com/open?id=0BxHz5bC4iN5TN0VWTFNrZGtCbWs

http://bitbucket.org/dholth/distribute
http://github.com/dholth/pip
http://pypi.python.org/pypi/wheel

Perhaps it will be useful. The implementation is still pretty rough,
for example it does not check the architecture while installing, but
it could be a handy way to speed up repeated virtualenv builds.

Daniel Holth


More information about the Distutils-SIG mailing list