SIGN IN SIGN UP

gh-105566: Deprecate unusual ways of creating `typing.NamedTuple` classes (#105609)

Deprecate creating a typing.NamedTuple class using keyword arguments to denote the fields (`NT = NamedTuple("NT", x=int, y=str)`). This will be disallowed in Python 3.15. Use the class-based syntax or the functional syntax instead.

Two methods of creating `NamedTuple` classes with 0 fields using the functional syntax are also deprecated, and will be disallowed in Python 3.15: `NT = NamedTuple("NT")` and `NT = NamedTuple("NT", None)`. To create a `NamedTuple` class with 0 fields, either use `class NT(NamedTuple): pass` or `NT = NamedTuple("NT", [])`.
A
Alex Waygood committed
ad56340b665c5d8ac1f318964f71697bba41acb7
Parent: fc8037d
Committed by GitHub <noreply@github.com> on 6/14/2023, 12:38:49 PM