<p dir="ltr"><br>
On 25 Mar 2015 07:35, "Robert Collins" <<a href="mailto:robertc@robertcollins.net">robertc@robertcollins.net</a>> wrote:<br>
><br>
> This is a break-out thread from the centi-thread that spawned about<br>
> setup-requires.<br>
><br>
> d2to1 defined some metadata keys in setup.cfg,in particular 'name' and<br>
> 'requires-dist'. Confusing 'requires-dist' contains the<br>
> 'install_requires' one might use with setuptools' setup() function.</p>
<p dir="ltr">That particular name comes from PEP 345: <a href="https://www.python.org/dev/peps/pep-0345/">https://www.python.org/dev/peps/pep-0345/</a></p>
<p dir="ltr">Extending d2to1 to accept "install-requires" as meaning the same thing as the existing "requires-dist" (and complaining if a setup.cfg file contains both) would make sense to me, as it provides a more obvious migration path from setuptools, and pairs up nicely with a new "setup-requires" section for setup.py dependencies.</p>
<p dir="ltr">(It also occurs to me that we should probably ask the d2to1 folks if they'd be interested in bringing the project under the PyPA banner as happened with setuptools, distlib, etc. It's emerged as a key piece of the transition from Turing complete build process customisation to static build metadata configuration)</p>
<p dir="ltr">> Since the declarative setup-requires concept also involves putting<br>
> dependencies in setup.cfg (but setup_requires rather than<br>
> install_requires), I followed the naming convention d2to1 had started.<br>
> But - all the reviewers (and I agree) think this is confusing and<br>
> non-obvious.<br>
><br>
> Since d2to1 is strictly a build-time thing - it reflects the keys into<br>
> the metadata and thus your egg-info/requires.txt is unaltered in<br>
> output, I think its reasonable to argue that we don't need to be<br>
> compatible with it.<br>
><br>
> OTOH folk using d2to1 would not gain the benefits that declarative<br>
> setup-requires may offer in setuptools // pip.</p>
<p dir="ltr">As the converse of the above, I think pip should also accept the PEP 345 defined "requires-dist" as equivalent to "install-requires" (and similarly complain if a file defines both, but in pip's case, only emitting a warning and then treating them as a single combined section)</p>
<p dir="ltr">> What do folk think?</p>
<p dir="ltr">To summarise my view: I think it makes the most sense to use setuptools inspired section names, and teach d2to1 about them, while also having pip understand the existing PEP 345 defined section name.</p>
<p dir="ltr">Cheers,<br>
Nick.</p>
<p dir="ltr">><br>
> -Rob<br>
><br>
> --<br>
> Robert Collins <<a href="mailto:rbtcollins@hp.com">rbtcollins@hp.com</a>><br>
> Distinguished Technologist<br>
> HP Converged Cloud<br>
> _______________________________________________<br>
> Distutils-SIG maillist  -  <a href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/distutils-sig">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
</p>