You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Non-runtime_checkable subclass of a runtime_checkable Protocol allows isinstance() #132604
Some previous discussion in #132596 (comment) . We may not want to change this behavior for compatibility reasons, but I think it's a bug so I'm at least opening the issue.
I agree that this behaviour seems buggy. I'd be open to deprecating it, but I do think it would need a deprecation period of several versions before we could outright remove it. This behaviour has existed since Python 3.8; I feel like it's almost certain that some project somewhere will be accidentally depending on it.
Activity
AlexWaygood commentedon Apr 16, 2025
I agree that this behaviour seems buggy. I'd be open to deprecating it, but I do think it would need a deprecation period of several versions before we could outright remove it. This behaviour has existed since Python 3.8; I feel like it's almost certain that some project somewhere will be accidentally depending on it.
gh-132604: Deprecate inherited runtime checkability of protocols (GH-…
encukou commentedon Feb 13, 2026
The PR is merged so I'll close the issue.
pythongh-132604: Deprecate inherited runtime checkability of protocols (
pythongh-132604: Deprecate inherited runtime checkability of protocols (
Merge branch 'main' into pythongh-132604-track-deprecation
gh-132604: Track deprecation related to runtime-checkable protocols (…
[3.15] gh-132604: Track deprecation related to runtime-checkable prot…
pythongh-132604: Track deprecation related to runtime-checkable proto…