[pyflakes] Update to 3.3.* (#13745)

This commit is contained in:
Sebastian Rittau
2025-03-31 13:04:49 +02:00
committed by GitHub
parent 740a5ee901
commit fb79994077
5 changed files with 92 additions and 88 deletions
@@ -22,4 +22,5 @@ pyflakes.messages.UndefinedLocal.message_args
pyflakes.messages.UndefinedName.message_args
pyflakes.messages.UnusedAnnotation.message_args
pyflakes.messages.UnusedImport.message_args
pyflakes.messages.UnusedIndirectAssignment.message_args
pyflakes.messages.UnusedVariable.message_args
+1 -1
View File
@@ -1,4 +1,4 @@
version = "3.2.*"
version = "3.3.*"
upstream_repository = "https://github.com/PyCQA/pyflakes"
partial_stub = true
+4 -4
View File
@@ -1,6 +1,6 @@
from _typeshed import Incomplete
from collections.abc import Iterable, Iterator, Sequence
from re import Pattern
from typing import Any
from pyflakes.reporter import Reporter
@@ -11,6 +11,6 @@ PYTHON_SHEBANG_REGEX: Pattern[bytes]
def check(codeString: str, filename: str, reporter: Reporter | None = None) -> int: ...
def checkPath(filename, reporter: Reporter | None = None) -> int: ...
def isPythonFile(filename) -> bool: ...
def iterSourceCode(paths: Iterable[Any]) -> Iterator[Any]: ...
def checkRecursive(paths: Iterable[Any], reporter: Reporter) -> int: ...
def main(prog: str | None = None, args: Sequence[Any] | None = None) -> None: ...
def iterSourceCode(paths: Iterable[Incomplete]) -> Iterator[Incomplete]: ...
def checkRecursive(paths: Iterable[Incomplete], reporter: Reporter) -> int: ...
def main(prog: str | None = None, args: Sequence[Incomplete] | None = None) -> None: ...
+27 -29
View File
@@ -1,17 +1,17 @@
import ast
import sys
from _typeshed import Incomplete
from collections.abc import Callable, Generator, Iterable, Iterator
from contextlib import contextmanager
from re import Pattern
from typing import Any, ClassVar, Literal, TypeVar, overload
from typing_extensions import ParamSpec, TypeAlias
from typing_extensions import Never, ParamSpec, TypeAlias
from pyflakes.messages import Message
_AnyFunction: TypeAlias = Callable[..., Any]
_F = TypeVar("_F", bound=_AnyFunction)
_P = ParamSpec("_P")
_T = TypeVar("_T")
PYPY: bool
@@ -33,19 +33,15 @@ def parse_percent_format(s: str) -> tuple[_PercentFormat, ...]: ...
class _FieldsOrder(dict[type[ast.AST], tuple[str, ...]]):
def __missing__(self, node_class: type[ast.AST]) -> tuple[str, ...]: ...
def counter(items: Iterable[_T]) -> dict[_T, int]: ...
_OmitType: TypeAlias = str | tuple[str, ...] | None
def iter_child_nodes(node: ast.AST, omit: _OmitType = None, _fields_order: _FieldsOrder = ...) -> Iterator[ast.AST]: ...
@overload
def convert_to_value(item: ast.Str) -> str: ... # type: ignore[overload-overlap]
def convert_to_value(item: ast.Constant) -> Any: ... # type: ignore[overload-overlap] # See ast.Constant.value for possible return types
@overload
def convert_to_value(item: ast.Bytes) -> bytes: ... # type: ignore[overload-overlap]
def convert_to_value(item: ast.Tuple) -> tuple[Any, ...]: ... # type: ignore[overload-overlap] # Tuple items depend on their ast type
@overload
def convert_to_value(item: ast.Tuple) -> tuple[Any, ...]: ... # type: ignore[overload-overlap]
@overload
def convert_to_value(item: ast.Name | ast.NameConstant) -> Any: ...
def convert_to_value(item: ast.Name) -> VariableKey: ... # type: ignore[overload-overlap]
@overload
def convert_to_value(item: ast.AST) -> UnhandledKeyType: ...
def is_notimplemented_name_node(node: object) -> bool: ...
@@ -53,7 +49,7 @@ def is_notimplemented_name_node(node: object) -> bool: ...
class Binding:
name: str
source: ast.AST | None
used: Literal[False] | tuple[Any, ast.AST]
used: Literal[False] | tuple[Incomplete, ast.AST]
def __init__(self, name: str, source: ast.AST | None) -> None: ...
def redefines(self, other: Binding) -> bool: ...
@@ -72,7 +68,7 @@ class VariableKey:
class Importation(Definition):
fullName: str
redefined: list[Any]
redefined: list[Incomplete]
def __init__(self, name: str, source: ast.AST | None, full_name: str | None = None) -> None: ...
@property
def source_statement(self) -> str: ...
@@ -89,7 +85,7 @@ class StarImportation(Importation):
def __init__(self, name: str, source: ast.AST) -> None: ...
class FutureImportation(ImportationFrom):
used: tuple[Any, ast.AST]
used: tuple[Incomplete, ast.AST]
def __init__(self, name: str, source: ast.AST, scope) -> None: ...
class Argument(Binding): ...
@@ -114,7 +110,7 @@ class FunctionScope(Scope):
usesLocals: bool
alwaysUsed: ClassVar[set[str]]
globals: set[str]
returnValue: Any
returnValue: Incomplete
isGenerator: bool
def __init__(self) -> None: ...
def unused_assignments(self) -> Iterator[tuple[str, Binding]]: ...
@@ -154,34 +150,36 @@ if sys.version_info >= (3, 10):
_MatchAs: TypeAlias = ast.MatchAs
_MatchOr: TypeAlias = ast.MatchOr
else:
_Match: TypeAlias = Any
_MatchCase: TypeAlias = Any
_MatchValue: TypeAlias = Any
_MatchSingleton: TypeAlias = Any
_MatchSequence: TypeAlias = Any
_MatchStar: TypeAlias = Any
_MatchMapping: TypeAlias = Any
_MatchClass: TypeAlias = Any
_MatchAs: TypeAlias = Any
_MatchOr: TypeAlias = Any
# The methods using these should never be called on Python < 3.10.
_Match: TypeAlias = Never
_MatchCase: TypeAlias = Never
_MatchValue: TypeAlias = Never
_MatchSingleton: TypeAlias = Never
_MatchSequence: TypeAlias = Never
_MatchStar: TypeAlias = Never
_MatchMapping: TypeAlias = Never
_MatchClass: TypeAlias = Never
_MatchAs: TypeAlias = Never
_MatchOr: TypeAlias = Never
if sys.version_info >= (3, 12):
_TypeVar: TypeAlias = ast.TypeVar
_TypeAlias: TypeAlias = ast.TypeAlias
else:
_TypeVar: TypeAlias = Any
_TypeAlias: TypeAlias = Any
# The methods using these should never be called on Python < 3.12.
_TypeVar: TypeAlias = Never
_TypeAlias: TypeAlias = Never
class Checker:
nodeDepth: int
offset: tuple[int, int] | None
builtIns: set[str]
deadScopes: list[Any]
messages: list[Any]
deadScopes: list[Incomplete]
messages: list[Incomplete]
filename: str
withDoctest: bool
scopeStack: list[Scope]
exceptHandlers: list[Any]
exceptHandlers: list[Incomplete]
root: ast.AST
def __init__(
self,
@@ -189,7 +187,7 @@ class Checker:
filename: str = "(none)",
builtins: Iterable[str] | None = None,
withDoctest: bool = False,
file_tokens: tuple[Any, ...] = (),
file_tokens: tuple[Incomplete, ...] = (),
) -> None: ...
def deferFunction(self, callable: _AnyFunction) -> None: ...
@property
+59 -54
View File
@@ -1,83 +1,88 @@
import ast
from _typeshed import Incomplete
from typing import Any, ClassVar
class Message:
message: ClassVar[str]
message_args: tuple[Any, ...]
filename: Any
message_args: tuple[Any, ...] # Tuple types differ between sub-classes.
filename: str
lineno: int
col: int
def __init__(self, filename, loc: ast.AST) -> None: ...
def __init__(self, filename: str, loc: ast.AST) -> None: ...
class UnusedImport(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, name) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
class RedefinedWhileUnused(Message):
message_args: tuple[Any, int]
def __init__(self, filename, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
message_args: tuple[Incomplete, int]
def __init__(self, filename: str, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
class ImportShadowedByLoopVar(Message):
message_args: tuple[Any, int]
def __init__(self, filename, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
message_args: tuple[Incomplete, int]
def __init__(self, filename: str, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
class ImportStarNotPermitted(Message):
message_args: Any
def __init__(self, filename, loc, modname) -> None: ...
message_args: Incomplete
def __init__(self, filename: str, loc, modname) -> None: ...
class ImportStarUsed(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, modname) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, modname) -> None: ...
class ImportStarUsage(Message):
message_args: tuple[Any, Any]
def __init__(self, filename, loc: ast.AST, name, from_list) -> None: ...
message_args: tuple[Incomplete, Incomplete]
def __init__(self, filename: str, loc: ast.AST, name, from_list) -> None: ...
class UndefinedName(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, name) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
class DoctestSyntaxError(Message):
message_args: tuple[()]
def __init__(self, filename, loc: ast.AST, position: tuple[int, int] | None = None) -> None: ...
def __init__(self, filename: str, loc: ast.AST, position: tuple[int, int] | None = None) -> None: ...
class UndefinedExport(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, name) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
class UndefinedLocal(Message):
default: ClassVar[str]
builtin: ClassVar[str]
message_args: tuple[Any, int]
def __init__(self, filename, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
message_args: tuple[Incomplete, int]
def __init__(self, filename: str, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
class DuplicateArgument(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, name) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
class MultiValueRepeatedKeyLiteral(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, key) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, key) -> None: ...
class MultiValueRepeatedKeyVariable(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, key) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, key) -> None: ...
class LateFutureImport(Message):
message_args: tuple[()]
def __init__(self, filename, loc: ast.AST) -> None: ...
def __init__(self, filename: str, loc: ast.AST) -> None: ...
class FutureFeatureNotDefined(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, name) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
class UnusedVariable(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, names) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, names) -> None: ...
class UnusedAnnotation(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, names) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, names) -> None: ...
class UnusedIndirectAssignment(Message):
message_args: tuple[str, str]
def __init__(self, filename: str, loc: ast.AST, name: str) -> None: ...
class ReturnOutsideFunction(Message): ...
class YieldOutsideFunction(Message): ...
@@ -90,8 +95,8 @@ class IfTuple(Message): ...
class AssertTuple(Message): ...
class ForwardAnnotationSyntaxError(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, annotation) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, annotation) -> None: ...
class RaiseNotImplemented(Message): ...
class InvalidPrintSyntax(Message): ...
@@ -99,44 +104,44 @@ class IsLiteral(Message): ...
class FStringMissingPlaceholders(Message): ...
class StringDotFormatExtraPositionalArguments(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, extra_positions) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, extra_positions) -> None: ...
class StringDotFormatExtraNamedArguments(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, extra_keywords) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, extra_keywords) -> None: ...
class StringDotFormatMissingArgument(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, missing_arguments) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, missing_arguments) -> None: ...
class StringDotFormatMixingAutomatic(Message): ...
class StringDotFormatInvalidFormat(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, error) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, error) -> None: ...
class PercentFormatInvalidFormat(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, error) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, error) -> None: ...
class PercentFormatMixedPositionalAndNamed(Message): ...
class PercentFormatUnsupportedFormatCharacter(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, c) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, c) -> None: ...
class PercentFormatPositionalCountMismatch(Message):
message_args: tuple[int, int]
def __init__(self, filename, loc: ast.AST, n_placeholders: int, n_substitutions: int) -> None: ...
def __init__(self, filename: str, loc: ast.AST, n_placeholders: int, n_substitutions: int) -> None: ...
class PercentFormatExtraNamedArguments(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, extra_keywords) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, extra_keywords) -> None: ...
class PercentFormatMissingArgument(Message):
message_args: tuple[Any]
def __init__(self, filename, loc: ast.AST, missing_arguments) -> None: ...
message_args: tuple[Incomplete]
def __init__(self, filename: str, loc: ast.AST, missing_arguments) -> None: ...
class PercentFormatExpectedMapping(Message): ...
class PercentFormatExpectedSequence(Message): ...