[Distutils] PEP 517 - a plan of action

Jeremy Kloth jeremy.kloth at gmail.com
Sun Aug 27 08:41:58 EDT 2017

On Sun, Aug 27, 2017 at 5:03 AM, Thomas Kluyver <thomas at kluyver.me.uk> wrote:
> I believe that the remaining questions are:
> - srcdir-on-sys.path
> - Notimplemented/Error (/None)
> Unfortunately, it's not clear to me what's the 'simplest' solution on
> either, and we can't easily change whichever decision we make. Nathaniel
> & Nick still disagree on srcdir-on-sys.path, I believe; I'm not sure how
> we resolve that.
> I still think the NotImplemented/Error issue is a prime example of
> bikeshedding. There clearly isn't one 'right' way to do it, because
> intelligent people continue to disagree about it. I'd like somebody to
> make the decision and end the argument, but I'm not sure who is 'above
> the fray' enough to be able to do that.

I just want to bring an additional point to the
NotImplemented(Error)/None debate.  It seems to me that this PEP is
akin to the DB-API (https://www.python.org/dev/peps/pep-0249/).  In
DB-API, structured exceptions *are* used, just defined by the drivers
themselves.  It doesn't seem to be any problem for the driver
implementations to provide them or for clients to handle them.

That said, I would also lean towards its approach towards optional
features.  To quote:

As with all DB API optional features, the database module authors are
free to not implement these additional attributes and methods (using
them will then result in an AttributeError) or to raise a
NotSupportedError in case the availability can only be checked at

Again, I see what is being developed here (PEP 517) as not that
different from what has already been done with DB-API (PEP 249).  If
databases can achieve consensus, I'm sure that build tools can too. :)

Jeremy Kloth

More information about the Distutils-SIG mailing list