Skip to content

Commit 9c83095

Browse files
authored
Merge pull request #246 from PyCQA/typevar-prefix
Allow TypeVar names to start with an underscore
2 parents a6be839 + f60a063 commit 9c83095

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/pep8ext_naming.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -537,13 +537,14 @@ def visit_module(self, node, parents: Sequence, ignored: NameSet):
537537
if func_name != "TypeVar" or name in ignored:
538538
continue
539539

540-
if len(args) == 0 or args[0] != name:
540+
if not args or args[0] != name:
541541
yield self.err(body, 'N808', name=name)
542542

543-
if not name[:1].isupper():
543+
stripped_name = name.removeprefix('_')
544+
if not stripped_name[:1].isupper():
544545
yield self.err(body, 'N808', name=name)
545546

546-
parts = name.split('_')
547+
parts = stripped_name.split('_')
547548
if len(parts) > 2:
548549
yield self.err(body, 'N808', name=name)
549550

testsuite/N808.py

+3
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
#: Okay
4343
Good = TypeVar("Good")
4444

45+
#: Okay
46+
_Good = TypeVar("_Good")
47+
4548
#: N808
4649
__NotGood = TypeVar("__NotGood")
4750

0 commit comments

Comments
 (0)