[Distutils] the 'wheel' binary package format
Daniel Holth
dholth at gmail.com
Mon Jul 2 00:55:43 CEST 2012
On Sun, Jul 1, 2012 at 4:50 PM, PJ Eby <pje at telecommunity.com> wrote:
> On Sun, Jul 1, 2012 at 2:26 PM, Daniel Holth <dholth at gmail.com> wrote:
>>
>> I'm convinced that data that the code really needs at runtime should
>> continue to go right next to the .py files as usual. Time will tell as to
>> the utility of .data. I think .data will make Debian maintainers happy.
>>
>> The new setup command bdist_wheel does exactly the task of converting
>> egg-info to dist-info. It just doesn't understand prebuilt eggs.
>
>
> Well, if you do that conversion on the EGG-INFO directory of an .egg file,
> then you'll have a wheel. At least, if I understand your spec correctly.
> (Since .egg contains just the code and static files.) All you need to do is
> get the egg's platform info and Python version from its filename; everything
> else is in .egg-info. The full spec is here:
>
> http://peak.telecommunity.com/DevCenter/EggFormats
>
> But basically, it's just going to be just convert EGG-INFO to
> Projectname.dist-info. The actual layout of the rest of the zipfile is
> essentially unchanged.
Yes. You have to use Metadata 1.2 (list requirements with
Requires-Dist:) and PKG-INFO has been renamed to METADATA by the
distutils-sig for whatever reason. The WHEEL file lets an installer
complain when the next version of the format is invented.
Once it is installed into site-packages it is not a wheel anymore, it
is just a PEP-compliant Python distribution.
> (Heck, add .whl support to pkg_resources, and wheels will have all the
> advantages of eggs as well. Though, for that to work under 3.x some of the
> stub file stuff would have to be changed as well.)
The pkg_resources in the patched distribute this requires already
understands the unpacked format. This would be a good small project.
More information about the Distutils-SIG
mailing list