[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