[Distutils] setup_requires for dev environments

Donald Stufft donald at stufft.io
Tue Mar 17 12:38:14 CET 2015


> On Mar 17, 2015, at 7:33 AM, Paul Moore <p.f.moore at gmail.com> wrote:
> 
> On 17 March 2015 at 11:05, Donald Stufft <donald at stufft.io> wrote:
>> 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.

I would also modify pip to start using it as part of the validation of
this PEP (inside of a PR). That should “close the gap” and say “hey look
we have a Proof of Concept here of this all working”.

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

I would personally declare it inside of setup.py like everything else,
yea setup.py is gross and unfun in 2015, however I think having two
different locations for metadata inside of setuptools based on what era
of spec that metadata came from is going to be super confusing for end
users.

What PEP 426 + The Yet to be Done Wheel Spec To Update would mean is that
people can use something *other* than setuptools as their build tool for
building Wheels.

PEP 426 + The Yet to be Done Sdist 2.0 Spec starts paving the way for the
same thing in source distributions.

> 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

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

-------------- 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/20150317/ff7df2cd/attachment-0001.sig>


More information about the Distutils-SIG mailing list