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

Reply via email to