Python Linter

Open-source Python projects categorized as Linter | Edit details

Top 23 Python Linter Projects

  • GitHub repo mypy

    Optional static typing for Python 3 and 2 (PEP 484)

    Project mention: Typehinting a dictionary that maps events to event handlers | reddit.com/r/learnpython | 2021-07-09
  • GitHub repo pre-commit

    A framework for managing and maintaining multi-language pre-commit hooks.

    Project mention: C/C++ pre-commit hooks for static analyzers and linters | reddit.com/r/cpp | 2021-09-13

    I maintain pre-commit hooks for C/C++ linters and static analyzers using the pre-commit framework. These allow you to verify that your code is free of common errors and to format it consistently. Included are

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo isort

    A Python utility / library to sort imports.

    Project mention: Automate Clean Code and Linting in Python | dev.to | 2021-08-22

    isort 4.1k+ ⭐️

  • GitHub repo proselint

    A linter for prose.

    Project mention: Markdown Linting | dev.to | 2021-08-19

    proselint

  • GitHub repo Pylint

    It's not just a linter that annoys you!

    Project mention: https://np.reddit.com/r/Slovakia/comments/pmoxmf/počet_úmrtí_vs_vek/hcmc1o3/ | reddit.com/r/backtickbot | 2021-09-12
  • GitHub repo bandit

    Bandit is a tool designed to find common security issues in Python code.

    Project mention: How do i go about building a vidoe conferencing app? | reddit.com/r/rust | 2021-08-20

    Rust can do more compile-time correctness enforcement than MyPy (TypeScript-like gradual typing), Flake8, PyLint, and Bandit, which I run on save via the ALE plugin for gVim.

  • GitHub repo pytype

    A static type analyzer for Python code

    Project mention: Type Checkers: which one you use and why? | reddit.com/r/Python | 2021-08-18

    The main ones I can think about are: * mypy * pytype * pyright

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo pre-commit-hooks

    Some out-of-the-box hooks for pre-commit

    Project mention: Using Prettier with Prisma.io (pre-commit config) | dev.to | 2021-08-25

    - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.3.2 # Use the sha or tag you want to point at hooks: - id: prettier additional_dependencies: - [email protected] - '[email protected]' - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.4.0 hooks: - id: trailing-whitespace - id: check-merge-conflict - id: check-yaml - id: end-of-file-fixer - id: no-commit-to-branch args: [-b, main, -b, production, -b, staging]

  • GitHub repo cfn-python-lint

    CloudFormation Linter

    Project mention: One week at globaldatanet as AWS Cloud Engineer - David Edition | dev.to | 2021-04-28

    { "week": [ { "Id": "16", "AWS-Services": [ "AWS CloudFormation", "AWS CloudTrail", "AWS Config", "Amazon CloudFront", "AWS Cost Explorer", "AWS Lambda", "AWS Key Management Service", "Amazon Athena" ], "Languages": [ "Python", "nodejs", ], "Tools": [ { "name": "ORGTOOL", "github": "https://github.com/daknhh/aws-orgtool" }, { "name": "cfn-python-lint", "github": "https://github.com/aws-cloudformation/cfn-python-lint" }, { "name": "cfn-diagram", "github": "https://github.com/mhlabs/cfn-diagram" }, { "name": "Taskfile", "github": "https://github.com/Wildhoney/Taskfile" } ], } ] }

  • GitHub repo yamllint

    A linter for YAML files.

    Project mention: The Norway Problem | news.ycombinator.com | 2021-04-03

    You can catch this with yamllint (https://github.com/adrienverge/yamllint):

        % cat countries.yml

  • GitHub repo wemake-python-styleguide

    The strictest and most opinionated python linter ever!

    Project mention: flake8-cached - a wrapper around flake8 to cache file runs | reddit.com/r/Python | 2021-05-20

    I use flake8 with [wemake-python-style-guide](https://wemake-python-stylegui.de/) plugin. It takes around 2mins to run the linter for some mid-range web apps. I have created https://github.com/jnoortheen/flake8-cached to speed up this process. I use it with Pycharm's filewatcher. It is a simple wrapper and intended to be used only during development with a fs watcher.

  • GitHub repo Flake8

    flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.

    Project mention: https://np.reddit.com/r/Slovakia/comments/pmoxmf/počet_úmrtí_vs_vek/hcmc1o3/ | reddit.com/r/backtickbot | 2021-09-12
  • GitHub repo prospector

    Inspects Python source files and provides information about type and location of classes, methods etc

  • GitHub repo pyupgrade

    A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.

    Project mention: Chickity-check yo self before you wreck yo self! | dev.to | 2021-07-06

    --- # .pre-commit-config.yaml # ======================== # # pre-commit clean # pre-commit install # pre-commit install-hooks # # precommit hooks installation # # - pre-commit autoupdate # # - pre-commit run black # # continuous integration # ====================== # # - pre-commit run --all-files # repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: debug-statements - id: check-merge-conflict - id: sort-simple-yaml - id: fix-encoding-pragma args: ["--remove"] - id: forbid-new-submodules - id: mixed-line-ending args: ["--fix=lf"] description: Forces to replace line ending by the UNIX 'lf' character. - id: check-added-large-files args: ["--maxkb=500"] - id: no-commit-to-branch args: [--branch, master] - id: check-yaml - id: check-json files: ^tests/app/ - id: pretty-format-json args: ["--no-sort-keys", "--autofix"] files: ^tests/app/ - repo: meta hooks: - id: check-hooks-apply - id: check-useless-excludes - repo: https://github.com/ambv/black rev: 21.5b1 hooks: - id: black language_version: python3.9 - repo: https://github.com/PyCQA/bandit rev: 1.7.0 hooks: - id: bandit description: Security oriented static analyser for python code exclude: tests/|scripts/ args: - -s - B101 - repo: https://github.com/codespell-project/codespell rev: v2.1.0 hooks: - id: codespell name: codespell description: Checks for common misspellings in text files. entry: codespell language: python types: [text] - repo: https://github.com/asottile/pyupgrade rev: v2.19.4 hooks: - id: pyupgrade

  • GitHub repo cpplint

    Static code checker for C++

    Project mention: C/C++ pre-commit hooks for static analyzers and linters | reddit.com/r/cpp | 2021-09-13

    and five C/C++ static code analyzers: * clang-tidy * oclint * cppcheck * cpplint (recently added!) * include-what-you-use (recently added!)

  • GitHub repo pydocstyle

    docstring style checker

    Project mention: What's your 5(ish) year career plan? | reddit.com/r/networking | 2021-07-05

    something like pydocstyle and make sure all your functions and classes are correctly documented.

  • GitHub repo pylama

    Code audit tool for python.

  • GitHub repo flake8-bugbear

    A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle.

  • GitHub repo PEP 8 Speaks

    A GitHub :octocat: app to automatically review Python code style over Pull Requests

  • GitHub repo autoflake

    Removes unused imports and unused variables as reported by pyflakes

    Project mention: Automate Clean Code and Linting in Python | dev.to | 2021-08-22

    autoflake 400+⭐️

  • GitHub repo flynt

    A tool to automatically convert old string literal formatting to f-strings (by ikamensh)

    Project mention: Python Best Practices for a New Project in 2021 | news.ycombinator.com | 2021-07-05

    That is a great write-up! One extra bit I'd recommend to this list is using https://github.com/ikamensh/flynt to convert string format into f-strings. It requires Python 3.6.

  • GitHub repo best-of-python-dev

    🏆 A ranked list of awesome python developer tools and libraries. Updated weekly.

    Project mention: [P] best-of-ml-python: A ranked list of awesome machine learning Python libraries | reddit.com/r/MachineLearning | 2021-01-14

    best-of-python-dev: Python developer tools and libraries:

  • GitHub repo django-migration-linter

    :rocket: Detect backward incompatible migrations for your django project

    Project mention: Does anyone use ci/cd for deploying database changes? | reddit.com/r/Database | 2021-08-18

    There's actually a Django package called django-migration-linter that can help with this by spotting migrations that could break under that condition: https://github.com/3YOURMIND/django-migration-linter

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-09-13.

Index

What are some of the best open-source Linter projects in Python? This list will help you:

Project Stars
1 mypy 11,278
2 pre-commit 6,510
3 isort 4,147
4 proselint 3,786
5 Pylint 3,551
6 bandit 3,479
7 pytype 3,434
8 pre-commit-hooks 2,339
9 cfn-python-lint 1,672
10 yamllint 1,652
11 wemake-python-styleguide 1,620
12 Flake8 1,480
13 prospector 1,457
14 pyupgrade 1,133
15 cpplint 870
16 pydocstyle 811
17 pylama 807
18 flake8-bugbear 584
19 PEP 8 Speaks 558
20 autoflake 426
21 flynt 405
22 best-of-python-dev 336
23 django-migration-linter 301
Find remote jobs at our new job board 99remotejobs.com. There are 22 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com