[Distutils] PEP 516 nitpicks

Erik Bray erik.m.bray at gmail.com
Fri Apr 1 11:11:28 EDT 2016

Hi all,

I was just getting around to reading the latest published draft of PEP
516 and had a few minor nitpicks.  Sorry if this unhelpful, as I know
it's still being drafted and may change anyways.

"The programmatic interface allows decoupling of pip from its current
hard dependency on setuptools [2] able for two key reasons:"

The "able" at the end of this sentence seems out of place.


"The file pypa.json acts as a neutral configuration file for pip and
other tools..."

It's not clear to me what "neutral" means here?  From context I'm
pretty sure it means not specific to any build tool, but I think it's
distracting.  I also don't think it's entirely neutral since its
*absence* implies a specific build tool.


"The JSON has the following schema. Extra keys are ignored, which
permits the use of pypa.json as a configuration file for other related
tools. If doing that the chosen keys must be namespaced under tools"

This last part seems inconsistent.  It implies that additional keys
may be used for other tools, but that they must be under a "tools"
key.  Okay, but what does that imply for top-level keys not specified
by the schema?  Will they be ignored? Or should they be explicitly
disallowed in order to enable expansion of the format?


"As usual with processes, a non-zero exit status indicates an error."

The "As usual with processes" is somewhat *NIX-biased.  I think simply
stating the expectation is better: "Non-zero exit statuses are assumed
to indicate an error."  Of course, any program for which that does not
apply for some reason would have to have a wrapper around itself.


"Note that doing so will cause use operations like pip install -e foo to fail."

"use" -> "use of"?  Also, how will they fail?  Will pip still install
dependencies or roll those back too?


"develop [--prefix PREFIX]"

"flit develop --root /tmp/ --prefix /usr/local"

So does develop have a "--root" option or not?  (Maybe this is a moot
point if the interface is going to switch back to a Python API? It's
not clear to me what the last word was on that.)

That's all for now.  Thanks!

More information about the Distutils-SIG mailing list