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: 5 months ago
Linked from 2 awesome lists
awesomeawesome-listcode-qualitycollectionsflake8flake8-extensionsflake8-pluginshacktoberfesthacktoberfest-acceptedpython
Awesome Flake8 Extensions / All-in-one | |||
dlint | 164 | 21 days ago | Tool for encouraging best coding practices and helping ensure Python code is secure |
flake8-bugbear | 1,066 | 21 days ago | Finding likely bugs and design problems in your program |
flake8-pie | 61 | over 1 year ago | Extension that implements misc. lints |
flake8-simplify | 186 | 11 months ago | Plugin that helps you to simplify code |
hacking | 240 | 3 months ago | Set of flake8 plugins that test and enforce the |
wemake-python-styleguide | 2,541 | 7 days ago | The strictest and most opinionated python linter ever |
Awesome Flake8 Extensions / Bugs | |||
flake8-2020 | 64 | 10 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 | 10 | 9 months ago | A flake8 plugin that checks for bad async / asyncio practices |
flake8-dunder-all | 7 | about 1 month ago | Ensures that modules have defined |
flake8-encodings | 6 | about 1 month 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 | about 1 month ago | Detect incorrectly wrapped Qt translation text |
flake8-requirements | 37 | 5 months ago | Package requirements checker |
flake8-secure-coding-standard | 5 | 10 days ago | Enforce some secure coding standards for Python |
flake8-slots | 3 | about 1 month ago | Require to be defined for subclasses of immutable types |
flake8-strftime | 2 | about 1 month ago | Checks for use of platform-specific strftime codes |
flake8-string-format | 20 | almost 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 | about 1 year ago | Detect usage of deprecated modules, classes, and functions |
Awesome Flake8 Extensions / Clean code | |||
flake8-all-not-strings | 0 | 2 months ago | Checks that if modules under are defined as strings |
flake8-class-attributes-order | 60 | 8 months ago | Checks classes attributes order |
flake8-clean-block | 4 | about 2 years ago | Plugin to enforce a blank line after if/for/while/with/try blocks |
flake8-commas | 131 | 6 months ago | Enforcing trailing commas in python |
flake8-comprehensions | 465 | 17 days ago | Helps you write better list/set/dict comprehensions |
flake8-datetime-utcnow-plugin | 2 | 5 months ago | Plugin to warn the developer of the usage of |
flake8-datetimez | 34 | almost 2 years ago | A plugin for flake8 to ban the usage of unsafe naive datetime class |
flake8-implicit-str-concat | 31 | about 1 month ago | Plugin to encourage correct string literal concatenation |
flake8-indent-in-def | 0 | about 2 years ago | Plugin to enforce 8-space indentation in function and class definitions |
flake8-literal | 5 | 11 months ago | Enforces consistent styling of string literals |
flake8-multiline-containers | 14 | 21 days ago | Plugin to ensure a consistent format for multiline containers |
flake8-newspaper-style | 12 | about 2 years ago | Ensures the function definition goes below its usage |
flake8-obey-import-goat | 16 | over 1 year ago | Allows to forbid specific imports |
flake8-picky-parentheses | 6 | 8 months ago | Checks for redundant parentheses and alignment of parentheses and brackets |
flake8-quotes | 178 | 8 months ago | Extension for checking quotes in python |
flake8-return | 62 | 7 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 | 10 days ago | Plugin that prevents you from writing "too many" bad codes |
tryceratops | 432 | 22 days ago | Prevent exception handling antipatterns |
Awesome Flake8 Extensions / Limitations | |||
flake8-broken-line | 112 | 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 | 17 days ago | Reports issues in using the standard library logging module |
flake8-logging-format | 135 | 4 months ago | Report string formatting inside logging |
flake8-match | 27 | 10 months ago | Report statement |
flake8-no-implicit-concat | 20 | 10 days ago | Report implicit string concatenation |
flake8-no-pep420 | 25 | 17 days ago | Report implicit namespace packages |
flake8-pep3101 | 14 | 11 months ago | Report -formatting |
flake8-print | 121 | over 1 year ago | Report statement |
flake8-printf-formatting | 11 | about 3 years ago | Report -formatting |
flake8-use-fstring | 51 | about 1 year ago | Report -formatting and |
flake8-use-pathlib | Report | ||
flake8-walrus | 45 | 10 months ago | Report walrus operator ( ) |
Awesome Flake8 Extensions / Naming | |||
flake8-builtins | 115 | 6 months ago | Check for python builtins being used as variables or parameters |
flake8-functions-names | 27 | over 1 year ago | Validate functions names, decomposition and conformity with annotations |
flake8-test-name | 5 | 10 months ago | Checks that test functions names follow a given convention |
flake8-variables-names | 55 | 5 months ago | Extension that helps to make more readable variables names |
pep8-naming | 512 | 6 months ago | Check the PEP-8 naming conventions |
Awesome Flake8 Extensions / Complexity | |||
cohesion | 234 | over 1 year ago | Extension for measuring Python class cohesion |
flake8-annotations-complexity | 46 | over 1 year ago | Plugin to validate annotations complexity |
flake8-cognitive-complexity | 69 | over 3 years ago | Extension for flake8 that validates cognitive functions complexity |
flake8-expression-complexity | 31 | over 2 years ago | Plugin to validate expressions complexity |
flake8-functions | 50 | over 1 year 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 | about 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 | about 1 month 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 | about 1 year ago | Adds copyright checks to flake8 |
flake8-eradicate | 311 | 7 days ago | Plugin to find commented out or dead code |
flake8-executable | 18 | 6 days 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 | 5 months ago | Check that every TODO comment has a valid JIRA issue ID next to it |
flake8-noqa | 41 | 11 months 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 | over 5 years ago | Check for TODO notes |
flake8-todos | 27 | 10 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 | 154 | 24 days ago | Include checks provided by pep257 |
flake8-docstrings-complete | 12 | 14 days ago | Linter that checks docstrings of functions, methods and classes |
flake8-rst-docstrings | 56 | 17 days ago | Validate Python docstrings as reStructuredText (RST) |
flake8-spellcheck | 72 | 3 months ago | Spellcheck variables, classnames, comments, docstrings etc |
flake8-sphinx-links | 1 | about 1 month ago | Check docstrings for double backticked strings which should be links to the Python documentation |
pydoclint | 146 | about 2 months 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 | 228 | 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 | almost 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 | 400 | 10 days ago | Enforce the same lint configuration (flake8, isort, mypy, pylint) across multiple Python projects |
wps-playground | 2 | about 2 years ago | Online playground for wemake-python-styleguide |
yesqa | 267 | 24 days ago | A tool to automatically remove unnecessary comments |
flake8-in-file-ignores | 8 | about 1 month ago | Allow in file ignore e.g. |
Awesome Flake8 Extensions / Imports | |||
flake8-absolute-import | 12 | about 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 1 month ago | Enforce importing and |
flake8-future-import | 18 | about 2 years ago | Extension to check imports |
flake8-import-conventions | 7 | about 1 year ago | How certain packages should be imported or aliased |
flake8-import-order-spoqa | 15 | about 6 years ago | Spoqa's import order style for flake8-import-order |
flake8-import-order | 278 | 10 months ago | Include checks import order against various Python Style Guides |
flake8-import-style | 3 | over 2 years ago | Plugin to ensure explicit module imports |
flake8-internal-name-import | 4 | about 1 year ago | Plugin that reports imports of protected names |
flake8-tidy-imports | 72 | 17 days ago | Extension that helps you write tidier imports |
flake8-type-checking | 113 | 8 days ago | Plugin lets you know which imports to move in or out of type-checking blocks |
Awesome Flake8 Extensions / Testing | |||
flake8-aaa | 70 | 9 months ago | Lints tests against the Arrange Act Assert pattern |
flake8-assertive | 31 | about 1 month ago | Unittest assert method checker |
flake8-mock | 16 | over 1 year ago | Provides checking mock non-existent methods |
flake8-mock-spec | 4 | about 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 | 230 | 28 days ago | Checks for common style issues or inconsistencies with pytest-based tests |
flake8-pytest | 12 | over 1 year ago | Enforces to use -style assertions |
flake8-pytestrail | 10 | almost 3 years ago | Checks TestRail test case IDs |
Awesome Flake8 Extensions / Type annotations | |||
flake8-annotations-coverage | 34 | over 2 years ago | Plugin to validate annotations coverage |
flake8-annotations | 156 | 15 days ago | Plugin for flake8 to check for presence of type annotations in function definitions |
flake8-future-annotations | 15 | 10 days ago | Verifies Python 3.7+ files use |
flake8-new-union-types | 12 | 7 months ago | Plugin to enforce new Union/Optional syntax defined in |
flake8-pep585 | 22 | over 1 year ago | Enforce new style annotations from such as instead of |
flake8-pep604 | Forbids use of (in favour of ), per | ||
flake8-typing-imports | 49 | 24 days ago | Plugin which checks that typing imports are properly guarded |
Awesome Flake8 Extensions / Library-specific checks | |||
flake8-django-migrations | 7 | 6 days ago | Plugin to lint for backwards incompatible database migrations in Django |
flake8-django | 180 | 10 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 | over 2 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 | 102 | 7 days ago | Plugin for code that uses PyTorch |
Awesome Flake8 Extensions / Integrations | |||
flake8-markdown | 23 | about 1 year ago | Lints Python code blocks in Markdown files using flake8 |
flake8-nb | 28 | 18 days ago | Runs flake8 on (jupyter notebook) files |
flake8-pyi | 73 | about 1 month ago | Plugin for Flake8 that provides specializations for type hinting stub files |
flake8-rst | 22 | over 3 years ago | Checks on code in files or in docstrings |
jupyterlab-flake8 | 111 | about 3 years ago | Jupyterlab python linter for notebooks and text files using flake8 |
Awesome Flake8 Extensions / Wrappers | |||
flake8-bandit | 111 | about 1 year ago | Wrapper around |
flake8-black | 166 | 17 days ago | Wrapper around |
flake8-isort | 174 | 11 months ago | Wrapper around |
flake8-pylint | 8 | about 1 year ago | Wrapper around |
Awesome Flake8 Extensions / Formatters | |||
flake8-dashboard | 13 | 11 months ago | Generates an HTML dashboard |
flake8-for-pycharm | Generates pylint-style JSON output | ||
flake8-github | 4 | about 1 month ago | Generates GitHub annotation for PR's |
flake8-gl-codeclimate | 25 | about 1 year ago | Generates GitLab Code Quality artifacts |
flake8-html | 51 | 24 days ago | Generates an HTML report |
flake8-json | 10 | 24 days ago | Generates JSON output |