On 17 March 2015 at 11:05, Donald Stufft
I would just implement it inside of Wheel. You’d technically be working on two PEPs at once, but I think the bare bones Wheel PEP is pretty simple. “All the same things as the last PEP, except with pydist.json”. More things could be added to the Wheel PEP of course, but that’s not related to PEP 426. Even if we don’t merge the Wheel parts (though we’d be able to merge the packaging parts for an in memory representation) immediately, it’d still give some idea about how well it’ll work. Using Wheel is a good target because that already uses a static file so it’s less of a change to get PEP 426 integrated there.
OK, cool. So bdist_wheel to write a pydist.json into the wheel, and then I guess wheel install (and pip) will just pick it up and dump it in the dist-info folder because they do that anyway. Sounds easy enough. Which only leaves the question of how users specify the metadata. My feeling is that anything that isn't already covered by arguments to setup() should be specified declaratively. That may be in setup.cfg, but ini format may be a PITA for some of the more structured data. I can have a think about that... Thanks, I'll work on this. What it means in practice will be that projects wanting to specify Metadata 2.0 data will be able to do so if they build wheels. Nothing will use that metadata, but that's OK. My aim was to pick off an easy target and look like I was helping without having to do any of the hard jobs ;-) Paul