This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients dstufft, eric.snow, gvanrossum, hawkowl, ncoghlan, ned.deily, r.david.murray, serhiy.storchaka
Date 2017-10-13.01:27:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1507858050.05.0.213398074469.issue31742@psf.upfronthosting.co.za>
In-reply-to
Content
If a proposed standard library API is sufficiently stable that the folks proposing it are reluctant to emit a runtime warning about any remaining stability risks, then I think it's reasonable to expect them to propose it as non-provisional and accept the related backwards compatibility obligations.

We have past examples of our being able to cope with that approach, such as when contextlib.nested turned out to be broken at a design level, so we deprecated it, removed it, and replaced it with a combination of contextlib.ExitStack and native support for multiple context managers in with statements.

Framing that in different terms: with PEP 411 as currently written, the benefits of instability accrue to the API publisher and willing early adopters, while the costs appear as negative externalities affecting folks that would prefer not to care about the API at all until it is covered by the regular backwards compatibility guarantees.

This RFE proposes to internalise some of those costs (in the form of a required runtime warning for any future provisional APIs), such that API publishers ask themselves "Do I *really* need this whole API to be provisional? Can I restructure it so only selected clearly identifiable parts are provisional or private, and the rest are covered by regular stability guarantees?" and early adopters ask themselves "Do I really want to make this a *required* dependency? Perhaps I can make it optional somehow, so folks that aren't using these features won't get the warning?"
History
Date User Action Args
2017-10-13 01:27:30ncoghlansetrecipients: + ncoghlan, gvanrossum, ned.deily, r.david.murray, eric.snow, serhiy.storchaka, dstufft, hawkowl
2017-10-13 01:27:30ncoghlansetmessageid: <1507858050.05.0.213398074469.issue31742@psf.upfronthosting.co.za>
2017-10-13 01:27:30ncoghlanlinkissue31742 messages
2017-10-13 01:27:28ncoghlancreate