[Python-Dev] PEP 427: wheel (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Sat Feb 16 10🔞22 CET 2013


On Sat, Feb 16, 2013 at 2:21 PM, Daniel Holth <dholth at gmail.com> wrote:

#. Python scripts must appear in scripts and begin with exactly b'#!python' in order to enjoy script wrapper generation and #!python rewriting at install time. They may have any or no extension.

For compatibility with file encoding declarations, I believe this needs to be relaxed to starting with '#!python' in the source file encoding, rather than strictly b'#!python' (which will only be the case for ASCII compatible encodings).

My rationale is that installers are going to need to read the source file encoding for the scripts anyway, otherwise they may write the shebang line back out with the wrong encoding, potentially leading to decoding errors when attempting to run the script.

#. {distribution}-{version}.dist-info/METADATA is Metadata version 1.1 or greater (PEP 314, PEP 345, PEP 426) format metadata.

I suggest removing the PEP references here and simply saying "is Metadata version 1.1 or greater format metadata"

#. Wheel-Version is the version number of the Wheel specification. Generator is the name and optionally the version of the software that produced the archive. Root-Is-Purelib is true if the top level directory of the archive should be installed into purelib; otherwise the root should be installed into platlib. Tag is the wheel's expanded compatibility tags; in the example the filename would contain py2.py3-none-any. Build is the build number and is omitted if there is no build number.

I suggest breaking these out into separate bullet points (they're a bit hard to read as they stand)

Aside from those minor issues, the current version of the spec looks fine to me - upload those fixes and I will accept it. If we later need to define wheel 1.1 or 2.0 to handle additional situations, well, that's why it's a versioned format :)

Cheers, Nick.

-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia



More information about the Python-Dev mailing list