[Distutils] PEP for specifying build dependencies
Nick Coghlan
ncoghlan at gmail.com
Thu May 12 03:01:12 EDT 2016
On 12 May 2016 at 11:33, Donald Stufft <donald at stufft.io> wrote:
> I don't really think of it as package vs tool, I think of it as an implicit
> <standard stuff> vs an explicit <third party stuff>. I think it makes the
> file
> uglier to have the <standard stuff> explicit, particularly since I think the
> example should really be something like:
>
> [standard.package.build-system]
> requires = ["setuptools", "wheel"]
>
> [tool.flake8]
> ...
>
> Because the value of the [package] namespace isn't that it separates us from
> the [tool] namespace (we could get that easily without it), but that it
> separates us from *other*, non packaging related but "standard" stuff that
> might be added in the future.
In that case though:
1. semantics-version isn't about the package, it's about the
pyproject.toml file itself.
2. build-system feels like it could readily be top level as well,
regardless of what other sections we added later
That would make the example in the PEP
===============
semantics-version = 1 # Optional; defaults to 1.
[build-system]
requires = ["setuptools", "wheel"] # PEP 508 specifications.
===============
So I'm not clear on what the [package] namespace is buying us over
just having [build-system] as a top level namespace (it would be
different with a section name of "build" - for that, [package.build]
reads nicely, and you can mostly ignore that it creates a nested
namespace TOML. As noted elsewhere, I don't like "build" though -
we're not configuring the build, we're specifying what's needed to run
the build system in the first place).
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Distutils-SIG
mailing list