Skip to main content

pmi-clang-format Python distribution

PyPI Release

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

python -m pip install pmi-clang-format

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

Use with pipx

You can use pipx to run clang-format, as well. For example, pipx run clang-format <args> will run clang-format 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).

Use from pre-commit

A pre-commit hook is also provided, use like this:

- repo: https://github.com/pre-commit/mirrors-clang-format
  rev: v18.1.8
  hooks:
  - id: clang-format
    types_or: [c++, c, cuda]

In contrast to many other pre-commit hooks, the versioning of the hook matches the versioning of clang-format.

If you are required to stick with a given major/minor version of clang-format with your pre-commit-hook, you can use this alternative hook repository that also receives backports of older versions of clang-format. Currently, all major/minor versions of LLVM >= 10 are supported. It is best to subscribe to releases of the hook repository to get notified of new backport releases, as pre-commit's auto-upgrade functionality will not work in that case.

Building new releases

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

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

Alternatively, the workflow can be triggered manually:

On manual triggers, the following input variables are available:

  • llvm_version: Override the LLVM version (default: "")
  • wheel_version: Override the wheel packaging version (default "0")
  • skip_emulation: Set which emulation builds to skip, e.g. "qemu" (default: "")
  • 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.

Acknowledgements

This repository extends the great work of several other projects:

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

Special thanks goes to mgevaert who initiated this project and maintained it until 2021.

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

Metadata

Release files for pmi-clang-format 19.1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pmi-clang-format 19.1.0.2
File Size Uploaded
pmi_clang_format-19.1.0.2.tar.gz 19.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pmi-clang-format 19.1.0.2
File
pmi_clang_format-19.1.0.2-py2.py3-none-win_amd64.whl Python 3, Python 2 none Windows x86-64 Details
pmi_clang_format-19.1.0.2-py2.py3-none-win32.whl Python 2, Python 3 none Windows x86-32 Details
pmi_clang_format-19.1.0.2-py2.py3-none-musllinux_1_2_x86_64.whl Python 3, Python 2 none Linux musl 1.2+ x86-64 Details
pmi_clang_format-19.1.0.2-py2.py3-none-musllinux_1_2_i686.whl Python 2, Python 3 none Linux musl 1.2+ x86-32 Details
pmi_clang_format-19.1.0.2-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 2, Python 3 none Linux glibc 2.17+ x86-64 Details
pmi_clang_format-19.1.0.2-py2.py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 2, Python 3 none Linux glibc 2.17+ x86-32 Details
pmi_clang_format-19.1.0.2-py2.py3-none-macosx_11_0_arm64.whl Python 2, Python 3 none macOS 11.0+ ARM64 Details
pmi_clang_format-19.1.0.2-py2.py3-none-macosx_10_9_x86_64.whl Python 3, Python 2 none macOS 10.9+ x86-64 Details

Total release size: 14.9 MB

Release files / pmi_clang_format-19.1.0.2.tar.gz

Download URL pmi_clang_format-19.1.0.2.tar.gz
Size 19.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c8d05ccd0f4df37c0715fdab0d440fe49e5d704f51a0680927ab56cd2b05835d
BLAKE2b-256 checksum
How to use checksums
2c544295953e3794e38161b7878df396e9170a4dbfd17279832e2de1a748e28c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-win_amd64.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-win_amd64.whl
Size 1.4 MB
Tags Python 2 Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
cad5bb56031618b08008ad41120beceb1e0e96065830aaba0331cce4c44750fb
BLAKE2b-256 checksum
How to use checksums
68d8cabf11c8540048a24b229c76b6b2e94088575e45795ad8dc7482c64d7ecf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-win32.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-win32.whl
Size 1.2 MB
Tags Python 2 Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
6054fe36b7afc5da8874916a2381c83cb3fab2739fd2af7ad13465e9a0422d4a
BLAKE2b-256 checksum
How to use checksums
a15da03fd6dc62255a1113b40d038a688d481246d1c9304d3baf97cb27b4a8f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-musllinux_1_2_x86_64.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-musllinux_1_2_x86_64.whl
Size 2.8 MB
Tags Linux musl 1.2+ x86-64 Python 2 Python 3
SHA-256 checksum
How to use checksums
ead23ee90de382e409de8b13d25d451ec0a3c72693db8cabc8b4385bfe817720
BLAKE2b-256 checksum
How to use checksums
f83f2202409388e9d5a3ae7bbac270763291ec9df44dee22a6000f36cb79712d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-musllinux_1_2_i686.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-musllinux_1_2_i686.whl
Size 3.0 MB
Tags Linux musl 1.2+ x86-32 Python 2 Python 3
SHA-256 checksum
How to use checksums
cc2628756fb31a71091237a03d344448e3fd7ce465878667ebaedcb764fd3278
BLAKE2b-256 checksum
How to use checksums
21969a3899b03b56a5f4dcd88f7c9befb561d7594d403a7760f672d303a3676b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.7 MB
Tags Linux glibc 2.17+ x86-64 Python 2 Python 3
SHA-256 checksum
How to use checksums
3010d9130f428f57d8a4a9dddaf6a1445ff26579c1688ab116d373cf1044104a
BLAKE2b-256 checksum
How to use checksums
607af8f9fe843a18e02c46177b8093a06bb0295e683ec66fedfb7b933a46bce7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 1.9 MB
Tags Linux glibc 2.17+ x86-32 Python 2 Python 3
SHA-256 checksum
How to use checksums
35bfd2baa29bbbcef17442c9b5de301f6e5dbe4e14b4ab5768e3dc97595ee9e1
BLAKE2b-256 checksum
How to use checksums
f01787a25e083fb62f067359704709861f4fe459ea3edc803e8210de36c92a6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-macosx_11_0_arm64.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-macosx_11_0_arm64.whl
Size 1.4 MB
Tags Python 2 Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e63cbb20e988cc93260c08cb3a608e524d6dbec3f2667c7c6775cb4966c92b33
BLAKE2b-256 checksum
How to use checksums
9b7e05ef21518d530799838242a22462b7e0196ffa96f89f16eff0abe7ac37c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release files / pmi_clang_format-19.1.0.2-py2.py3-none-macosx_10_9_x86_64.whl

Download URL pmi_clang_format-19.1.0.2-py2.py3-none-macosx_10_9_x86_64.whl
Size 1.4 MB
Tags Python 2 Python 3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
19f6fedc33ab0f22e01323db79c4fc6694ffcea274bc28946eeb5661167bd727
BLAKE2b-256 checksum
How to use checksums
cea0889fbd196223266fc03a7147431ea421b51d95d4a13f8a0d135cfa22854a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.6

Release history Release notifications | RSS feed

This release

19.1.0.2 This release

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page