Skip to main content

Clang-tidy is an LLVM-based code analyser tool

Project description

clang-tidy Python distribution

PyPI Release

This project packages the clang-tidy utility and related tools as a Python package. It allows you to install clang-tidy directly from PyPI:

python -m pip install clang-tidy

The tools provided are:

  • clang-tidy: lints C++ source code using configurable rules
  • clang-apply-replacements: applies "fixes" that have been exported by clang-tidy in YAML format
  • run-clang-tidy.py: runs clang-tidy over all files in a compilation database or a specified path, with parallelism
  • clang-tidy-diff.py: applies clang-tidy to the changed lines in a user-provided diff

This projects intends to release a new PyPI package for each major and minor release of clang-tidy.

Use with pipx

You can use pipx to run clang-tidy, as well. For example, pipx run clang-tidy <args> will run clang-tidy without any previous install required on any machine with pipx (including all default GitHub Actions / Azure runners, avoiding requiring a pre-install step or even actions/setup-python).

Building new releases

The clang-tidy-wheel repository provides the logic to build and publish binary wheels of the clang-tidy utility.

In order to add a new release, the following steps are necessary:

On manual triggers, the following input variables are available:

  • use_qemu: Whether to build targets that require emulation (default: true)
  • llvm_version: Override the LLVM version (default: "")
  • wheel_version: Override the wheel packaging version (default "0")
  • deploy_to_testpypi: Whether to deploy to TestPyPI instead of PyPI (default: false)

The repository with the precommit hook is automatically updated using a scheduled Github Actions workflow.

Acknowledgments

This repository extends the great work of several other projects:

  • clang-tidy itself is provided by the LLVM project under the Apache 2.0 License with LLVM exceptions.
  • The build logic is based on scikit-build which greatly reduces the amount of low level code necessary to package clang-tidy.
  • The scikit-build packaging examples of CMake and Ninja were very helpful in packaging clang-tidy.
  • The CI build process is controlled by cibuildwheel which makes building wheels across a number of platforms a pleasant experience (!)

We are grateful for the generous provisioning with CI resources that GitHub currently offers to Open Source projects.

Troubleshooting

To see which clang-tidy binary the package is using you can set CLANG_TIDY_WHEEL_VERBOSE to 1 in your environment.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clang_tidy-22.1.8.tar.gz (11.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

clang_tidy-22.1.8-py2.py3-none-win_amd64.whl (26.7 MB view details)

Uploaded Python 2Python 3Windows x86-64

clang_tidy-22.1.8-py2.py3-none-win32.whl (23.6 MB view details)

Uploaded Python 2Python 3Windows x86

clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_x86_64.whl (46.7 MB view details)

Uploaded Python 2Python 3musllinux: musl 1.2+ x86-64

clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_i686.whl (51.9 MB view details)

Uploaded Python 2Python 3musllinux: musl 1.2+ i686

clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_armv7l.whl (41.3 MB view details)

Uploaded Python 2Python 3musllinux: musl 1.2+ ARMv7l

clang_tidy-22.1.8-py2.py3-none-manylinux_2_31_armv7l.whl (40.4 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.31+ ARMv7l

clang_tidy-22.1.8-py2.py3-none-manylinux_2_28_i686.whl (49.7 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.28+ i686

clang_tidy-22.1.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.1 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

clang_tidy-22.1.8-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (42.2 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

clang_tidy-22.1.8-py2.py3-none-macosx_11_0_arm64.whl (30.8 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

clang_tidy-22.1.8-py2.py3-none-macosx_10_9_x86_64.whl (31.7 MB view details)

Uploaded Python 2Python 3macOS 10.9+ x86-64

File details

Details for the file clang_tidy-22.1.8.tar.gz.

File metadata

  • Download URL: clang_tidy-22.1.8.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for clang_tidy-22.1.8.tar.gz
Algorithm Hash digest
SHA256 d81205d15cc82eea10e9e3b65e99732bb0bc77144535648a4a1f77d9cb4eda50
MD5 14d2ae5ea6cac88b40df9a8b29eae7ba
BLAKE2b-256 b9d0f9dc63658854dc4508270daab0e10a34a61330d35c53cfe679b692e57560

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8.tar.gz:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-win_amd64.whl.

File metadata

  • Download URL: clang_tidy-22.1.8-py2.py3-none-win_amd64.whl
  • Upload date:
  • Size: 26.7 MB
  • Tags: Python 2, Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 df9bf841ecbf501d08b6fa34523be840f59b1a76d16b6ee5edb0e5c7c22b59c2
MD5 9df279c84b4aeb0ea8fe29470a110ec0
BLAKE2b-256 54af0580f6145d8a0c218844208a6c90ce539a4bdf65a66b672e6b4604a81c0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-win_amd64.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-win32.whl.

File metadata

  • Download URL: clang_tidy-22.1.8-py2.py3-none-win32.whl
  • Upload date:
  • Size: 23.6 MB
  • Tags: Python 2, Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-win32.whl
Algorithm Hash digest
SHA256 182dc0b73688add32cd02595d510c0b010f77a645774dbb04e296d347c1a014f
MD5 c306a1bd3b0101e8b834bce653dd609d
BLAKE2b-256 c1ad6bb2c2a0a7255ca624dca7ee172678b215c62ce79891a487f8ccc90bc48b

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-win32.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 19d11334f5f9af90a655e5ca46b1e472d44ec025a8d10fef95accb3ea19b8c60
MD5 84650bd40235ceefa44469dc789cdae4
BLAKE2b-256 8dd1a8019bfe6dcb103a081ffc0a869cb2b463a826e5005030d0abf211278b53

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8ad32751aa4697575fb34faabe70ee497aa32d31d4dfffe25f2655797dff1c2c
MD5 ad17f525e8aefdca3107e1b3c1970cdf
BLAKE2b-256 9734223288ebf27f33b3842ab750ab5915ef3244f7802d4f7633dacf7a195ab2

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_i686.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 788200119549b80e3b3cc4c1ecc422b6bec6e2559ea2116494fe6c72092ec4c2
MD5 d141be8ce48eba2059ea5841bdc36238
BLAKE2b-256 e2e0be72d44c059a936af7d4b355d0c844e934d7f4c3c4eba578783d7fc486d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-musllinux_1_2_armv7l.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 79d109db0bc74c4f20253ea997f73eac4fa6ec26171fa08c05fb82dd3ee94bc1
MD5 e4e045179ea269aaab58260ffd231249
BLAKE2b-256 8778cbe472f8a2f29df7c982f1a3782f515059f3e1488c668c946ac04df79dab

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-manylinux_2_31_armv7l.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 879a53cc5ba9824197f97e83bd86686f9c159da18afd004e8f6d161c985f9b31
MD5 81a16cb4a6182a0cd67549382614a18f
BLAKE2b-256 6c617c0c87952090de362d18703a8a2206ae30129c811c66f9d01f4094d59e87

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-manylinux_2_28_i686.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a3de07ba82d4403d8b692ae63a5520d4db5c606014c92c24bbcef9259057bf1
MD5 09c10afaeb74aed7f06471b1bf81ccfd
BLAKE2b-256 82190f2668f8f5e2452b096a2b898f2b6bcecbceb6dd0c7f75d1755ce1f18d8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1eaddaa7415e8c5e39aeefbfd15174f1ab2a671c86f7ebb200eb523cf9465559
MD5 0043fd3e746a7f7d342ed8e60b903c44
BLAKE2b-256 acb761ed8c319f2d9ddb9762a550a6fee434bdef7bdc46d5a4b50929f1c90ec0

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 916d7cbc9590e719459738fedc5ba76ac91f128d671390e574a0779014c84d73
MD5 27c735a6df393b9f91dbfd5ab6afc121
BLAKE2b-256 0123949977d4304e30eeef80206b37a9305084926ea06b99708961fcbf27913f

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clang_tidy-22.1.8-py2.py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for clang_tidy-22.1.8-py2.py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04b6c97bcdc032763d0d924531def281acd0b5a939bcc79994cbf3c6fe83e1ae
MD5 ff0a303493c07dac25c51cd4c75419ea
BLAKE2b-256 861427f6ed1ffdf3fcc53d4482a5f1292b39751c7426ca70deca8bb7d04f5dae

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_tidy-22.1.8-py2.py3-none-macosx_10_9_x86_64.whl:

Publisher: release.yml on ssciwr/clang-tidy-wheel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page