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

Nick Coghlan ncoghlan at gmail.com
Wed Feb 26 22:48:55 CET 2014

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
> 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140227/7bc23fcf/attachment.html>

More information about the Distutils-SIG mailing list