[Distutils] Upcoming changes to PEP 426/440

Daniel Holth dholth at gmail.com
Fri Jul 19 19:18:29 CEST 2013


On Fri, Jul 19, 2013 at 11:23 AM, Vinay Sajip <vinay_sajip at yahoo.co.uk> wrote:
>
>
>>
>> I would really like to see one more level of nesting:
>>
>> requires : { run : [ ... ], test : [ ... ] }
>>
>
>
> I've already changed distlib's code several times as the spec has evolved, and would like not to see any more changes so that I can concentrate on some real work ;-)
>
> Seriously, what's currently there now works OK, and the code is fairly simple. I had suggested a variant with even less nesting - one single "requires" list with each entry as it is currently, but having an additional "kind" key with value ":run:", ":test:" etc. This has the merit that you can add additional kinds without major changes, while processing code can filter the list according to its needs at the time. This was shot down by Donald on the basis that it would make things too complicated, or something. Seems a simpler organisation, to me; any argument about additional time to process is unlikely to be a problem in practice, and there are no numbers to point to any performance problems. Currently, with pip, you have to download whole archives while doing dependency resolution, which takes of the order of *seconds* - *minutes* if you're working with Zope/Plone. Doing it in tens/hundreds of milliseconds is sheer luxury :-)

Either your proposal or mine would work out to be about the same. The
advantage is that it helps people to conceptualize them as four
instances of the same thing instead of four different kinds of things
and it makes it easier to write a forwards-compatible implementation
without looking for keys ending in _requires. It would also make the
documentation significantly shorter.


More information about the Distutils-SIG mailing list