[Distutils] wheel as a PEP
Daniel Holth
dholth at gmail.com
Fri Sep 21 18:59:19 CEST 2012
I intend to write up the wheel binary package format version 1.0 as a
Python PEP. The draft is at
https://docs.google.com/document/d/13B9mYo2WVDP42BYQFhWq71b9ZuMyAWhtilfwmasW5Z8/edit
It is quite similar to the spec as it has existed since July. I think
the best explanation is how it is installed:
Installing a wheel ‘distribution-1.0.py32.none.any.whl’
Unpack.
Parse distribution-1.0.dist-info/WHEEL.
Check that installer is compatible with Wheel-Version. Warn if
minor version is greater, abort if major version is greater.
If Root-Is-Purelib == ‘true’, unpack archive into purelib
(site-packages).
Else unpack archive into platlib (site-packages).
Spread.
Unpacked archive includes distribution-1.0.dist-info/ and (if
there is data) distribution-1.0.data/
Move each subtree of distribution-1.0.data/ onto its
destination path. Each subdirectory of distribution-1.0.data/ is a key
into sysconfig.get_paths(), such as
distribution-1.0.data/(config|purelib|platlib|scripts). See
http://docs.python.org/dev/packaging/setupcfg.html#resources
If applicable, update scripts starting with “#!python” to
point to the correct interpreter.
Update distribution-1.0.dist.info/RECORD with the installed paths.
Remove empty distribution-1.0.data directory.
Thanks,
Daniel Holth
More information about the Distutils-SIG
mailing list