mypy alternatives: 8 open-source code quality and static analysis tools
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
About mypy
mypy is a listed code quality and static analysis tool: Static type checker for Python that checks PEP 484 type hints without running the program.
Order: Listed tools in the same category, with tools in the same primary language (GitHub API) first, then by GitHub stars. Each line gives one fact from the tool's own documentation where it differs from what mypy's documentation states, with its source.
8 alternatives to mypy
Bandit: Languages or files analysed: Python files, parsed into an abstract syntax tree (AST). source: README
Pylint: Languages or files analysed: Python code (latest version supports Python 3.10.0 and above). source: README
Flake8: Languages or files analysed: Python code, through PyFlakes, pycodestyle and the McCabe script. source: README
mutmut: Languages or files analysed: Python code. source: README
Ruff: Languages or files analysed: Python files (*.py, *.pyi), Jupyter Notebooks (*.ipynb) and pyproject.toml. source: Docs: Configuring Ruff
ShellCheck: Languages or files analysed: Shell scripts in the sh, bash, dash, ksh and BusyBox dialects. source: Docs: shellcheck(1) manual
ESLint: Languages or files analysed: ECMAScript/JavaScript code; JSX parsing when enabled. source: README
golangci-lint: Languages or files analysed: Go code. source: README
Repository metrics
| Ruff | 49,7311 | 2026-09-1610.16.8 | 2026-09-221 | MIT | Rust | active |
|---|---|---|---|---|---|---|
| ShellCheck | 40,0671 | 2025-08-041v0.11.0 | 2026-09-211 | GPL-3.0 | Haskell | active |
| ESLint | 27,5161 | 2026-09-181v10.11.0 | 2026-09-221 | MIT | JavaScript | active |
| mypy | 20,6481 | 2026-08-151v2.3.1 | 2026-09-221 | MIT | Python | active |
| golangci-lint | 19,3941 | 2026-08-271v2.13.2 | 2026-09-201 | GPL-3.0 | Go | active |
| Bandit | 8,2781 | 2026-02-2511.9.4 | 2026-09-211 | Apache-2.0 | Python | active |
| Pylint | 5,7251 | 2026-08-291v4.0.8 | 2026-09-221 | GPL-2.0 | Python | active |
| Flake8 | 3,8231 | 2025-06-2017.3.0 | 2026-08-171 | MIT | Python | active |
| mutmut | 1,4481 | 2026-09-1213.8.0 | 2026-09-121 | BSD-3-Clause | Python | active |
1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.