[Distutils] PEP for specifying build dependencies

Brett Cannon brett at python.org
Wed May 11 21:08:55 EDT 2016


On Wed, 11 May 2016 at 16:01 Nathaniel Smith <njs at pobox.com> wrote:

> On Wed, May 11, 2016 at 11:32 AM, Brett Cannon <brett at python.org> wrote:
> [...]
> > the file is for the project, not just the package(s) the project
> > contains ("package" is an overloaded term and I don't want to contribute
> to
> > that with the filename; I can live with the build details being in
> relation
> > to a package in the project and thus named [package], but other things
> that
> > may end up in this file might not relate to any package in the project).
>
> We went back and forth on the overloaded "package" name a bit while
> drafting too, and eventually just gave up and went ahead because it's
> not that important.
>
> To me this feels similar to situations I've encountered in the past,
> where I've spent a bunch of time debating between two things, and it
> turned out that the reason we couldn't agree was because both
> proposals were wrong and a third solution was much better :-).
>
> I still don't think the [package] name part is worth arguing about
> much, but throwing this out there in case it turns out to be that
> "third way" that suddenly makes everyone go "a-ha!":
>
> If you think about it, really the stuff in [package.build-system] is
> there to tell pip how to run the build system. It's associated with
> building the project/package, sure, but that's not what makes it
> special -- everything that goes in this file will be associated with
> building or developing the project/package: [tool.flit],
> [tool.coverage], [tool.pytest], [tool.tox], whatever. The build-system
> stuff could easily and comfortably have gone into
> [tool.pip.build-system] instead... *except* that we don't want it to
> be specific to pip, we want it to be a piece of shared/common
> configuration that's defined by a shared process (PEPs) and used by
> *multiple* tools. That's why it doesn't belong in [tool.pip].
>
> Or another way to put it, contrasting [tool.*] versus [package.*] is
> kinda weird, because those categories aren't actually contradictory --
> it's like having categories [red] versus [square].
>
> So, proposal: maybe we should rename the [package] namespace to
> something that reflects what distinguishes it from [tool], like:
>
>   [standard.build-system]
>
> or
>
>   [common.build-system]
>
> or
>
>   [shared.build-system]
>
>
or

    [base.build-system]

or

    [super.build-system]

I'm +1 on base, super, or common, +0 on standard, -0 on shared.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20160512/8d9cfb8c/attachment.html>


More information about the Distutils-SIG mailing list