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]

Reply via email to