PEP 696 (Type Defaults for Type Parameters) tracker
This issue is supposed to track when we can start to use type variable (etc.) defaults introduced in Python 3.13 (PEP 696 in typeshed. Support is needed in released versions of:
- [x] PEP accepted
- [ ] mypy (python/mypy#14851)
- [x] Basic support
- [ ] Full support
- [x] pytype (google/pytype#1597)
- [x] pyright
- [ ] pyre (optional)
- [ ] PyCharm (optional)
Please reference this issue as needed from other issues/PRs to collect places that we might want to update.
Type defaults are now usable as long as our tests don't choke. Full support still pending.
I checked off mypy since mypy 1.9.0 adds basic support. It's possible some advanced use cases won't work yet, but we should be OK to go ahead in many cases.
@rchen152 Could you give us a status for pytype or possibly a ticket to track?
I also marked pyre as optional for now. We don't have pyre tests and there doesn't seem to be a tracking ticket.
I opened https://github.com/google/pytype/issues/1597 for pytype. It looks like it should be relatively straightforward to make it so that pytype doesn't error on the new default argument, so that typeshed can use it; I'll try to get that done this week.
I opened google/pytype#1597 for pytype. It looks like it should be relatively straightforward to make it so that pytype doesn't error on the new
defaultargument, so that typeshed can use it; I'll try to get that done this week.
As of version 2024.3.19, pytype doesn't error on type parameter defaults in pyi files anymore, so typeshed should be able to start using them. (I'm still working on plumbing them through the rest of pytype.) Let me know if you run into any trouble.