![](https://secure.gravatar.com/avatar/8da8dda10fd391c6f5d50703c40699fb.jpg?s=120&d=mm&r=g)
On Sun, Aug 27, 2017 at 5:03 AM, Thomas Kluyver <thomas@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 run-time. 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