<div class="gmail_quote">On Sun, Jul 1, 2012 at 1:52 AM, Daniel Holth <span dir="ltr">&lt;<a href="mailto:dholth@gmail.com" target="_blank">dholth@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I got tired of waiting for lxml to compile over and over again, so I<br>
invented a binary packaging format called &#39;wheel&#39; (of cheese) that<br>
uses Metadata 1.2 and .dist-info directories instead of .egg-info,<br>
patched pkg_resources.py to be able to load .dist-info directories,<br>
implemented &quot;python setup.py bdist_wheel&quot;, and patched pip to be able<br>
to install .whl files.<br>
<br>
The gist of the spec is that it is a zip file with the .whl extension<br>
containing the contents of &#39;purelib&#39; for a distribution, plus a<br>
Name-1.0.dist-info/ directory with the metadata files, plus<br>
Name-1.0.data/subdir directories for scripts, platlib, packaging&#39;s<br>
&quot;categories&quot;, ...<br>
<br>
My specification so far is at<br>
<a href="https://docs.google.com/document/d/1mWPyvoeiqCrAy4UPNnvaz7Cgrqm4s_cfaTauAeJWABI/edit" target="_blank">https://docs.google.com/document/d/1mWPyvoeiqCrAy4UPNnvaz7Cgrqm4s_cfaTauAeJWABI/edit</a><br>
and an lxml compiled for linux-x86-64 is at<br>
<a href="https://docs.google.com/open?id=0BxHz5bC4iN5TN0VWTFNrZGtCbWs" target="_blank">https://docs.google.com/open?id=0BxHz5bC4iN5TN0VWTFNrZGtCbWs</a><br>
<br>
<a href="http://bitbucket.org/dholth/distribute" target="_blank">http://bitbucket.org/dholth/distribute</a><br>
<a href="http://github.com/dholth/pip" target="_blank">http://github.com/dholth/pip</a><br>
<a href="http://pypi.python.org/pypi/wheel" target="_blank">http://pypi.python.org/pypi/wheel</a><br>
<br>
Perhaps it will be useful. The implementation is still pretty rough,<br>
for example it does not check the architecture while installing, but<br>
it could be a handy way to speed up repeated virtualenv builds.<br>
<span class="HOEnZb"></span><br></blockquote></div><br>While I haven&#39;t studied the spec in detail yet, I just want to say &quot;hurray!&quot; for somebody Just Doing Something About It.  From a feature perspective, the only thing missing (IMO) would be the ability for pip to consume .egg and win32.exe&#39;s in order to provide a migration path.  Win32.exe-&gt;egg conversion code exists in easy_install, and converting eggs to wheels should be straightforward  as well, despite the mixed metaphor.  ;-)<br>
<br>Btw, looking at the packaging docs cited in the spec, I&#39;m confused about something: it&#39;s not clear to me what resource category most data files would be placed in, if they are actually application code.  For example, a ZCML spec file is not editable and would thus not properly go into &quot;config&quot;.  ZPT files (or for that matter, most other HTML templating language files) aren&#39;t data in any meaningful sense, either.  So what *is* the correct category for such *code* files which are part of the library or application, yet which are not Python modules?  The doc provides no guidance on this point.<br>
<br>