awesome-flake8-extensions
Code inspector
A curated list of plugins to enforce coding standards and detect issues in Python code.
A curated awesome list of flake8 extensions. Feel free to contribute!
1k stars
27 watching
52 forks
last commit: 7 months ago
Linked from 2 awesome lists
awesomeawesome-listcode-qualitycollectionsflake8flake8-extensionsflake8-pluginshacktoberfesthacktoberfest-acceptedpython
Awesome Flake8 Extensions / All-in-one | |||
dlint | 163 | 3 months ago | Tool for encouraging best coding practices and helping ensure Python code is secure |
flake8-bugbear | 1,066 | about 1 month ago | Finding likely bugs and design problems in your program |
flake8-pie | 61 | almost 2 years ago | Extension that implements misc. lints |
flake8-simplify | 187 | about 1 year ago | Plugin that helps you to simplify code |
hacking | 240 | 5 months ago | Set of flake8 plugins that test and enforce the |
wemake-python-styleguide | 2,574 | about 1 month ago | The strictest and most opinionated python linter ever |
Awesome Flake8 Extensions / Bugs | |||
flake8-2020 | 63 | 12 months ago | Plugin which checks for misuse of or |
flake8-alfred | 36 | over 1 year ago | Alfred is a flake8 plugin to warn on unsafe/obsolete symbols |
flake8-async | 11 | 11 months ago | A flake8 plugin that checks for bad async / asyncio practices |
flake8-dunder-all | 7 | 3 months ago | Ensures that modules have defined |
flake8-encodings | 6 | 3 months ago | Identify incorrect use of encodings |
flake8-mutable | 44 | over 4 years ago | Detect usage of mutable objects as default values for arguments |
flake8-qt-tr | 0 | 3 months ago | Detect incorrectly wrapped Qt translation text |
flake8-requirements | 37 | 7 months ago | Package requirements checker |
flake8-secure-coding-standard | 5 | about 1 month ago | Enforce some secure coding standards for Python |
flake8-slots | 3 | 3 months ago | Require to be defined for subclasses of immutable types |
flake8-strftime | 2 | 3 months ago | Checks for use of platform-specific strftime codes |
flake8-string-format | 20 | about 2 years ago | Check that indexed parameters are used in strings |
flake8-unused-arguments | 31 | almost 2 years ago | Warn against unused arguments in functions |
flake8-useless-assert | 5 | almost 2 years ago | Detect useless statements |
flake8-warnings | 12 | over 1 year ago | Detect usage of deprecated modules, classes, and functions |
Awesome Flake8 Extensions / Clean code | |||
flake8-all-not-strings | 0 | 4 months ago | Checks that if modules under are defined as strings |
flake8-class-attributes-order | 59 | 10 months ago | Checks classes attributes order |
flake8-clean-block | 4 | over 2 years ago | Plugin to enforce a blank line after if/for/while/with/try blocks |
flake8-commas | 131 | 8 months ago | Enforcing trailing commas in python |
flake8-comprehensions | 464 | about 1 month ago | Helps you write better list/set/dict comprehensions |
flake8-datetime-utcnow-plugin | 2 | 7 months ago | Plugin to warn the developer of the usage of |
flake8-datetimez | 34 | about 2 years ago | A plugin for flake8 to ban the usage of unsafe naive datetime class |
flake8-implicit-str-concat | 31 | 3 months ago | Plugin to encourage correct string literal concatenation |
flake8-indent-in-def | 0 | over 2 years ago | Plugin to enforce 8-space indentation in function and class definitions |
flake8-literal | 5 | about 1 year ago | Enforces consistent styling of string literals |
flake8-multiline-containers | 14 | about 1 month ago | Plugin to ensure a consistent format for multiline containers |
flake8-newspaper-style | 12 | over 2 years ago | Ensures the function definition goes below its usage |
flake8-obey-import-goat | 17 | over 1 year ago | Allows to forbid specific imports |
flake8-picky-parentheses | 6 | 10 months ago | Checks for redundant parentheses and alignment of parentheses and brackets |
flake8-quotes | 177 | 10 months ago | Extension for checking quotes in python |
flake8-return | 62 | 9 months ago | Plugin that checks return values |
flake8-scream | 4 | about 2 years ago | Rules which do have known false-positives but might still be useful for a one-time run |
flake8-sql | 26 | over 2 years ago | Plugin that checks SQL code against opinionated style rules |
flake8-strict | 10 | over 6 years ago | Checks Python code against a set of opinionated style rules |
flake8-too-many | 4 | about 1 month ago | Plugin that prevents you from writing "too many" bad codes |
tryceratops | 436 | 3 months ago | Prevent exception handling antipatterns |
Awesome Flake8 Extensions / Limitations | |||
flake8-broken-line | 111 | about 1 year ago | Report line break with backslash ( ) |
flake8-debugger | 41 | over 2 years ago | Report debug statements ( , ) |
flake8-forbidden-func | 8 | about 2 years ago | Forbid some functions in some modules |
flake8-logging | 79 | about 1 month ago | Reports issues in using the standard library logging module |
flake8-logging-format | 135 | 6 months ago | Report string formatting inside logging |
flake8-match | 27 | 12 months ago | Report statement |
flake8-no-implicit-concat | 20 | about 2 months ago | Report implicit string concatenation |
flake8-no-pep420 | 25 | about 1 month ago | Report implicit namespace packages |
flake8-pep3101 | 14 | about 1 year ago | Report -formatting |
flake8-print | 121 | over 1 year ago | Report statement |
flake8-printf-formatting | 11 | over 3 years ago | Report -formatting |
flake8-use-fstring | 51 | about 1 year ago | Report -formatting and |
flake8-use-pathlib | Report | ||
flake8-walrus | 45 | 12 months ago | Report walrus operator ( ) |
Awesome Flake8 Extensions / Naming | |||
flake8-builtins | 116 | 8 months ago | Check for python builtins being used as variables or parameters |
flake8-functions-names | 27 | almost 2 years ago | Validate functions names, decomposition and conformity with annotations |
flake8-test-name | 5 | 12 months ago | Checks that test functions names follow a given convention |
flake8-variables-names | 55 | 7 months ago | Extension that helps to make more readable variables names |
pep8-naming | 517 | 8 months ago | Check the PEP-8 naming conventions |
Awesome Flake8 Extensions / Complexity | |||
cohesion | 237 | about 1 month ago | Extension for measuring Python class cohesion |
flake8-annotations-complexity | 46 | over 1 year ago | Plugin to validate annotations complexity |
flake8-cognitive-complexity | 69 | almost 4 years ago | Extension for flake8 that validates cognitive functions complexity |
flake8-expression-complexity | 32 | almost 3 years ago | Plugin to validate expressions complexity |
flake8-functions | 50 | almost 2 years ago | Plugin for validation of function parameters (length, complexity, etc) |
flake8-length | 24 | about 2 years ago | Smart line length validation |
Awesome Flake8 Extensions / Comments | |||
flake8-ado | 7 | over 2 years ago | Check that all Azure DevOps IDs mentioned in the comments are in the correct format and have the corresponding ADO item |
flake8-author | 3 | 3 months ago | Checks Python modules for attributes |
flake8-coding | 15 | over 5 years ago | Adds coding magic comment checks (coding:) to flake8 |
flake8-comments | 9 | over 3 years ago | Reports redundant comments |
flake8-copyright | 15 | over 1 year ago | Adds copyright checks to flake8 |
flake8-eradicate | 311 | about 1 month ago | Plugin to find commented out or dead code |
flake8-executable | 18 | about 1 month ago | Plugin for checking executable permissions and shebangs |
flake8-fixme | 18 | almost 2 years ago | Check for FIXME, TODO and other temporary developer notes |
flake8-jira-todo-checker | 7 | 7 months ago | Check that every TODO comment has a valid JIRA issue ID next to it |
flake8-noqa | 41 | about 1 year ago | Validate comments |
flake8-ownership | 5 | over 5 years ago | Checker for assuring that author, copyright, and license are specified in source files |
flake8-todo | 30 | almost 6 years ago | Check for TODO notes |
flake8-todos | 27 | 11 months ago | Lint TODO comments to be consistent and have an issue linked |
Awesome Flake8 Extensions / Docstrings | |||
flake8-docstring-checker | Checks if everything has a docstring | ||
flake8-docstrings | 155 | 3 months ago | Include checks provided by pep257 |
flake8-docstrings-complete | 12 | 2 months ago | Linter that checks docstrings of functions, methods and classes |
flake8-rst-docstrings | 55 | 2 months ago | Validate Python docstrings as reStructuredText (RST) |
flake8-spellcheck | 72 | 5 months ago | Spellcheck variables, classnames, comments, docstrings etc |
flake8-sphinx-links | 2 | 3 months ago | Check docstrings for double backticked strings which should be links to the Python documentation |
pydoclint | 159 | about 1 month ago | A Python docstring linter that checks arguments, returns, yields, and raises sections |
Awesome Flake8 Extensions / Tools | |||
flake8-codes | 14 | over 2 years ago | CLI tool to introspect flake8 plugins and their codes |
flake8-pyproject | 229 | about 1 year ago | Flake8 plug-in loading the configuration from pyproject.toml |
flake8-pyprojecttoml | Adds support for reading flake8 config from pyproject.toml | ||
flake8-ruler | 11 | almost 3 years ago | More powerful configs for flake8 |
flakehell | 88 | about 3 years ago | Wrapper to make it nice, legacy-friendly, and configurable |
flakes | Web list of flake8 plugins and their codes, a wrapper around flake8-codes | ||
nitpick | 401 | about 1 month ago | Enforce the same lint configuration (flake8, isort, mypy, pylint) across multiple Python projects |
wps-playground | 2 | over 2 years ago | Online playground for wemake-python-styleguide |
yesqa | 264 | 3 months ago | A tool to automatically remove unnecessary comments |
flake8-in-file-ignores | 8 | 3 months ago | Allow in file ignore e.g. |
Awesome Flake8 Extensions / Imports | |||
flake8-absolute-import | 12 | over 1 year ago | Plugin to require absolute imports |
flake8-alphabetize | 16 | over 1 year ago | Checking the order of statements and the list |
flake8-datetime-import | 11 | about 2 months ago | Enforce importing and |
flake8-future-import | 18 | about 2 years ago | Extension to check imports |
flake8-import-conventions | 7 | over 1 year ago | How certain packages should be imported or aliased |
flake8-import-order-spoqa | 15 | over 6 years ago | Spoqa's import order style for flake8-import-order |
flake8-import-order | 277 | 11 months ago | Include checks import order against various Python Style Guides |
flake8-import-style | 3 | almost 3 years ago | Plugin to ensure explicit module imports |
flake8-internal-name-import | 4 | over 1 year ago | Plugin that reports imports of protected names |
flake8-tidy-imports | 72 | about 1 month ago | Extension that helps you write tidier imports |
flake8-type-checking | 115 | about 1 month ago | Plugin lets you know which imports to move in or out of type-checking blocks |
Awesome Flake8 Extensions / Testing | |||
flake8-aaa | 69 | 11 months ago | Lints tests against the Arrange Act Assert pattern |
flake8-assertive | 31 | 3 months ago | Unittest assert method checker |
flake8-mock | 17 | over 1 year ago | Provides checking mock non-existent methods |
flake8-mock-spec | 4 | over 1 year ago | 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 | 229 | about 2 months ago | Checks for common style issues or inconsistencies with pytest-based tests |
flake8-pytest | 12 | almost 2 years ago | Enforces to use -style assertions |
flake8-pytestrail | 10 | about 3 years ago | Checks TestRail test case IDs |
Awesome Flake8 Extensions / Type annotations | |||
flake8-annotations-coverage | 34 | almost 3 years ago | Plugin to validate annotations coverage |
flake8-annotations | 156 | about 2 months ago | Plugin for flake8 to check for presence of type annotations in function definitions |
flake8-future-annotations | 15 | about 1 month ago | Verifies Python 3.7+ files use |
flake8-new-union-types | 13 | 9 months ago | Plugin to enforce new Union/Optional syntax defined in |
flake8-pep585 | 23 | almost 2 years ago | Enforce new style annotations from such as instead of |
flake8-pep604 | Forbids use of (in favour of ), per | ||
flake8-typing-imports | 48 | 3 months ago | Plugin which checks that typing imports are properly guarded |
Awesome Flake8 Extensions / Library-specific checks | |||
flake8-django-migrations | 7 | about 1 month ago | Plugin to lint for backwards incompatible database migrations in Django |
flake8-django | 180 | 11 months ago | Plugin for Django projects |
flake8-fastapi | 44 | almost 2 years ago | Checks FastAPI code against opinionated style rules |
flake8-numba | 0 | over 1 year ago | Plugin that facilitates code development with package |
flake8-scrapy | 19 | almost 3 years ago | Plugin to catch common issues on Scrapy spiders |
pandas-vet | 168 | over 1 year ago | Plugin that provides opinionated linting for pandas code |
TorchFix | 111 | about 1 month ago | Plugin for code that uses PyTorch |
Awesome Flake8 Extensions / Integrations | |||
flake8-markdown | 23 | about 1 month ago | Lints Python code blocks in Markdown files using flake8 |
flake8-nb | 28 | 2 months ago | Runs flake8 on (jupyter notebook) files |
flake8-pyi | 73 | 3 months ago | Plugin for Flake8 that provides specializations for type hinting stub files |
flake8-rst | 22 | almost 4 years ago | Checks on code in files or in docstrings |
jupyterlab-flake8 | 111 | over 3 years ago | Jupyterlab python linter for notebooks and text files using flake8 |
Awesome Flake8 Extensions / Wrappers | |||
flake8-bandit | 110 | over 1 year ago | Wrapper around |
flake8-black | 165 | about 1 month ago | Wrapper around |
flake8-isort | 176 | about 1 year ago | Wrapper around |
flake8-pylint | 8 | over 1 year ago | Wrapper around |
Awesome Flake8 Extensions / Formatters | |||
flake8-dashboard | 14 | about 1 year ago | Generates an HTML dashboard |
flake8-for-pycharm | Generates pylint-style JSON output | ||
flake8-github | 5 | 3 months ago | Generates GitHub annotation for PR's |
flake8-gl-codeclimate | 25 | about 1 year ago | Generates GitLab Code Quality artifacts |
flake8-html | 51 | about 2 months ago | Generates an HTML report |
flake8-json | 10 | 3 months ago | Generates JSON output |