On 7/1/12 6:52 AM, Daniel Holth wrote:
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.
Very nice.
I like how much information the file names provide. Do you think it would be
possible to add (optional) build numbers to the specification? At Enthought, we
make a Python distribution with access to a repository of binary eggs. When
regularly building third party eggs for downstream consumption, it's essential
to have build numbers in the file name since we need to fix bugs in our builds
while keeping the upstream version of the package itself the same. Linux
distributions have the same issue and put in build numbers into their package
file names.
I'm not sure I'd go so far as to force every .whl to have a build number in it,
but it would be great if we could figure out a way to have a compatible
convention that could include build numbers when needed.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig