[Distutils] build system abstraction PEP, take #2

Antoine Pitrou solipsis at pitrou.net
Tue Nov 17 09:27:12 EST 2015


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"?

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.

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

Regards

Antoine.




More information about the Distutils-SIG mailing list