clang-tidy
Clang-tidy is an LLVM-based code analyser tool
Decision gist · record as of 2026-08-14
Yes. This package solves a real friction point—getting clang-tidy into CI and local workflows without system dependencies. It's actively maintained, has no vulnerabilities, uses a permissive license, and covers all major platforms with pre-built binaries. Install it if you need C++ static analysis in a Python-managed environment.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a C++ source file or compilation database to analyze; clang-tidy itself is bundled but you need C++ code to lint.
- Medium install friction due to platform-specific binary wheels (11 variants covering macOS, Linux, Windows, and ARM architectures).
- Active maintenance with a release 31 days ago and no known vulnerabilities.
License · maintenance · safety
Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. The underlying clang-tidy is provided by LLVM under Apache 2.0 with LLVM exceptions.
last release 2026-07-14 (31 days) · last repo commit 2026-08-14 · 39,796 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 422,879 downloads/mo, #6,776 on PyPI
Alternatives
Verify before relying
pip install clang-tidy
clang-tidy --version
clang-tidy path/to/file.cpp- Whether the bundled clang-tidy version matches the package version (22.1.8) or if it tracks a different LLVM release cycle
- Python version compatibility (requires_python is unspecified in metadata)
What it is and what it does
clang-tidy is a Python distribution that bundles the LLVM clang-tidy static analyzer and companion tools. It lets you install a ready-to-use C++ linter directly from PyPI without building LLVM or managing system dependencies. The package includes clang-tidy itself for linting C++ code, clang-apply-replacements for applying automated fixes, run-clang-tidy.py for batch analysis across a compilation database or directory tree with parallelism, and clang-tidy-diff.py for analyzing only changed lines in a diff.
The distribution provides pre-built binaries for macOS (Intel and ARM), Linux (multiple architectures including aarch64, x86_64, i686, armv7l), Windows, and musl-based systems. It has no Python runtime dependencies, making installation straightforward. The package is actively maintained with regular releases aligned to LLVM versions, and can be used directly via pipx for one-off runs without installation.
Use it for
- Integrate C++ static analysis into CI/CD pipelines without requiring system clang-tidy installation or LLVM build steps.
- Run clang-tidy on a codebase across all files in a compilation database with automatic parallelism using run-clang-tidy.py.
- Apply automated code fixes exported by clang-tidy using clang-apply-replacements to enforce coding standards.
- Analyze only changed lines in pull requests or commits using clang-tidy-diff.py for focused code review.
- Use pipx to run clang-tidy on demand without pre-installing it on developer machines or CI runners.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
This package solves a real friction point—getting clang-tidy into CI and local workflows without system dependencies. It's actively maintained, has no vulnerabilities, uses a permissive license, and covers all major platforms with pre-built binaries. Install it if you need C++ static analysis in a Python-managed environment.
Install
clang-tidy on PyPI
Before you install
Medium install friction due to platform-specific binary wheels (11 variants covering macOS, Linux, Windows, and ARM architectures). Active maintenance with a release 31 days ago and no known vulnerabilities.
Requires a C++ source file or compilation database to analyze; clang-tidy itself is bundled but you need C++ code to lint.
License in practice
Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. The underlying clang-tidy is provided by LLVM under Apache 2.0 with LLVM exceptions.
Quickstart
pip install clang-tidy
clang-tidy --version
clang-tidy path/to/file.cpp
Verify before relying
- Whether the bundled clang-tidy version matches the package version (22.1.8) or if it tracks a different LLVM release cycle
- Python version compatibility (requires_python is unspecified in metadata)
Package facts
| License | Apache 2.0 permissive |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 31 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 422,879 / month, #6,776 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: CProgramming Language :: C++Topic :: Software Development :: Quality Assurance |
Evidence: clang_tidy-22.1.8-py2.py3-none-macosx_10_9_x86_64.whl; clang_tidy-22.1.8-py2.py3-none-macosx_11_0_arm64.whl; clang_tidy-22.1.8-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; clang_tidy-22.1.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; clang_tidy-22.1.8-py2.py3-none-manylinux_2_28_i686.whl; clang_tidy-22.1.8-py2.py3-none-manylinux_2_31_armv7l.whl; clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_armv7l.whl; clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_i686.whl; clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_x86_64.whl; clang_tidy-22.1.8-py2.py3-none-win32.whl; clang_tidy-22.1.8-py2.py3-none-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “C++ static analysis linter”
- clang-tidyPackages the clang-tidy C++ linter and related LLVM tools as a…
- gdtoolkitGDScript parser, linter, formatter, and code metrics calculator…
- rstcheckValidates reStructuredText syntax and checks code blocks nested…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also clang-format · clangd-tidy · cppyy-cling · pyclang · clang · cmake · llvm-testing-tools · libclang · pycln · lit