Python Linter

Open-source Python projects categorized as Linter | Edit details

Top 23 Python Linter Projects

  • GitHub repo mypy

    Optional static typing for Python

    Project mention: mypy alternatives - pytype and pyright | libhunt.com/r/mypy | 2021-10-30
  • GitHub repo pre-commit

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

    Project mention: I think I just had my first "coder moment" in Python. My program wasn't working, so I look, and look and look. Until finally.... | reddit.com/r/Python | 2021-11-26

    I've found the magic that is pre-commit. You pip install pre-commit, create a file called .pre-commit-config.yaml, put some repos in there (examples on the site).

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo isort

    A Python utility / library to sort imports.

    Project mention: Python Code Quality - Improve the quality of your Python code with linters, code formatters, and security vulnerability scanners | reddit.com/r/Python | 2021-11-07

    yaml repos: - repo: https://github.com/myint/autoflake rev: v1.4 hooks: - id: autoflake args: - --in-place - --remove-all-unused-imports - --expand-star-imports - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/asottile/pyupgrade rev: v2.29.0 hooks: - id: pyupgrade args: [--py36-plus] - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort - repo: https://github.com/psf/black rev: 21.10b0 hooks: - id: black args: [--safe, --quiet] - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 - repo: local hooks: - id: pylint name: pylint entry: pylint language: system types: [python] args: [ "-rn", "-sn", ] - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.910-1 hooks: - id: mypy name: mypy entry: mypy language: python types: [python] args: [] require_serial: true - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.4.1 hooks: - id: prettier args: [--prose-wrap=always, --print-width=88]

  • GitHub repo proselint

    A linter for prose.

    Project mention: Is there a reliable Grammarly package for Emacs? | reddit.com/r/emacs | 2021-11-09

    Vale uses a customizable grammar checker, and you can download some open-source configurations to start working with from the link above. Then, you just need to add something like below to your Emacs configuration: (flycheck-define-checker vale "A prose linter" :command ("vale" "--output" "line" source) :standard-input nil :error-patterns ((error line-start (file-name) ":" line ":" column ":" (id (one-or-more (not (any ":")))) ":" (message) line-end)) :modes (markdown-mode org-mode text-mode) ) (add-to-list 'flycheck-checkers 'vale 'append) (setq flycheck-vale-executable "/usr/local/bin/vale") It looks like you can do something similar with Proselint, which looks wonderful and I have been meaning to try using in my day-to-day: https://unconj.ca/blog/linting-prose-in-emacs.html .

  • GitHub repo bandit

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

    Project mention: Check your code in Python notebooks | dev.to | 2021-10-26

    Our plugin surfaces semantic issues in your Python code. In the example above, it detects invalid file mode being used to open the file as well as dictionary key issues. Our plugin is powered by multiple open-source tools (such as Pylint or Bandit) that surface common errors Python programmers do. By using our plugin, you not only ensure that your code adheres to good coding practices and but also detect bugs in seconds as you write code in your browser. After lots of interviews with developers, one thing that stood out was: “When it comes to reviewing the code, by the time the code hits GitHub is already too late” why? because imagine programming for 3 to 4 hours, only to be told part of your code next to be fixed. So we started working on a faster more effective way to review your code, one that catches the bug when you write it, so it’s easier for you to fix.

  • GitHub repo Pylint

    It's not just a linter that annoys you!

    Project mention: When is it bad to use OOP? | reddit.com/r/learnpython | 2021-09-30

    So it doesn't say it isn't justified, it indicates that you might want to reconsider. So by leaving out that nuance, you're promoting this to a binary bad/wrong label which it really isn't. Also consider it's a bit obsolete in context of for example dataclasses and custom exceptions, as those often have 0 methods unless you need something extra from them. See for example complaint tickets about these https://github.com/PyCQA/pylint/issues/4464 and https://github.com/PyCQA/pylint/issues/3732. So to summarize, using a linter's best effort to indicate something that can easily be a non-issue isn't exactly the best source for programming style rules.

  • GitHub repo pytype

    A static type analyzer for Python code

    Project mention: mypy alternatives - pytype and pyright | libhunt.com/r/mypy | 2021-10-30

    another library to check typing in python code (by google)

  • 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 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: Noob Cloudformation Template Error | reddit.com/r/aws | 2021-10-13
  • GitHub repo yamllint

    A linter for YAML files.

    Project mention: CloudFormation Noob - using YAML | reddit.com/r/AWS_Certified_Experts | 2021-10-09

    Or, run Yamllint externally. I do this, because I have more control: https://github.com/adrienverge/yamllint

  • 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: Python Code Quality - Improve the quality of your Python code with linters, code formatters, and security vulnerability scanners | reddit.com/r/Python | 2021-11-07

    yaml repos: - repo: https://github.com/myint/autoflake rev: v1.4 hooks: - id: autoflake args: - --in-place - --remove-all-unused-imports - --expand-star-imports - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/asottile/pyupgrade rev: v2.29.0 hooks: - id: pyupgrade args: [--py36-plus] - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort - repo: https://github.com/psf/black rev: 21.10b0 hooks: - id: black args: [--safe, --quiet] - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 - repo: local hooks: - id: pylint name: pylint entry: pylint language: system types: [python] args: [ "-rn", "-sn", ] - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.910-1 hooks: - id: mypy name: mypy entry: mypy language: python types: [python] args: [] require_serial: true - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.4.1 hooks: - id: prettier args: [--prose-wrap=always, --print-width=88]

  • 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: Python is getting faster so does Django | reddit.com/r/django | 2021-11-17

    pyupgrade is a pretty sweet tool https://github.com/asottile/pyupgrade

  • GitHub repo pyflakes

    A simple program which checks Python source files for errors

    Project mention: Code Quality Tools in Python | dev.to | 2021-10-09

    Flake8: a combination of following linters: PyFlakes, pycodestyle, Ned Batchelder’s McCabe script

  • 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: Code Quality Tools in Python | dev.to | 2021-10-09

    pydocstyle

  • GitHub repo pylama

    Code audit tool for python.

    Project mention: Advice on training Python best practices | reddit.com/r/learnpython | 2021-11-22

    Lint your code. I recommend pylama.

  • 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: Python Code Quality - Improve the quality of your Python code with linters, code formatters, and security vulnerability scanners | reddit.com/r/Python | 2021-11-07

    yaml repos: - repo: https://github.com/myint/autoflake rev: v1.4 hooks: - id: autoflake args: - --in-place - --remove-all-unused-imports - --expand-star-imports - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/asottile/pyupgrade rev: v2.29.0 hooks: - id: pyupgrade args: [--py36-plus] - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort - repo: https://github.com/psf/black rev: 21.10b0 hooks: - id: black args: [--safe, --quiet] - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 - repo: local hooks: - id: pylint name: pylint entry: pylint language: system types: [python] args: [ "-rn", "-sn", ] - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.910-1 hooks: - id: mypy name: mypy entry: mypy language: python types: [python] args: [] require_serial: true - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.4.1 hooks: - id: prettier args: [--prose-wrap=always, --print-width=88]

  • GitHub repo flynt

    A tool to automatically convert old string literal formatting to f-strings

    Project mention: formatting issues | reddit.com/r/learnpython | 2021-10-17
  • 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:

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-11-26.

Python Linter related posts

Index

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

Project Stars
1 mypy 11,863
2 pre-commit 6,889
3 isort 4,323
4 proselint 3,818
5 bandit 3,716
6 Pylint 3,688
7 pytype 3,518
8 pre-commit-hooks 2,559
9 cfn-python-lint 1,750
10 yamllint 1,732
11 wemake-python-styleguide 1,691
12 Flake8 1,650
13 prospector 1,542
14 pyupgrade 1,280
15 pyflakes 1,089
16 cpplint 912
17 pydocstyle 829
18 pylama 819
19 flake8-bugbear 640
20 PEP 8 Speaks 561
21 autoflake 452
22 flynt 429
23 best-of-python-dev 374
Find remote jobs at our new job board 99remotejobs.com. There are 34 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