Pyflakes

Latest version: v3.3.2

Safety actively analyzes 722674 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 7

3.0.0

- Detect undefined name in variable defined by an annotated assignment
- Add a new error for names which are annotated but unused
- Remove handling of python 2.x `` type:`` comments. Use annotations instead

2.5.0

- Drop support for EOL python 2.7 / 3.4 / 3.5
- Ignore ``__all__`` when not directly assigned
- Handle ``TypeAlias`` annotations as aliases (PEP 613)
- Assignment expressions (``:=``) target outer scope in comprehensions
- Add support for new python 3.11 syntax
- Unify output so it is always ``filename:lineno:col: message``
- Properly report ``SyntaxError`` from stdin in python < 3.9
- Fix offsets of ``SyntaxError``s in pypy

2.4.0

- Remove unused tracing code (``traceTree``)
- Add support for ``match`` statement
- Detect ``typing`` module attributes when imported with ``import ... as ...``

2.3.1

- Fix regression in 2.3.0: type annotations no longer redefine imports

2.3.0

- Recognize tuple concatenation in ``__all__`` export definitions
- Better support use of annotation-only assignments when using
``from __future__ import annotations``
- Recognize special-case typing for ``Annotated``
- Fix undefined name ``__qualname__`` in class scope
- Recognize special-cased typing for ``TypeVar``
- Errors for undefined exports in ``__all__`` are shown in a deterministic order
- Fix false positives in certain typing constructs (``TypeVar``,
``NamedTuple``, ``TypedDict``, ``cast``)

2.2.0

- Include column information in error messages
- Fix ``overload`` detection with other decorators and in non-global scopes
- Fix return-type annotation being a class member
- Fix assignment to ``_`` in doctests with existing ``_`` name
- Namespace attributes which are attached to ast nodes with ``_pyflakes_`` to
avoid conflicts with other libraries (notably bandit)
- Add check for f-strings without placeholders
- Add check for unused/extra/invalid ``'string literal'.format(...)``
- Add check for unused/extra/invalid ``'string literal % ...``
- Improve python shebang detection
- Allow type ignore to be followed by a code `` type: ignore[attr-defined]``
- Add support for assignment expressions (PEP 572)
- Support ``overload`` detection from ``typing_extensions`` as well
- Fix ``overload`` detection for async functions
- Allow ``continue`` inside ``finally`` in python 3.8+
- Fix handling of annotations in positional-only arguments
- Make pyflakes more resistant to future syntax additions
- Fix false positives in partially quoted type annotations
- Warn about ``is`` comparison to tuples
- Fix ``Checker`` usage with async function subtrees
- Add check for ``if`` of non-empty tuple
- Switch from ``optparse`` to ``argparse``
- Fix false positives in partially quoted type annotations in unusual contexts
- Be more cautious when identifying ``Literal`` type expressions

Page 2 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.