Python

The Best Python Static Analysis Tools (Linters/Formatters)

We rank 135 Python linters, code analyzers, formatters, and more. Find and compare tools like Black, Mega-Linter, mypy, and more. Please rate and review tools that you've used. This helps others find the best tools for their projects.

59 Python Tools

199

Black

The uncompromising Python code formatter.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedformatter
  • 86% upvoted
94

mypy

A static type checker that aims to combine the benefits of duck typing and static typing, frequently used with MonkeyType.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 91% upvoted
61

flake8

A wrapper around pyflakes, pycodestyle and mccabe.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedmeta
  • 90% upvoted
50

pylint

Looks for programming errors, helps enforcing a coding standard and sniffs for some code smells. It additionally includes pyreverse (an UML diagram generator) and symilar (a similarities checker).

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 85% upvoted
39

ruff

Fast Python linter, written in Rust. 10-100x faster than existing linters. Compatible with Python 3.10. Supports file watcher.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 98% upvoted
24

bandit

A tool to find common security issues in Python code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 82% upvoted
16

pyright

Static type checker for Python, created to address gaps in existing tools like mypy.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 86% upvoted
14

jedi

Autocompletion/static analysis library for Python.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 82% upvoted
10

wemake-python-styleguide

The strictest and most opinionated python linter ever.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 78% upvoted
9

pycodestyle

(Formerly pep8) Check Python code against some of the style conventions in PEP 8.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 100% upvoted
8

pydocstyle

Check compliance with Python docstring conventions.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 90% upvoted
6

unimport

A linter, formatter for finding and removing unused import statements.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • MaintainedlinterMaintainedformatter
  • 80% upvoted
5

pyflakes

Check Python source files for errors.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 73% upvoted
4

vulture

Find unused classes, functions and variables in Python code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 75% upvoted
3

bellybutton

A linting engine supporting custom project-specific rules.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 80% upvoted
3

Pysa

A tool based on Facebook's pyre-check to identify potential security issues in Python code identified with taint analysis.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 64% upvoted
2

Dlint

A tool for ensuring Python code is secure.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 63% upvoted
2

prospector

A wrapper around pylint, pep8, mccabe and others.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedmeta
  • 75% upvoted
2

PyT - Python Taint

A static analysis tool for detecting security vulnerabilities in Python web applications.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 100% upvoted
2

pytype

A static type analyzer for Python code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 75% upvoted
2

xenon

Monitor code complexity using radon.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 67% upvoted
1

Bowler

Safe code refactoring for modern Python. Bowler is a refactoring tool for manipulating Python at the syntax tree level. It enables safe, large scale code modifications while guaranteeing that the resulting code compiles and runs. It provides both a simple command line interface and a fluent API in Python for generating complex code modifications in code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 100% upvoted
1

Code Pathfinder

An open-source security suite aiming to combine structural code analysis with AI-powered vulnerability detection. Built for advanced structural search, derive insights, find vulnerabilities in code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 100% upvoted
1

InspectorTiger

IT, Inspector Tiger, is a modern python code review tool / framework. It comes with bunch of pre-defined handlers which warns you about improvements and possible bugs. Beside these handlers, you can write your own or use community ones.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 100% upvoted
1

mccabe

Check McCabe complexity.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 67% upvoted
1

pyre-check

A fast, scalable type checker for large Python codebases. Pyre-check has been superseded by Pyrefly, its next iteration.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 56% upvoted
1

radon

A Python tool that computes various metrics from the source code.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 67% upvoted
1

wily

A command-line tool for archiving, exploring and graphing the complexity of Python source code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 100% upvoted
1

CrossHair

Symbolic execution engine for testing Python contracts.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 100% upvoted
1

Scalene

A high-performance, high-precision CPU and memory profiler for Python

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedprofiler
  • 100% upvoted
0

autoflake

Autoflake removes unused imports and unused variables from Python code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

cohesion

