Skip to main content

A simple runner for clang-tidy.

Project description

clang-tidier

A simple clang-tidy runner for C and C++ projects.

Installation

clang-tidier requires Python 3.8 or higher, as well as some version of clang-tidy visible on the system PATH.

pip3 install clang-tidier

Usage

clang-tidier is a command-line application

usage: clang-tidier [-h] [--version] [--include <regex> [<regex> ...]] [--exclude <regex> [<regex> ...]]
                    [--werror] [--threads <num>] [--session | --no-session] [compile_db]

clang-tidy runner for C and C++ projects.

positional arguments:
  compile_db            path to compile_commands.json, or a directory containing it (default: discover automatically)

options:
  -h, --help            show this help message and exit
  --version             print the version and exit
  --include <regex> [<regex> ...]
                        regular expression to select source files.
  --exclude <regex> [<regex> ...]
                        regular expression to exclude source files.
  --werror              stop on the first file that emits warnings
  --threads <num>       number of threads to use.
  --session, --no-session
                        saves run information so subsequent re-runs may avoid re-scanning files. (default: True)

v0.3.0 - github.com/marzer/clang-tidier

Exit codes

Value Meaning
0 No issues were found
N, where N is a positive integer N issues were found
-1 A fatal error occurred

Changelog

v0.8.0 - 2025/03/16

  • Added --plugins

v0.7.2 - 2025/03/11

  • Fixed some additional compiler flag-related breakages

v0.7.1 - 2025/02/26

  • Fixed some additional compiler flag-related breakages

v0.7.0 - 2025/02/12

  • Added --fix
  • Fixed clang's -ftime-trace causing failures in some cases

v0.6.0 - 2025/02/10

  • Added --relative-paths to enable relative paths in output
  • Fixed paths in output always being relative by default

v0.5.2 - 2025/01/30

  • Fixed compiler argument slicing regression introduced in v0.5.1

v0.5.1 - 2025/01/29

  • Fixed sanitizer and GCC flags breaking clang-tidy in some common cases

v0.5.0 - 2025/01/27

  • Added --batch x/y to enable distributed parallelism
  • Minor internal fixes

v0.4.1 - 2024/11/19

  • Fixed precompiled headers breaking runs in some circumstances
  • Improved wording of session restart message

v0.4.0 - 2024/09/07

  • Fixed sessions not restarting if .clang-tidy is modified
  • Added --labels-only
  • Minor performance improvements

v0.3.0 - 2024/08/04

  • Added --no-session
  • Added use of sessions by default

v0.2.0 - 2024/08/03

  • Added --session

v0.1.2 - 2024/06/06

  • Fixed build-generated translation causing 'did not exist or was not a file' errors
  • Improved performance of TU enumeration step

v0.1.1 - 2024/05/16

  • Fixed issues with older clang-tidy versions trying to use --use-color

v0.1.0 - 2024/05/09

  • First public release 🎉️

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_tidier-0.8.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

clang_tidier-0.8.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file clang_tidier-0.8.0.tar.gz.

File metadata

  • Download URL: clang_tidier-0.8.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for clang_tidier-0.8.0.tar.gz
Algorithm Hash digest
SHA256 671bd12d6b6bbef6031f08cd0672b7f636dc78809f1f5d99e208fe51b9ba48f2
MD5 fbdadb93d73911aee4211dcde117b455
BLAKE2b-256 4eef8f693fc621f33bbe1b45b36f8d927f35fc358a9883e9d24684f8f19b607b

See more details on using hashes here.

File details

Details for the file clang_tidier-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: clang_tidier-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for clang_tidier-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d5a485296717e34924077cbff6e1469511d90bbbe40bcd6ba5930d455a117de
MD5 07de6b6603bbf4226a4e0280a4ce1c7e
BLAKE2b-256 fed8cc29f0cc41d5f9481d77cc6c14fd01bbd7e9d5a2c19689bd51c3d1bb3a0a

See more details on using hashes here.

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