Skip to content
76

Awesome Flake8 Extensions

:octocat: A curated awesome list of flake8 extensions. Feel free to contribute! :mortar_board:

1.3k stars51 forks147 entriesLast push Jul 21, 2026 (2 months ago)License Other

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

All-in-one

dlint

Tool for encouraging best coding practices and helping ensure Python code is secure.

In 3 lists

flake8-bugbear

Finding likely bugs and design problems in your program.

In 2 lists

flake8-pie

Extension that implements misc. lints.

flake8-simplify

Plugin that helps you to simplify code.

In 2 lists

hacking

Set of flake8 plugins that test and enforce the OpenStack StyleGuide.

In 2 lists

wemake-python-styleguide

The strictest and most opinionated Python linter ever.

In 5 listsDetails

flake8-tergeo

Adds many new rules to improve your code quality and brings a curated and actively maintained list of other plugins including flake8-bugbear.

Bugs

flake8-2020

Plugin which checks for misuse of sys.version or sys.version_info.

flake8-alfred

Alfred is a flake8 plugin to warn on unsafe/obsolete symbols.

flake8-async

A flake8 plugin that checks for bad async / asyncio practices.

flake8-dunder-all

Ensures that modules have defined __all__.

flake8-encodings

Identify incorrect use of encodings.

flake8-mutable

Detect usage of mutable objects as default values for arguments.

flake8-qt-tr

Detect incorrectly wrapped Qt translation text.

flake8-requirements

Package requirements checker.

flake8-secure-coding-standard

Enforce some secure coding standards for Python.

flake8-slots

Require __slots__ to be defined for subclasses of immutable types.

flake8-strftime

Checks for use of platform-specific strftime codes.

flake8-string-format

Check that indexed parameters are used in strings.

flake8-unused-arguments

Warn against unused arguments in functions.

flake8-useless-assert

Detect useless assert statements.

flake8-timeout

Checks for missing timeout parameters in network calls.

flake8-warnings

Detect usage of deprecated modules, classes, and functions.

Clean code

flake8-all-not-strings

Checks that if modules under __all__ are defined as strings.

flake8-class-attributes-order

Checks classes attributes order.

flake8-clean-block

Plugin to enforce a blank line after if/for/while/with/try blocks.

flake8-commas

Enforcing trailing commas in Python.

In 2 lists

flake8-comprehensions

Helps you write better list/set/dict comprehensions.

In 2 lists

flake8-datetime-utcnow-plugin

Plugin to warn the developer of the usage of datetime.utcnow().

flake8-datetimez

A plugin for flake8 to ban the usage of unsafe naive datetime class.

flake8-implicit-str-concat

Plugin to encourage correct string literal concatenation.

flake8-indent-in-def

Plugin to enforce 8-space indentation in function and class definitions.

flake8-literal

Enforces consistent styling of string literals.

flake8-multiline-containers

Plugin to ensure a consistent format for multiline containers.

flake8-newspaper-style

Ensures the function definition goes below its usage.

flake8-obey-import-goat

Allows to forbid specific imports.

flake8-picky-parentheses

Checks for redundant parentheses and alignment of parentheses and brackets.

flake8-quotes

Extension for checking quotes in Python.

flake8-return

Plugin that checks return values.

flake8-scream

Rules which do have known false-positives but might still be useful for a one-time run.

flake8-sql

Plugin that checks SQL code against opinionated style rules.

flake8-strict

Checks Python code against a set of opinionated style rules.

flake8-too-many

Plugin that prevents you from writing 'too many' bad codes.

tryceratops

Prevent exception handling antipatterns.

Limitations

flake8-broken-line

Report line break with backslash (\).

flake8-debugger

Report debug statements (pdb, ipdb).

flake8-forbidden-func

Forbid some functions in some modules.

flake8-logging

Reports issues in using the standard library logging module.

flake8-logging-format

Report string formatting inside logging.

flake8-match

Report match statement.

flake8-no-implicit-concat

Report implicit string concatenation.

flake8-no-pep420

Report implicit namespace packages.

flake8-pep3101

Report %-formatting.

flake8-print

Report print statement.

flake8-printf-formatting

Report %-formatting.

flake8-use-fstring

Report %-formatting and str.format.

flake8-use-pathlib

Report os.path.

flake8-walrus

Report walrus operator (:=).

Naming

flake8-builtins

Check for Python builtins being used as variables or parameters.

In 2 lists

flake8-functions-names

Validate functions names, decomposition and conformity with annotations.

flake8-test-name

Checks that test functions names follow a given convention.

flake8-variables-names

Extension that helps to make more readable variables names.

pep8-naming

Check the PEP-8 naming conventions.

Complexity

cohesion

Extension for measuring Python class cohesion.

flake8-annotations-complexity

Plugin to validate annotations complexity.

In 2 lists

flake8-cognitive-complexity

Extension for flake8 that validates cognitive functions complexity.

flake8-expression-complexity

Plugin to validate expressions complexity.

flake8-functions

Plugin for validation of function parameters (length, complexity, etc).

flake8-length

Smart line length validation.

Comments

flake8-ado

Check that all Azure DevOps IDs mentioned in the comments are in the correct format and have the corresponding ADO item.

flake8-author

Checks Python modules for __author__ attributes.

flake8-coding

Adds coding magic comment checks (coding:) to flake8.

flake8-comments

Reports redundant comments.

flake8-copyright

Adds copyright checks to flake8.

flake8-eradicate

Plugin to find commented out or dead code.

