Ruff convert-named-tuple-functional-to-class (UP014)

convert-named-tuple-functional-to-class в Ruff проверяет код на предупреждение UP014. Правило относится к группе pyupgrade.

Почему это неправильно

Современный синтаксис Python обычно короче, понятнее и лучше поддерживается актуальными инструментами.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила convert-named-tuple-functional-to-class и пример ниже.

Пример ошибки

from typing import NamedTuple

Foo = NamedTuple("Foo", [("a", int), ("b", str)])

Как правильно

from typing import NamedTuple


class Foo(NamedTuple):
    a: int
    b: str

Автоисправление

Ruff может предложить автоисправление в некоторых случаях.