From 60daec60011d0b3a6be52c9410d1d7ef0179349d Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Tue, 16 May 2023 08:25:25 -0400 Subject: Add optional `prefer-typing-namedtuple` message (#8681) Closes #8660 --- doc/data/messages/p/prefer-typing-namedtuple/bad.py | 5 +++++ doc/data/messages/p/prefer-typing-namedtuple/good.py | 7 +++++++ doc/data/messages/p/prefer-typing-namedtuple/pylintrc | 2 ++ doc/data/messages/p/prefer-typing-namedtuple/related.rst | 1 + doc/whatsnew/fragments/8660.extension | 7 +++++++ 5 files changed, 22 insertions(+) create mode 100644 doc/data/messages/p/prefer-typing-namedtuple/bad.py create mode 100644 doc/data/messages/p/prefer-typing-namedtuple/good.py create mode 100644 doc/data/messages/p/prefer-typing-namedtuple/pylintrc create mode 100644 doc/data/messages/p/prefer-typing-namedtuple/related.rst create mode 100644 doc/whatsnew/fragments/8660.extension (limited to 'doc') diff --git a/doc/data/messages/p/prefer-typing-namedtuple/bad.py b/doc/data/messages/p/prefer-typing-namedtuple/bad.py new file mode 100644 index 000000000..d555b0f26 --- /dev/null +++ b/doc/data/messages/p/prefer-typing-namedtuple/bad.py @@ -0,0 +1,5 @@ +from collections import namedtuple + +Philosophy = namedtuple( # [prefer-typing-namedtuple] + "Philosophy", ("goodness", "truth", "beauty") +) diff --git a/doc/data/messages/p/prefer-typing-namedtuple/good.py b/doc/data/messages/p/prefer-typing-namedtuple/good.py new file mode 100644 index 000000000..ef094aacd --- /dev/null +++ b/doc/data/messages/p/prefer-typing-namedtuple/good.py @@ -0,0 +1,7 @@ +from typing import NamedTuple + + +class Philosophy(NamedTuple): + goodness: str + truth: bool + beauty: float diff --git a/doc/data/messages/p/prefer-typing-namedtuple/pylintrc b/doc/data/messages/p/prefer-typing-namedtuple/pylintrc new file mode 100644 index 000000000..b001506b6 --- /dev/null +++ b/doc/data/messages/p/prefer-typing-namedtuple/pylintrc @@ -0,0 +1,2 @@ +[MAIN] +load-plugins = pylint.extensions.code_style diff --git a/doc/data/messages/p/prefer-typing-namedtuple/related.rst b/doc/data/messages/p/prefer-typing-namedtuple/related.rst new file mode 100644 index 000000000..a8d3da44c --- /dev/null +++ b/doc/data/messages/p/prefer-typing-namedtuple/related.rst @@ -0,0 +1 @@ +- `typing.NamedTuple `_ diff --git a/doc/whatsnew/fragments/8660.extension b/doc/whatsnew/fragments/8660.extension new file mode 100644 index 000000000..2090d03ac --- /dev/null +++ b/doc/whatsnew/fragments/8660.extension @@ -0,0 +1,7 @@ +Add new ``prefer-typing-namedtuple`` message to the ``CodeStyleChecker`` to suggest +rewriting calls to ``collections.namedtuple`` as classes inheriting from ``typing.NamedTuple`` +on Python 3.6+. + +Requires ``load-plugins=pylint.extensions.code_style`` and ``enable=prefer-typing-namedtuple`` to be raised. + +Closes #8660 -- cgit v1.2.1