PEP 800: Solid bases in the type system

The SC accepts PEP 800 (Disjoint bases in the type system). However, we want the text to clarify (at least) in the PEP’s abstract and the What’s New entry that this is not a feature for typical end users and that it is not recommend all classes be annotated even if they might be disjoint bases.

It’s clear to us that the notion of disjoint bases is important enough to be able to reflect in stub files and (rarely) in Python source, for interoperability and consistent symantics between type system interpretations. At the same time, we expect the way the PEP is currently written – with the practical use advice and the actual target audience not mentioned until the “How to Teach This” section – will lead to confusion among end users, especially those eager to apply type annotations in their code. A clear note in the PEP abstract, perhaps re-iterated at the end of the Motivation section, as well as clear communication in What’s New for Python 3.15 should alleviate these concerns.

13 Likes