I've submitted PEP 591 to the
PEPs repository.
This PEP proposes a "final" qualifier to be added to the ``typing``
module---in the form of a ``final`` decorator and a ``Final`` type
annotation---to serve three related purposes:
* Declaring that a method should not be overridden
* Declaring that a class should not be subclassed
* Declaring that a variable or attribute should not be reassigned
Discussion on the PEP happens here in typing-sig@. Minor things can be fixed directly as PRs.
Here is the full PEP draft:
A reference implementation exists in mypy, whose documentation is here:
https://mypy.readthedocs.io/en/stable/final_attrs.html (though the PEP takes precedence)