[Distutils] build system abstraction PEP, take #2

Robert Collins robertc at robertcollins.net
Tue Nov 17 12:34:51 EST 2015

On 18 November 2015 at 03:27, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Tue, 17 Nov 2015 15:24:04 +1300
> Robert Collins <robertc at robertcollins.net> wrote:
>> The programmatic interface allows decoupling of pip from its current
>> hard dependency on setuptools [#setuptools]_ able for two
>> key reasons:
>> 1. It enables new build systems that may be much easier to use without
>>    requiring them to even appear to be setuptools.
> And yet:
>> There are a number of separate subcommands that build systems must support.
> I wonder how desirable and viable this all is. Desirable, because you
> are still asking the build system to appear as setuptools *in some way*.
> Viable, because pip may some day need to ask more from setuptools and
> then third-party build tools will have to adapt and implement said
> command-line options, defeating the "abstraction".
> In other words, this PEP seems to be only solving a fraction of the
> problem.
>> The file ``pypa.json`` acts as neutron configuration file for pip and other
>> tools that want to build source trees to consult for configuration.
> What is a "neutron configuration file"?

Typo - neutral.

> Why is it called "pypa.json" and not the more descriptive
> "pybuild.json" (or, if you prefer, "pip.json")?
> "pypa", as far as I know, is the name of an informal group, not a
> well-known utility, operation or command.

I don't care about the name. As I don't want to be the arbiter of a
bikeshedding thing, the BDFL delegate can choose: until they do, I'm
going to stay with the current name to avoid edit churn.

>> bootstrap_requires
>>     Optional list of dependency specifications [#dependencyspec] that must be
>>     installed before running the build tool.
> How are the requirements gathered and installed? Using setuptools?

By whatever tool is consuming the build system. E.g. pip, or perhaps
conda. Or some new tool. How they do the install is not an
interoperability issue, and thus out of scope for the PEP.


Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud

More information about the Distutils-SIG mailing list