https://github.com/python/cpython/commit/b4db94865e21ce86eabb5d11d072670121ed6f86
commit: b4db94865e21ce86eabb5d11d072670121ed6f86
branch: main
author: Bartosz Sławecki <[email protected]>
committer: encukou <[email protected]>
date: 2026-07-28T12:27:31+02:00
summary:
gh-132604: Track deprecation related to runtime-checkable protocols (3.20)
(#154790)
* Track deprecation related to runtime-checkable protocols until 3.20
* Add deprecation note to 3.15 what's new
files:
M Doc/deprecations/pending-removal-in-3.20.rst
M Doc/whatsnew/3.15.rst
diff --git a/Doc/deprecations/pending-removal-in-3.20.rst
b/Doc/deprecations/pending-removal-in-3.20.rst
index 011565dfbb090d4..d771764502c9103 100644
--- a/Doc/deprecations/pending-removal-in-3.20.rst
+++ b/Doc/deprecations/pending-removal-in-3.20.rst
@@ -53,3 +53,12 @@ Pending removal in Python 3.20
* Creating instances of abstract AST nodes (such as :class:`ast.AST`
or :class:`!ast.expr`) is deprecated and will raise an error in Python
3.20.
+
+* :mod:`typing`:
+
+ * It is deprecated to call :func:`isinstance` and :func:`issubclass` checks
on
+ protocol classes that were not explicitly decorated with
:func:`!runtime_checkable`
+ but that inherit from a runtime-checkable protocol class.
+ This will raise a :exc:`TypeError` in Python 3.20.
+
+ (Contributed by Bartosz Sławecki in :gh:`132604`.)
diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst
index 250558dd1341a49..daac31fd7f4b17c 100644
--- a/Doc/whatsnew/3.15.rst
+++ b/Doc/whatsnew/3.15.rst
@@ -2317,6 +2317,13 @@ New deprecations
:func:`issubclass`, but warnings were not previously emitted if it was
merely imported or accessed from the :mod:`!typing` module.
+ * It is deprecated to call :func:`isinstance` and :func:`issubclass` checks
on
+ protocol classes that were not explicitly decorated with
:func:`!runtime_checkable`
+ but that inherit from a runtime-checkable protocol class.
+ This will raise a :exc:`TypeError` in Python 3.20.
+
+ (Contributed by Bartosz Sławecki in :gh:`132604`.)
+
* :mod:`webbrowser`:
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]