Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Description
Feature or enhancement
logging.LoggerAdapter andlogging.StreamHandler are generic in typeshed but cannot currently be parameterised at runtime. This has been reported several times to typeshed as being quite painful for end users, since these are both classes that users like to subclass:
- logging.StreamHandler.stream is sys.stderr by default ; "SupportsWrite['str']" is too narrow typeshed#5680 (comment)
- Introduce generic logger type in loggeradapter typeshed#5954 (comment)
If you're a user of type hints, subclassing a class that's generic in the stub but not at runtime usually means that you have to do something horrible withif TYPE_CHECKING (e.g. seepython/typeshed#5954 (comment)).
The stubs for these classes have been fairly stable in typeshed for a while; I think it's unlikely that we'll ever want to make them non-generic again over at typeshed. I therefore propose that__class_getitem__ be added to these two classes in 3.11, so that they can be parameterised at runtime.
Cc.@vsajip for thelogging module.