A tool for measuring Python class cohesion.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 50% upvoted
0

deal

Design by contract for Python. Write bug-free code. By adding a few decorators to your code, you get for free tests, static analysis, formal verification, and much more.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

Dodgy

Dodgy is a very basic tool to run against your codebase to search for "dodgy" looking values. It is a series of simple regular expressions designed to detect things such as accidental SCM diff checkins, or passwords or secret keys hard coded into files.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

ENRE-py

ENRE (ENtity Relationship Extractor) is a tool for extraction of code entity dependencies or relationships from source code. ENRE-py is a ENtity Relationship Extractor for Python based on Python Language Services of The Standard Library.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 0% upvoted
0

flakeheaven

flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedmeta
  • 0% upvoted
0

Griffe

Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

linty fresh

Parse lint errors and report them to Github as comments on a pull request.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 50% upvoted
0

mbake

mbake is a Makefile formatter and linter. It only took 50 years!

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • MaintainedlinterMaintainedformatter
  • 0% upvoted
0

multilint

A wrapper around flake8, isort and modernize.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedmeta
  • 0% upvoted
0

pip-audit

Tool for scanning Python packages for known vulnerabilities. Developed by the Python Packaging Authority (PyPA) and supported by Trail of Bits and Google. Scans Python environments and requirements files to identify vulnerable packages and suggests remediation. Supports GitHub Actions, pre-commit hooks, and multiple vulnerability service integrations.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

py-find-injection

Find SQL injection vulnerabilities in Python code.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedlinter
  • 0% upvoted
0

pylyzers

A static code analyzer / language server for Python, written in Rust, focused on type checking and readable output.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

Pyra

Pyra is a high-level linter static analyzer for data science applications written in Python, that helps developers identify potential issues in their data science code written in Python, as an extension of Lyra.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

pyrefly

A fast, incremental type checker and language server for Python, providing IDE features like code navigation, semantic highlighting, and code completion.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

pyroma

Rate how well a Python project complies with the best practices of the Python packaging ecosystem, and list issues that could be improved.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 50% upvoted
0

pyupgrade

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

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

QuantifiedCode

Automated code review & repair. It helps you to keep track of issues and metrics in your software projects, and can be easily extended to support new types of analyses.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedservice
  • Deprecatedlinter
  • 0% upvoted
0

refurb

A tool for refurbishing and modernizing Python codebases. Refurb is heavily inspired by clippy, the built-in linter for Rust.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

Safety

Python dependency vulnerability scanner designed to enhance software supply chain security by detecting packages with known vulnerabilities. Checks Python dependencies against a database of known security vulnerabilities and provides detailed reports. Supports CI/CD integration and multiple output formats.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

ty

An extremely fast Python type checker written in Rust.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

DynaPyt

DynaPyt is a framework for writing dynamic analyses for Python. The analyses can also modify runtime values to alter the execution.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

icontract

Design-by-contract library supporting behavioral subtyping There is also a wider tooling around the icontract library such as a linter (pyicontract-lint) and a plug-in for Sphinx (sphinx-icontract).

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

typo

Runtime Type Checking for Python 3.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
-1

autopep8

A tool that automatically formats Python code to conform to the PEP 8 style guide. It uses the pycodestyle utility to determine what parts of the code needs to be formatted.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedformatter
  • 0% upvoted
-1

ciocheck

Linter, formatter and test suite helper. As a linter, it is a wrapper around pep8, pydocstyle, flake8, and pylint.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • DeprecatedformatterDeprecatedmeta
  • 33% upvoted
-1

pyanalyze

A tool for programmatically detecting common mistakes in Python code, such as references to undefined variables and type errors. It can be extended to add additional rules and perform checks specific to particular functions.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
-1

yapf