flake8-executable

Plugin for checking executable permissions and shebangs.

flake8-fixme

Check for FIXME, TODO and other temporary developer notes.

flake8-jira-todo-checker

Check that every TODO comment has a valid JIRA issue ID next to it.

flake8-noqa

Validate # noqa comments.

flake8-ownership

Checker for assuring that author, copyright, and license are specified in source files.

flake8-todo

Check for TODO notes.

flake8-todos

Lint TODO comments to be consistent and have an issue linked.

Docstrings

flake8-docstring-checker

Checks if everything has a docstring.

flake8-docstrings

Include checks provided by pep257.

flake8-docstrings-complete

Linter that checks docstrings of functions, methods and classes.

flake8-rst-docstrings

Validate Python docstrings as reStructuredText (RST).

flake8-spellcheck

Spellcheck variables, classnames, comments, docstrings etc.

flake8-sphinx-links

Check docstrings for double backticked strings which should be links to the Python documentation.

pydoclint

A Python docstring linter that checks arguments, returns, yields, and raises sections.

Tools

flake8-codes

CLI tool to introspect flake8 plugins and their codes.

flake8-pyproject

Flake8 plug-in loading the configuration from pyproject.toml.

flake8-pyprojecttoml

Adds support for reading flake8 config from pyproject.toml.

flake8-ruler

More powerful configs for flake8.

flakehell

Wrapper to make it nice, legacy-friendly, and configurable.

flakes

Web list of flake8 plugins and their codes, a wrapper around flake8-codes.

nitpick

Enforce the same lint configuration (flake8, isort, mypy, pylint) across multiple Python projects.

In 2 lists

wps-playground

Online playground for wemake-python-styleguide.

yesqa

A tool to automatically remove unnecessary # noqa comments.

flake8-in-file-ignores

Allow in file ignore e.g. # flake8-in-file-ignores: noqa: E731.

Imports

flake8-absolute-import

Plugin to require absolute imports.

flake8-alphabetize

Checking the order of import statements and the __all__ list.

flake8-datetime-import

Enforce importing datetime as dt and time as tm.

flake8-future-import

Extension to check imports.

flake8-import-conventions

How certain packages should be imported or aliased.

flake8-import-order-spoqa

Spoqa's import order style for flake8-import-order.

flake8-import-order

Include checks import order against various Python Style Guides.

In 2 lists

flake8-import-style

Plugin to ensure explicit module imports.

flake8-internal-name-import

Plugin that reports imports of protected names.

flake8-tidy-imports

Extension that helps you write tidier imports.

flake8-type-checking

Plugin lets you know which imports to move in or out of type-checking blocks.

In 2 lists

flake8-lazy

Detect modules that can be lazy imported in Python 3.15+.

Testing

flake8-aaa

Lints tests against the Arrange Act Assert pattern.

flake8-assertive

Unittest assert method checker.

flake8-mock

Provides checking mock non-existent methods.

flake8-mock-spec

Enforce the use of the spec argument on mocks ensuring that your use of mocks is compliant with the interface of the object being mocked.

flake8-pytest-style

Checks for common style issues or inconsistencies with pytest-based tests.

flake8-pytest

Enforces to use pytest-style assertions.

flake8-pytestrail

Checks TestRail test case IDs.

Type annotations

flake8-annotations-coverage

Plugin to validate annotations coverage.

flake8-annotations

Plugin for flake8 to check for presence of type annotations in function definitions.

In 2 lists

flake8-future-annotations

Verifies Python 3.7+ files use from __future__ import annotations.

flake8-new-union-types

Plugin to enforce new Union/Optional syntax Foo | Bar | None defined in PEP 604.

flake8-pep585

Enforce new style annotations from PEP585 such as list[int] instead of typing.List[int].

flake8-pep604

Forbids use of typing.Union (in favour of |), per PEP 604.

flake8-typing-imports

Plugin which checks that typing imports are properly guarded.

In 2 lists

Library-specific checks

flake8-django-migrations

Plugin to lint for backwards incompatible database migrations in Django.

flake8-django

Plugin for Django projects.

flake8-fastapi

Checks FastAPI code against opinionated style rules.

flake8-numba

Plugin that facilitates code development with numba package.

flake8-scrapy

Plugin to catch common issues on Scrapy spiders.

pandas-vet

Plugin that provides opinionated linting for Pandas code.

In 2 lists

TorchFix

Plugin for code that uses PyTorch.

Integrations

flake8-markdown

Lints Python code blocks in Markdown files using flake8.

flake8-nb

Runs flake8 on *.ipynb (Jupyter Notebook) files.

flake8-pyi

Plugin for Flake8 that provides specializations for type hinting stub files.

flake8-rst

Checks on code in *.rst files or in docstrings.

jupyterlab-flake8

Jupyterlab Python linter for notebooks and text files using flake8.

Wrappers

flake8-bandit

Wrapper around bandit.

flake8-black

Wrapper around black.

In 2 lists

flake8-isort

Wrapper around isort.

In 3 lists

flake8-pylint

Wrapper around pylint.

Formatters

flake8-dashboard

Generates an HTML dashboard.

flake8-for-pycharm

Generates pylint-style JSON output.

flake8-github

Generates GitHub annotation for PR's.

flake8-gl-codeclimate

Generates GitLab Code Quality artifacts.

flake8-html

Generates an HTML report.

flake8-json

Generates JSON output.

See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

Curated Python frameworks, libraries and resources.

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

Curated Go frameworks and libraries.

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago