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
Document typeshed better: a mypy upgrade suddenly triggers new errors due to typeshed changes #7735
I just updated MyPy in Jinja, and had to ignore the return type of sum in one of my functions because MyPy started saying it wasn't compatible with the TypeVar I was using. pallets/jinja@a24df26
I see a recent change related to the return type of sum: #7578. Is this a bug in typeshed/mypy, or is there a better way I should be annotating that function in Jinja?
Is there any way to make this type of error more discoverable? I don't think most people would know to look at typeshed for this error. I wouldn't have known to use something from_typeshed unless I had posted here, I regularly forget that typeshed exposes some types, because it's not mentioned in Python's typing documentation or in mypy/typing-extensions/mypy-extensions.
The typing documentation is distributed over multiple sites, at the moment. There's also a lot of institutional knowledge that's onlyt written down in some issue discussions. https://typing.readthedocs.io is supposed to become a central documentation repository in the future, but there's nothing really there yet, unfortunately.
The author doesn't seem to be particularly active at the moment, though, so idk if it has a chance of getting merged.
And I agree with @srittau that it's much better to have this information in a centralised place rather than the mypy docs, and https://typing.readthedocs.io/ seems like the best place for this kind of thing.
It's been my plan for a long time now to get some of the definition from _typeshed into typing_extensions. (Maybe under typing_extensions.ext?). But time is finite. :(
changed the title [-]handling of `sum` return type changed[/-][+]Document typeshed better: a mypy upgrade suddenly triggers new errors due to typeshed changes[/+]on Jun 29, 2022
Activity
srittau commentedon Apr 28, 2022
The "correct" way to do this is to add a your own protocol and constrain
Vto that:But we should probably add
SupportsSumto_typeshedto make it a bit easier to use (and to not add it to the global namespace).AlexWaygood commentedon Apr 28, 2022
I'd prefer
SupportsAddas a name, but I agree.davidism commentedon Apr 28, 2022
Is there any way to make this type of error more discoverable? I don't think most people would know to look at typeshed for this error. I wouldn't have known to use something from
_typeshedunless I had posted here, I regularly forget that typeshed exposes some types, because it's not mentioned in Python's typing documentation or in mypy/typing-extensions/mypy-extensions.davidism commentedon Apr 28, 2022
If anyone involved in typing is going to be at PyCon sprints, maybe some documentation for typeshed would be a good sprint task.
srittau commentedon Apr 28, 2022
The typing documentation is distributed over multiple sites, at the moment. There's also a lot of institutional knowledge that's onlyt written down in some issue discussions. https://typing.readthedocs.io is supposed to become a central documentation repository in the future, but there's nothing really there yet, unfortunately.
AlexWaygood commentedon Apr 28, 2022
There's actually a nice mypy PR I reviewed the other day that would improve the situation a little bit:
The author doesn't seem to be particularly active at the moment, though, so idk if it has a chance of getting merged.
And I agree with @srittau that it's much better to have this information in a centralised place rather than the mypy docs, and https://typing.readthedocs.io/ seems like the best place for this kind of thing.
JelleZijlstra commentedon Apr 28, 2022
It would also be useful to distribute types like SupportsAdd in a .py package, maybe typing-extensions.
srittau commentedon Apr 28, 2022
It's been my plan for a long time now to get some of the definition from
_typeshedintotyping_extensions. (Maybe undertyping_extensions.ext?). But time is finite. :(AlexWaygood commentedon Apr 30, 2022
Something like this would also be helpful for guiding people to the likely source of the error in cases like this:
[-]handling of `sum` return type changed[/-][+]Document typeshed better: a mypy upgrade suddenly triggers new errors due to typeshed changes[/+]srittau commentedon Jul 11, 2026
I'm not sure there's anything actionable left here. (If there it, it should probably opened as a tighter issue.)