A formatter for Python files created by Google YAPF follows a distinctive methodology, originating from the 'clang-format' tool created by Daniel Jasper. Essentially, the program reframes the code to the most suitable formatting that abides by the style guide, even if the original code already follows the style guide. This concept is similar to the Go programming language's 'gofmt' tool, which aims to put an end to debates about formatting by having the entire codebase of a project pass through YAPF whenever changes are made, thereby maintaining a consistent style throughout the project and eliminating the need to argue about style in every code review.

  • DeprecatedDeprecated
  • DeprecatedPython
  • Deprecatedcli
  • Deprecatedformatter
  • 0% upvoted
-2

fixit

A framework for creating lint rules and corresponding auto-fixes for source code.

  • MaintainedMaintained
  • MaintainedPython
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted

76 Multi-Language Tools

139

Mega-Linter

Mega-Linter can handle any type of project thanks to its 70+ embedded Linters, its advanced reporting, runnable on any CI system or locally, with assisted installation and configuration, able to apply formatting and fixes

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 67% upvoted
89

Semgrep

Sponsor

A fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time. Its rules look like the code you already write; no abstract syntax trees or regex wrestling. Supports 17+ languages.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedservice
  • Maintainedlinter
  • 77% upvoted
36

Sonatype

Reports known vulnerabilities in common dependencies and recommends updated packages to minimize breaking changes

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 70% upvoted
26

ThreatMapper

Vulnerability Scanner and Risk Evaluation for containers, serverless and hosts at runtime. ThreatMapper generates runtime BOMs from dependencies and operating system packages, matches against multiple threat feeds, scans for unprotected secrets, and scores issues based on severity and risk-of-exploit.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 84% upvoted
22

CodeScene

CodeScene is a quality visualization tool for software. Prioritize technical debt, detect delivery risks, and measure organizational aspects. Fully automated.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 63% upvoted
22

Sigrid

Sigrid helps you to improve your software by measuring your system's code quality, and then compares the results against a benchmark of thousands of industry systems to give you concrete advice on areas where you can improve.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedservice
  • Maintainedlinter
  • 89% upvoted
17

trunk

Modern repositories include many technologies, each with its own set of linters. With 30+ linters and counting, Trunk makes it dead-simple to identify, install, configure, and run the right linters, static analyzers, and formatters for all your repos.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • MaintainedlinterMaintainedformatter
  • 77% upvoted
16

Coverity

Synopsys Coverity supports 20 languages and over 70 frameworks including Ruby on rails, Scala, PHP, Python, JavaScript, TypeScript, Java, Fortran, C, C++, C#, VB.NET.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 63% upvoted
16

DeepSource

In-depth static analysis to find issues in verticals of bug risks, security, anti-patterns, performance, documentation and style. Native integrations with GitHub, GitLab and Bitbucket. Less than 5% false positives.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 69% upvoted
16

Pixee

Sponsor

Pixeebot finds security and code quality issues in your code and creates merge-ready pull requests with recommended fixes.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • 94% upvoted
12

Joern

Joern is a platform for analyzing source code, bytecode, and binary executables. It generates code property graphs (CPGs), a graph representation of code for cross-language code analysis. Code property graphs are stored in a custom graph database. This allows code to be mined using search queries formulated in a Scala-based domain-specific query language. Joern is developed with the goal of providing a useful tool for vulnerability discovery and research in static program analysis.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 88% upvoted
10

callGraph

Statically generates a call graph image and displays it on screen.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 73% upvoted
10

Codemodder

Codemodder is a pluggable framework for building expressive codemods. Use Codemodder when you need more than a linter or code formatting tool. Use it to fix non-trivial security issues and other code quality problems.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 92% upvoted
9

Better Code Hub

Better Code Hub checks your GitHub codebase against 10 engineering guidelines devised by the authority in software quality, Software Improvement Group.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 64% upvoted
9

DeepCode

DeepCode was acquired by Snyk is now Snyk Code.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • Deprecatedservice
  • Deprecatedlinter
  • 57% upvoted
9

DerScanner

