:octocat: A curated awesome list of flake8 extensions. Feel free to contribute! 🎓
1,283
193 commits
updated Jul 21, 2026
A curated list of awesome flake8 extensions.
Inspired after reading a post.
Extensions with more than 20 rules inside.
Extensions for finding possible bugs.
sys.version or sys.version_info.__all__.__slots__ to be defined for subclasses of immutable types.assert statements.Extensions for finding stylistic issues and enforcing consistent codestyle.
__all__ are defined as strings.datetime.utcnow().Extensions banning specific Python features.
\).pdb, ipdb).match statement.%-formatting.print statement.%-formatting.%-formatting and str.format.os.path.:=).Extensions for checking names of variables, functions, etc.
Extensions for ensuring low code complexity.
Extensions for checking comments.
__author__ attributes.# noqa comments.Extensions for checking docstrings.
Tools empowering flake8.
# noqa comments.# flake8-in-file-ignores: noqa: E731.Extensions for checking import statements.
import statements and the __all__ list.datetime as dt and time as tm.Extensions for testing.
pytest-style assertions.Extensions for type annotations.
from __future__ import annotations.Foo | Bar | None defined in PEP 604.list[int] instead of typing.List[int].typing.Union (in favour of |), per PEP 604.Extensions for linting usage of specific libraries.
numba package.Extensions for running flake8 not only on Python files.
*.ipynb (Jupyter Notebook) files.*.rst files or in docstrings.Wrappers around other tools making it possible to use them with flake8.
Extensions for formatting flake8 output.
326 followers · starred Feb 2023
268 followers · starred Feb 2020
759 followers · starred Nov 2022
317 followers · starred Aug 2019
:octocat: A curated awesome list of flake8 extensions. Feel free to contribute! 🎓
1,283
193 commits
updated Jul 21, 2026
A curated list of awesome flake8 extensions.
Inspired after reading a post.
Extensions with more than 20 rules inside.
Extensions for finding possible bugs.
sys.version or sys.version_info.__all__.__slots__ to be defined for subclasses of immutable types.assert statements.Extensions for finding stylistic issues and enforcing consistent codestyle.
__all__ are defined as strings.datetime.utcnow().Extensions banning specific Python features.
\).pdb, ipdb).match statement.%-formatting.print statement.%-formatting.%-formatting and str.format.os.path.:=).Extensions for checking names of variables, functions, etc.
Extensions for ensuring low code complexity.
Extensions for checking comments.
__author__ attributes.# noqa comments.Extensions for checking docstrings.
Tools empowering flake8.
# noqa comments.# flake8-in-file-ignores: noqa: E731.Extensions for checking import statements.
import statements and the __all__ list.datetime as dt and time as tm.Extensions for testing.
pytest-style assertions.Extensions for type annotations.
from __future__ import annotations.Foo | Bar | None defined in PEP 604.list[int] instead of typing.List[int].typing.Union (in favour of |), per PEP 604.Extensions for linting usage of specific libraries.
numba package.Extensions for running flake8 not only on Python files.
*.ipynb (Jupyter Notebook) files.*.rst files or in docstrings.Wrappers around other tools making it possible to use them with flake8.
Extensions for formatting flake8 output.
326 followers · starred Feb 2023
268 followers · starred Feb 2020
759 followers · starred Nov 2022
317 followers · starred Aug 2019