Easily install clang-format, clang-tidy, clang-query, clang-apply-replacements, clang-include-cleaner, llvm-cov, llvm-profdata, llvm-symbolizer, and clang-scan-deps static binaries or
Python wheels using the clang-tools CLI.
Important
This package only manages binary executables (& corresponding symbolic links) that are installed using this package's executable script. It does not intend to change or modify any binary executable installed from other sources (like LLVM releases).
For Python wheels, this CLI supports clang-format, clang-tidy,
clang-include-cleaner, and clang-apply-replacements tools.
📖 Full documentation: cpp-linter.github.io/clang-tools-pip
-
Install
clang-format,clang-tidy,clang-query,clang-apply-replacements,clang-include-cleaner,llvm-cov,llvm-profdata,llvm-symbolizer, andclang-scan-depsvia a singleclang-toolsCLI. -
Supports both static binaries (standalone executables) and Python wheels (installed via pip).
-
Automatically uses static binaries when available; falls back to wheels if not.
-
Works on Linux, macOS, and Windows (x86_64 and ARM64).
-
Choose a specific LLVM version (12–22) or install the latest.
-
Install only the tools you need with
--tool. -
Uses SHA512 checksums to verify downloaded binaries.
-
Creates unversioned symlinks (e.g.,
clang-format) alongside versioned binaries (clang-format-18) for convenience.[!NOTE] To create symbolic links on Windows, you must enable developer mode from the Windows settings under "Privacy & security" > "For developers" category.
-
Install to any directory with
--directory. -
Uninstall with
clang-tools uninstall.
Tip
It is recommended to use this package in a virtual environment.
python -m venv env-name
source env-name/bin/activate # Linux
./env-name/Scripts/activate # WindowsInstall clang-tools command with pip:
pip install clang-toolsInstall clang-tools from git repo:
pip install git+https://github.com/cpp-linter/clang-tools-pip.git@mainFor a full list of CLI options, see the documentation.
# Install latest clang-format (auto-detects: tries binary with --version, else wheel)
clang-tools install clang-format
# Install specific version (auto-detect: binary first, fall back to wheel)
clang-tools install clang-format --version 13
# Install multiple tools with a version
clang-tools install clang-format clang-tidy --version 13
# Install to a specified directory
clang-tools install clang-format --version 13 --directory .
If the installed directory is in your path:
clang-format-13 --version
# clang-format version 13.0.0Note
Wheel installation resolves the latest matching version from PyPI
(e.g. --version 18 finds 18.1.8). If you know the exact version,
pip install <tool>==<version> is equivalent and more direct.
To install specific tools as Python wheels:
# Install latest clang-format wheel
clang-tools install clang-format --version 21
# Install latest clang-tidy wheel
clang-tools install clang-tidy --version 21- clang-format
- clang-tidy
- clang-query
- clang-apply-replacements
- clang-include-cleaner
- llvm-cov
- llvm-profdata
- llvm-symbolizer
- clang-scan-deps
For more details, visit clang-tools-static-binaries.
Check the respective PyPI pages for available versions and platform support.
This project is licensed under the MIT License.