Multi-language Static Application Security Testing (SAST) platform that detects critical vulnerabilities, including hardcoded secrets, weak cryptography, backdoors, SQL injections, insecure configurations, etc.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedservice
  • Maintainedlinter
  • 76% upvoted
4

Codeac

Automated code review tool integrates with GitHub, Bitbucket and GitLab (even self-hosted). Available for JavaScript, TypeScript, Python, Ruby, Go, PHP, Java, Docker, and more. (open-source free)

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 67% upvoted
4

codeql

Deep code analysis - semantic queries and dataflow for several languages with VSCode plugin support.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedserviceMaintainedide-plugin
  • Maintainedlinter
  • 61% upvoted
3

Codacy

Code Analysis to ship Better Code, Faster.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 54% upvoted
2

ast-grep

ast-grep is a powerful tool designed for managing code at scale using Abstract Syntax Trees (AST). Think of it as a hybrid of grep, eslint, and codemod, with the ability to search, lint, and rewrite code based on its structure rather than plain text. It supports multiple languages and is designed to be extensible, allowing you to register custom languages.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedide-plugin
  • Maintainedlinter
  • 100% upvoted
2

Checkmarx CxSAST

Commercial Static Code Analysis which doesn't require pre-compilation.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 52% upvoted
2

CodeQue

Ecosystem for structural matching JavaScript and TypeScript code. Offers search tool that understands code structure. Available as CLI tool and Visual Studio Code extension. It helps to search code faster and more accurately making you workflow more effective. Soon it will offer ESLint plugin to create your own rules in minutes to help with assuring codebase quality.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedide-plugin
  • Maintainedlinter
  • 100% upvoted
2

Codety

Codety Scanner is a comprehensive source code scanner that embeds 5000+ static code analysis rules, which aim to detect code issues for 20+ programming languages and IaC tools.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 67% upvoted
2

cpp-linter-action

A Github Action for linting C/C++ code integrating clang-tidy and clang-format to collect feedback provided in the form of thread comments and/or annotations.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 75% upvoted
2

Snyk Code

Snyk Code finds security vulnerabilities based on AI. Its speed of analysis allow us to analyse your code in real time and deliver results when you hit the save button in your IDE. Supported languages are Java, JavaScript, Python, PHP, C#, Go and TypeScript. Integrations with GitHub, BitBucket and Gitlab. It is free to try and part of the Snyk platform also covering SCA, containers and IaC.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 67% upvoted
2

SonarQube Server

SonarQube empowers development teams with a code quality and security solution that deeply integrates into your enterprise environment; enabling you to deploy clean code consistently and reliably. SonarQube provides a free and open source Community Build.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 100% upvoted
1

ale

Asynchronous Lint Engine for Vim and NeoVim with support for many languages.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedide-plugin
  • Maintainedlinter
  • 67% upvoted
1

imhotep

Comment on commits coming into your repository and check for syntactic errors and general lint warnings.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • Deprecatedcli
  • Deprecatedmeta
  • 100% upvoted
1

lizard

