I intend to write up the wheel binary package format version 1.0 as a Python PEP. The draft is at
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.