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 alex, barry, eric.araujo, gvanrossum, ncoghlan, pitrou, r.david.murray
Date 2017-11-11.23:57:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1510444656.84.0.213398074469.issue31975@psf.upfronthosting.co.za>
In-reply-to
Content
As far as documentation goes, there are the amendments I'm considering:

===================
exception DeprecationWarning

    Base class for warnings about deprecated features. Visible by default for APIs called from `__main__` modules and when using the unittest test runner. See :exc:`PendingDeprecationWarning` and :exc:`FutureWarning` to emit warnings for future backwards incompatible changes with different default visibility.

exception PendingDeprecationWarning

    Base class for warnings about features which will be deprecated in the future. Hidden by default, even for APIs called from `__main__` modules and when using the unittest test runner. See :exc:`DeprecationWarning` and :exc:`FutureWarning` to emit warnings for future backwards incompatible changes with different default visibility.

exception FutureWarning

    Base class for warnings about constructs that will change semantically or cease working in the future. Always visible by default, even for code in imported modules. See :exc:`PendingDeprecationWarning` and :exc:`DeprecationWarning` to emit warnings for future backwards incompatible changes with different default visibility.
===================

(I'd also add notes on default visibility to the other warning categories - ImportWarning, BytesWarning, and ResourceWarning are the other "hidden by default" categories)

DeprecationWarning gets the preferred name because it has the semantics we think we will like best for that use case (i.e. visible in __main__ and while running tests, hidden otherwise), while cross-referencing it with FutureWarning and PendingDeprecationWarning makes it clear Python developers are still free to opt-in to either the pre-2.7 behaviour or the pre-3.7 behaviour if that's what they prefer for the APIs they expose.
History
Date User Action Args
2017-11-11 23:57:36ncoghlansetrecipients: + ncoghlan, gvanrossum, barry, pitrou, eric.araujo, alex, r.david.murray
2017-11-11 23:57:36ncoghlansetmessageid: <1510444656.84.0.213398074469.issue31975@psf.upfronthosting.co.za>
2017-11-11 23:57:36ncoghlanlinkissue31975 messages
2017-11-11 23:57:36ncoghlancreate