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

Nick Coghlan ncoghlan at gmail.com
Thu Feb 27 13:10:09 CET 2014

On 27 February 2014 11:22, Marcus Smith <qwcode at gmail.com> wrote:
>> Calling it version 3 is a fine solution, and the spec has changed
>> enough from key/value 2.0 to json 2.0, and grown a year older, that
>> it's also appropriate to bump the version again.
> appropriate to bump? "key/value 2.0" was never a thing.
> I don't like switching to 3.0, unless we really have to.
> It looks odd from the outside.
> like we're switching gears again in some major way

Yeah, after chatting with Donald a bit, I think we can deal with it
without bumping the metadata version again (I think we could sell that
if we really had to, but I've been persuaded that isn't necessary at
this point).

1. Before reading a pydist.json file from a wheel file, check the
wheel version to be sure it's one that includes a valid pydist.json
file as part of the spec.
2/ Before reading it from a dist-info directory, check the layout
version there as well

While PEP 376 doesn't include a way to version dist-info directories,
we can add one in the same update that adds pydist.json to the
expected files list - the simplest way would be something like a
"LAYOUT" file with an incrementing number as its only contents (so PEP
376 would be considered layout 1, it's successor that adds pydist.json
layout 2, etc)

Coming up with an efficient sqlite backed install-time metadata
caching scheme or new metapath and path hook friendly metadata APIs
would be postponed for the time being, since those are both a long way
down our priority list at this point.


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

More information about the Distutils-SIG mailing list