convert-named-tuple-functional-to-class (UP014)
Derived from the pyupgrade linter.
Fix is sometimes available.
What it does
Checks for NamedTuple
declarations that use functional syntax.
Why is this bad?
NamedTuple
subclasses can be defined either through a functional syntax
(Foo = NamedTuple(...)
) or a class syntax (class Foo(NamedTuple): ...
).
The class syntax is more readable and generally preferred over the
functional syntax, which exists primarily for backwards compatibility
with collections.namedtuple
.
Example
Use instead: