This project builds and publishes pip-installable Python wheels for clang-format and clang-tidy to GitHub releases. The wheels are bundled from upstream ssciwr projects and can be installed via pip install directly from PyPI or by using the helper script below.
You can download and install clang-format or clang-tidy wheels using the following command:
# Download latest clang-format wheel
curl -LsSf https://cpp-linter.github.io/install-wheel.sh | bash -s -- clang-format
# Download clang-tidy with specific version
curl -LsSf https://cpp-linter.github.io/install-wheel.sh | bash -s -- clang-tidy --version 21.1.2
# List available platforms
curl -LsSf https://cpp-linter.github.io/install-wheel.sh | bash -s -- --list clang-format
# Download to specific directory
curl -LsSf https://cpp-linter.github.io/install-wheel.sh | bash -s -- clang-format --output ./wheelsThe cpp-linter-hooks project provides pre-commit hooks for both clang-format and clang-tidy. It installs the tools dynamically from PyPI — the same wheels built by this project and published there by upstream maintainers.
Example .pre-commit-config.yaml:
repos:
- repo: https://github.com/cpp-linter/cpp-linter-hooks
rev: v1.1.3
hooks:
- id: clang-format
args: [--style=file] # Loads style from .clang-format file
- id: clang-tidy
args: [--checks=.clang-tidy] # Loads checks from .clang-tidy file| Platform | Architecture | Wheel Tag |
|---|---|---|
| macOS | Intel (x86_64) | macosx_10_9_x86_64 |
| macOS | Apple Silicon (arm64) | macosx_11_0_arm64 |
| Linux | x86_64 (glibc) | manylinux_2_27_x86_64 |
| Linux | x86_64 (musl) | musllinux_1_2_x86_64 |
| Linux | aarch64 (glibc) | manylinux_2_26_aarch64 |
| Linux | aarch64 (musl) | musllinux_1_2_aarch64 |
| Linux | i686 (glibc) | manylinux_2_26_i686 |
| Linux | i686 (musl) | musllinux_1_2_i686 |
| Linux | ppc64le (glibc) | manylinux_2_26_ppc64le |
| Linux | ppc64le (musl) | musllinux_1_2_ppc64le |
| Linux | s390x (glibc) | manylinux_2_26_s390x |
| Linux | s390x (musl) | musllinux_1_2_s390x |
| Linux | armv7l (glibc) | manylinux_2_31_armv7l |
| Linux | armv7l (musl) | musllinux_1_2_armv7l |
| Windows | 64-bit | win_amd64 |
| Windows | 32-bit | win32 |
| Windows | ARM64 | win_arm64 |
This project builds on the excellent work of:
These wheels are published as GitHub releases for general use.