python / typeshed

Collection of library stubs for Python, with static types
Other
4.25k stars 1.72k forks source link

Consistency with `Final` usage in Standard Library Stubs #12311

Open max-muoto opened 1 month ago

max-muoto commented 1 month ago

Currently usage of typing.Final to indicate constants is mixed throughout the standard library (e.g. some newer stubs will utilize it potentially, but it's left out in other places) Has there been any discussion in the past of experimenting with applying Final to all UPPER_UNDER module stdlib constants?

I think class var constants would require a bit more context on usage, as it might be expected for subclasses to override them, but it could be worth starting with modules and gauging the impact from MyPy primer.

hauntsaninja commented 1 month ago

Not that I recall! I think worth experimenting. IIRC pyright implicitly marks these as final

max-muoto commented 1 month ago

Not that I recall! I think worth experimenting. IIRC pyright implicitly marks these as final

Yes, if you have the strictest settings enabled that is the case, but this doesn't apply to the default settings.

max-muoto commented 1 month ago

Put up a PR here: https://github.com/python/typeshed/pull/12318