Pyflakes
A simple program which checks Python source files for errors
Install / Use
/learn @PyCQA/PyflakesREADME
======== Pyflakes
A simple program which checks Python source files for errors.
Pyflakes analyzes programs and detects various errors. It works by parsing the source file, not importing it, so it is safe to use on modules with side effects. It's also much faster.
It is available on PyPI <https://pypi.org/project/pyflakes/>_
and it supports all active versions of Python: 3.9+.
Installation
It can be installed with::
$ pip install --upgrade pyflakes
Useful tips:
-
Be sure to install it for a version of Python which is compatible with your codebase:
python#.# -m pip install pyflakes(for example,python3.10 -m pip install pyflakes) -
You can also invoke Pyflakes with
python#.# -m pyflakes .if you want to run it for a specific python version. -
If you require more options and more flexibility, you could give a look to Flake8_ too.
Design Principles
Pyflakes makes a simple promise: it will never complain about style, and it will try very, very hard to never emit false positives.
Pyflakes is also faster than Pylint_. This is largely because Pyflakes only examines the syntax tree of each file individually. As a consequence, Pyflakes is more limited in the types of things it can check.
If you like Pyflakes but also want stylistic checks, you want
flake8_, which combines
Pyflakes with style checks against
PEP 8_ and adds
per-project configuration ability.
Mailing-list
Share your feedback and ideas: subscribe to the mailing-list <https://mail.python.org/mailman/listinfo/code-quality>_
Contributing
Issues are tracked on GitHub <https://github.com/PyCQA/pyflakes/issues>_.
Patches may be submitted via a GitHub pull request.
If you are comfortable doing so, please rebase your changes
so they may be applied to main with a fast-forward merge, and each commit is
a coherent unit of work with a well-written log message. If you are not
comfortable with this rebase workflow, the project maintainers will be happy to
rebase your commits for you.
All changes should include tests and pass flake8_.
.. image:: https://github.com/PyCQA/pyflakes/workflows/Test/badge.svg :target: https://github.com/PyCQA/pyflakes/actions :alt: GitHub Actions build status
.. _Pylint: https://pylint.pycqa.org/
.. _flake8: https://pypi.org/project/flake8/
.. _PEP 8: https://www.python.org/dev/peps/pep-0008/
.. _rebase your changes: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
.. _GitHub pull request: https://github.com/PyCQA/pyflakes/pulls
Changelog
Please see NEWS.rst <https://github.com/PyCQA/pyflakes/blob/main/NEWS.rst>_.
Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
84.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
341.8kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
