cppllvm


cppllvm

</span>

ctidy cformat

Checks Wheels ctidy Wheels cformat Release ctidy Release cformat

Overview

cppllvm makes it easy to set up a consistent C/C++ developer environment with Python packaging.

Instead of asking every developer or CI job to install and manage a matching LLVM toolchain by hand, you can install ctidy and cformat with uv and immediately get reproducible clang-tidy and clang-format commands in your environment.

This is useful when you want:

Releases

Package PyPI project Release trigger Package docs
ctidy ctidy ctidy-v* tag packages/ctidy/README.md
cformat cformat cformat-v* tag packages/cformat/README.md

PyPI releases are wheel-only. Neither package publishes an sdist.

Platform Availability

Available wheels are limited to the upstream LLVM 20 prebuilt assets pinned by this repository.

Platform Python ABI ctidy cformat
Linux x86_64 cp39+
macOS x86_64 cp39+
macOS arm64 cp39+
Windows x86_64 cp39+

If the upstream static build release does not publish an asset for an OS/CPU pair, this repository does not produce a wheel for that platform.

Installation

Recommended package installation is with uv:

uv add ctidy
uv add cformat

For one-off usage without modifying a project environment, use uvx:

uvx ctidy --version
uvx cformat --version

Package-specific usage and examples live in the package READMEs.

Build And Distribution Model

This repository does not build LLVM from source. During wheel builds, each package only:

Repository Layout

packages/
  cformat/   Python package for bundled clang-format
  ctidy/     Python package for bundled clang-tidy tools
tests/       Repository-level tests for packaging and CLI behavior
tools/       Release and maintenance helpers

Local Development

Install the workspace tooling:

uv sync --group dev

Run the repository checks:

PYTHONPATH=packages/ctidy/src:packages/cformat/src:. python -m unittest discover -s tests
ruff check .
ty check .