[Distutils] The PEP 426 defined metadata version will be metadata 3.0

Donald Stufft donald at stufft.io
Wed Feb 26 22:51:58 CET 2014


On Feb 26, 2014, at 4:48 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:

> 
> On 27 Feb 2014 04:00, "Donald Stufft" <donald at stufft.io> wrote:
> > >
> > > I will accordingly be updating the defined metadata version in PEP 426
> > > to 3.0, and including an explicit admonition to *never* include
> > > experimental metadata (whether in the base format or as part of an
> > > experimental extension) in the main pydist.json file. Experimental
> > > metadata should only ever appear in tool-specific files (which don't
> > > need to guarantee any kind of interoperability with other tools).
> > >
> > > In the meantime: please don't publish pydist.json files, use some
> > > other filename if you want to experiment with JSON based metadata in
> > > advance of the acceptance of PEP 426.
> > >
> > > Regards,
> > > Nick.
> >
> > This shouldn’t matter. Tools shouldn’t be trusting a pydist.json just because
> > one exists and the Wheel format should have a version bump before you
> > can start trusting them anyways.
> 
> It's post-install and *post PEP 426 acceptance* that concerns me. Once PEP 426 is accepted, we'll need a reliable way to distinguish pydist.json files in the standard format from these experimental prototypes.
> 
> Now, we could add some extra validity rules (such as "must come from a 1.1+ wheel file or a 2.0+ sdist"), but that seems fragile to me, since those markers likely won't be available once the package is installed.
> 
> By contrast, skipping straight to 3.0 will make it easy for tools to distinguish between files that are intended to be PEP compliant, and those that may contain data in formats based on an earlier draft.
> 
> That said, I guess another alternative is to handle it through parsing error fallbacks, and include a recommendation in PEP 426 that if pydist.json is missing or fails to parse correctly, they should fall back to checking for setuptools style metadata.
> 
> If Vinay is happy with that last option for handling the current bdist_wheel misbehaviour that would mean we could leave the metadata version alone, and just add the guidelines regarding publishing draft metadata and handling malformed or missing metadata.
> 
> Cheers,
> Nick.

Well I don’t really care if we do 3.0 or 2.0 it’s just a number. I just mean that you shouldn’t parse a pydist.json inside of a Wheel unless you know it’s inside of a Wheel with Wheel-Version: Whatever-We-Formally-Add-Pydistjson-To-Wheel in.

-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140226/3bf77750/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140226/3bf77750/attachment.sig>


More information about the Distutils-SIG mailing list