Lizard is an extensible Cyclomatic Complexity Analyzer for many programming languages including C/C++ (doesn't require all the header files or Java imports). It also does copy-paste detection (code clone detection/code duplicate detection) and many other forms of static code analysis. Counts lines of code without comments, CCN (cyclomatic complexity number), token count of functions, parameter count of functions.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 57% upvoted
1

Precaution

Precaution is a static analysis security tool (SAST) designed to find potentially critical vulnerabilities in source code prior to production. It is available as a CLI, GitHub Action, and GitHub App.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedservice
  • Maintainedlinter
  • 100% upvoted
1

TencentCodeAnalysis

Tencent Cloud Code Analysis (TCA for short, code-named CodeDog inside the company early) is a comprehensive platform for code analysis and issue tracking. TCA consist of three components, server, web and client. It integrates of a number of self-developed tools, and also supports dynamic integration of code analysis tools in various programming languages.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedservice
  • Maintainedlinter
  • 57% upvoted
1

Xygeni

Xygeni is a comprehensive Software Supply Chain Security platform. It provides Advanced SAST with AI-powered remediation, Software Composition Analysis (SCA) with real-time malware detection, Infrastructure as Code (IaC) scanning, and Secrets detection to ensure end-to-end code security.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 100% upvoted
0

Atom-Beautify

Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom editor.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • Deprecatedide-plugin
  • Deprecatedlinter
  • 50% upvoted
0

BlockWatch

A language-agnostic linter that keeps code, documentation, and configuration in sync and enforces strict formatting and validation rules.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

Code-Graph-RAG

Builds knowledge graphs from multi-language codebases using Tree-sitter AST parsing and stores them in Memgraph. Supports 11 programming languages with a unified graph schema and enables natural language querying and editing of code structure and relationships. Functions as an MCP server for AI assistant integration.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedmeta
  • 0% upvoted
0

Codiga

Automated Code Reviews and Technical Debt management platform that supports 12+ languages.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 50% upvoted
0

Corgea

Corgea is an AI-powered SAST scanner that helps developers find and fix insecure code. It finds business logic flaws, broken authentication, API vulnerabilities, and more with little false positives. Additionally, it automatically writes security fixes for them to approve. Corgea integrates with GitHub, GitLab, Azure DevOps, IDEs and CLI. It is free to try it.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedservice
  • Maintainedlinter
  • 0% upvoted
0

Enforster AI

Enforster AI performs Contextual Code Security SAST, leveraging LLMs and artificial intelligence to reduce and enrich the detection of Logic Flaws, Secrets, Data leaks, Supply chain and technical vulnerabilities.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 0% upvoted
0

include-gardener

A multi-language static analyzer for C/C++/Obj-C/Python/Ruby to create a graph (in dot or graphml format) which shows all #include relations of a given set of files.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • Deprecatedcli
  • Deprecatedformatter
  • 0% upvoted
0

keploy

Keploy is an open-source testing platform that helps developers automate and streamline their testing process. It provides API, and integration testing agents, generating tests, mocks/stubs for APIs that actually work. Additionally, Keploy offers an AI-powered Unit Testing Agent that generates stable, useful unit tests directly in your GitHub PRs and in VSCode, helping catch errors and improve code quality.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

Kiuwan

Identify and remediate cyber threats in a blazingly fast, collaborative environment, with seamless integration in your SDLC. Python, C\C++, Java, C#, PHP and more.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 50% upvoted
0

LangLint

Automated translation platform for code comments and docstrings across 20+ file types. Eliminates language barriers in international software collaboration. Supports 100+ language pairs with syntax protection. Integrates into CI/CD pipelines like Ruff. 10-20x faster with concurrent processing.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

MOPSA

A static analyzer designed to easily reuse abstract domains across widely different languages (such as C and Python).

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

pylama

Code audit tool for Python and JavaScript. Wraps pycodestyle, pydocstyle, PyFlakes, Mccabe, Pylint, and more

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

Scrutinizer

A proprietary code quality checker that can be integrated with GitHub.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • Deprecatedservice
  • Deprecatedlinter
  • 50% upvoted
0

Skylos

Dead code detection, security scanning, secrets detection, and code quality analysis for Python, TypeScript, and Go. Framework-aware analysis with 98% recall. Includes CI/CD GitHub Action, VS Code extension, and MCP server for AI agent integration.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

SonarQube Cloud

SonarQube Cloud enables your team to deliver clean code consistently and efficiently with a code review tool that easily integrates into the cloud DevOps platforms and extend your CI/CD workflow. SonarQube Cloud provides a free plan.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 0% upvoted
0

SonarQube for IDE

SonarQube for IDE (formerly SonarLint) is a free IDE extension available for IntelliJ, VS Code, Visual Studio, and Eclipse, to find and fix coding issues in real-time, flagging issues as you code, just like a spell-checker. More than a linter, it also delivers rich contextual guidance to help developers understand why there is an issue, assess the risk, and educate them on how to fix it.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
0

Unibeautify

Universal code beautifier with a GitHub app. Supports HTML, CSS, JavaScript, TypeScript, JSX, Vue, C++, Go, Objective-C, Java, Python, PHP, GraphQL, Markdown, and more.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedcliMaintainedservice
  • Maintainedformatter
  • 50% upvoted
-1

Betterscan CE

Sponsor

Checks your code and infra (various Git repositories supported, cloud stacks, CLI, Web Interface platform, integrationss available) for security and quality issues. Code Scanning/SAST/Linting using many tools/Scanners deduplicated with One Report (AI optional).

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • Deprecatedcli
  • Deprecatedlinter
  • 40% upvoted
-1

Cobra

Structural source code analyzer by NASA's Jet Propulsion Laboratory.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 43% upvoted
-1

CodeSee

CodeSee is mapping and automating your app's services, directories, file dependencies, and code changes. It's like Google Map, but for code.t

  • MaintainedMaintained
  • MaintainedMulti-Language
  • MaintainedserviceMaintainedide-plugin
  • Maintainedlinter
  • 33% upvoted
-1

pfff

Facebook's tools for code analysis, visualizations, or style-preserving source transformation for many languages.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedformatter
  • 43% upvoted
-1

relint

A static file linter that allows you to write custom rules using regular expressions (RegEx).

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 33% upvoted
-1

Synopsys

A commercial static analysis platform that allows for scanning of multiple languages (C/C++, Android, C#, Java, JS, PHP, Python, Node.JS, Ruby, Fortran, and Swift).

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 43% upvoted
-1

todocheck

Linter for integrating annotated TODOs with your issue trackers

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 44% upvoted
-2

ApplicationInspector

Creates reports of over 400 rule patterns for feature detection (e.g. the use of cryptography or version control in apps).

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 38% upvoted
-2

CodeFactor

Automated Code Analysis for repos on GitHub or BitBucket.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 40% upvoted
-2

emerge

Emerge is a source code and dependency visualizer that can be used to gather insights about source code structure, metrics, dependencies and complexity of software projects. After scanning the source code of a project it provides you an interactive web interface to explore and analyze your project by using graph structures.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • DeprecatedcliDeprecatedservice
  • Deprecatedlinter
  • 33% upvoted
-2

OpenRewrite

OpenRewrite fixes common static analysis issues reported through Sonar and other tools using a Maven and Gradle plugin or the Moderne CLI.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • MaintainedlinterMaintainedformatter
  • 25% upvoted
-2

OpenStaticAnalyzer

OpenStaticAnalyzer is a source code analyzer tool, which can perform deep static analysis of the source code of complex systems.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
-2

Qwiet AI

Identify vulnerabilities that are unique to your code base before they reach production. Leverages the Code Property Graph (CPG) to run its analyses concurrently in a single graph of graphs. Automatically finds business logic flaws in dev like hardcoded secrets and logic bombs

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 0% upvoted
-2

Semgrep Supply Chain

Quickly find and remediate high-priority security issues. Semgrep Supply Chain prioritizes the 2% of vulnerabilities that are reachable from your code.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 0% upvoted
-2

SourceMeter

Static Code Analysis for C/C++, Java, C#, Python, and RPG III and RPG IV versions (including free-form).

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 0% upvoted
-3

autocorrect

A linter and formatter to help you to improve copywriting, correct spaces, words, punctuations between CJK (Chinese, Japanese, Korean).

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • MaintainedlinterMaintainedformatter
  • 0% upvoted
-3

CodeFlow

Automated code analysis tool to deal with technical depth. Integrates with Bitbucket and Gitlab. (free for Open Source Projects)

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 29% upvoted
-3

Fortify

A commercial static analysis platform that supports the scanning of C/C++, C#, VB.NET, VB6, ABAP/BSP, ActionScript, Apex, ASP.NET, Classic ASP, VB Script, Cobol, ColdFusion, HTML, Java, JS, JSP, MXML/Flex, Objective-C, PHP, PL/SQL, T-SQL, Python (2.6, 2.7), Ruby (1.9.3), Swift, Scala, VB, and XML.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedide-plugin
  • Maintainedlinter
  • 47% upvoted
-3

graudit

Grep rough audit - source code auditing tool.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 29% upvoted
-3

StaticReviewer

Static Reviewer executes code checks according to the most relevant Secure Coding Standards, OWASP, CWE, CVE, CVSS, MISRA, CERT, for 40+ programming languages, using 1000+ built-in validation rules for Security, Deadcode & Best Practices Available a module for Software Composition Analysis (SCA) to find vulnerabilities in open source and third party libraries.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 36% upvoted
-4

DevSkim

Regex-based static analysis tool for Visual Studio, VS Code, and Sublime Text - C/C++, C#, PHP, ASP, Python, Ruby, Java, and others.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedide-plugin
  • Maintainedlinter
  • 33% upvoted
-4

LGTM

Find security vulnerabilities, variants, and critical code quality issues using CodeQL queries over source code. Automatic PR code review; free for open source. Formerly semmle. It supports public Git repositories hosted on Bitbucket Cloud, GitHub.com, GitLab.com.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 0% upvoted
-4

Understand

Code visualization tool that provides code analysis, standards testing, metrics, graphing, dependency analysis and more for Ada, VHDL, and others.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 45% upvoted
-5

CAST Highlight

Commercial Static Code Analysis which runs locally, but uploads the results to its cloud for presentation.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedcli
  • Maintainedlinter
  • 27% upvoted
-5

Super-Linter

Combination of multiple linters to install as a GitHub Action.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • Deprecatedcli
  • Deprecatedlinter
  • 31% upvoted
-8

Embold

Intelligent software analytics platform that identifies design issues, code issues, duplication and metrics. Supports Java, C, C++, C#, JavaScript, TypeScript, Python, Go, Kotlin and more.

  • MaintainedMaintained
  • MaintainedMulti-Language
  • Maintainedservice
  • Maintainedlinter
  • 10% upvoted
-8

ShiftLeft Scan

Scan is a free open-source DevSecOps platform for detecting security issues in source code and dependencies. It supports a broad range of languages and CI/CD pipelines. Note: ShiftLeft rebranded to Qwiet AI in 2023, which was subsequently acquired by Harness in September 2025. This open-source project is no longer maintained.

  • DeprecatedDeprecated
  • DeprecatedMulti-Language
  • DeprecatedcliDeprecatedservice
  • Deprecatedlinter
  • 36% upvoted

Frequently Asked Questions

What are Python tools?

Python is an interpreted, high-level and general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects. Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly, procedural), object-oriented, and functional programming. Python is often described as a "batteries included" language due to its comprehensive standard library.

What are the best Python static analysis tools and linters?

The most popular Python tools ranked by user votes are: Black, Mega-Linter, mypy, Semgrep, flake8.

Which Python tools are free to use?

Tools with a free plan include trunk, DeepSource, Pixee, Better Code Hub, Codeac, Codety, Snyk Code, Precaution, Codiga, Corgea, Cobra, CodeSee, OpenStaticAnalyzer, SourceMeter, Embold. On top of that, there are also a number of open source like Black, Mega-Linter, mypy, Semgrep, flake8, pylint, ruff, Sonatype, ThreatMapper, bandit.

Related Tags

Our Sponsors

This website is completely open source. To fund our work, we fully rely on sponsors. Thanks to them, we can keep the site free for everybody. Please check out their offers below.

  • BugProve
  • Pixee
  • semgrep
  • Offensive 360
  • BetterScan