跳转到主要内容

Clang-Format 是一个基于 LLVM 的代码格式化工具

项目描述

clang-format Python 分发版

PyPI Release

此项目将 clang-format 工具打包成 Python 包。它允许您直接从 PyPI 安装 clang-format

python -m pip install clang-format

此项目旨在为 clang-format 的每个主版本和次版本发布一个新的 PyPI 包。

与 pipx 一起使用

您还可以使用 pipx 运行 clang-format。例如,pipx run clang-format <args> 将在无需任何机器上先前的安装的情况下运行 clang-format(包括所有默认 GitHub Actions / Azure runners,避免了需要预安装步骤或甚至 actions/setup-python)。

从 pre-commit 使用

还提供了一个 pre-commit 钩子,使用方法如下

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

与其他许多 pre-commit 钩子相比,钩子的版本与 clang-format 的版本匹配。

如果您需要使用与 pre-commit 钩子兼容的特定主/次版本的 clang-format,可以使用 此替代钩子存储库,该存储库还接收较旧版本的 clang-format 的回滚版本。目前,支持所有大于等于 10 的主要/次要版本的 LLVM。最好订阅钩子存储库的发布,以便收到新的回滚版本的通知,因为在这种情况下 pre-commit 的自动升级功能将不会工作。

构建新版本

clang-format-wheel 存储库 提供了构建和发布 clang-format 工具的二进制 wheel 的逻辑。

为了添加新版本,需要以下步骤

或者,可以手动触发工作流程

在手动触发时,以下输入变量可用

  • llvm_version:覆盖 LLVM 版本(默认:""
  • wheel_version:覆盖 wheel 打包版本(默认 "0"
  • skip_emulation:设置要跳过的仿真构建,例如 "qemu"(默认:""
  • deploy_to_testpypi:是否部署到 TestPyPI 而不是 PyPI(默认:false

使用计划好的 GitHub Actions 工作流程自动更新包含 precommit 钩子的存储库。

致谢

此存储库扩展了几个其他项目的出色工作

  • clang-format 本身由 LLVM 项目 提供,采用 Apache 2.0 许可证,附带 LLVM 例外条款。
  • 构建逻辑基于 scikit-build-core,这大大减少了打包 clang-format 所需的低级代码量。
  • scikit-build 的打包示例,包括 CMakeNinja,对打包 clang-format 非常有帮助。
  • CI 构建过程由 cibuildwheel 控制,这使得在多个平台上构建 wheels 变得愉快(!)

特别感谢 mgevaert,他启动了这个项目,并在 2021 年之前维护它。

我们感谢 GitHub 目前向开源项目提供的慷慨的 CI 资源。

项目详细信息


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

clang_format-19.1.1.tar.gz (11.1 kB 查看哈希值)

上传时间

构建分发

clang_format-19.1.1-py2.py3-none-win_amd64.whl (1.4 MB 查看哈希值)

上传时间 Python 2 Python 3 Windows x86-64

clang_format-19.1.1-py2.py3-none-win32.whl (1.2 MB 查看哈希值)

上传时间 Python 2 Python 3 Windows x86

clang_format-19.1.1-py2.py3-none-musllinux_1_2_x86_64.whl (2.8 MB 查看哈希值)

上传时间 Python 2 Python 3 musllinux: musl 1.2+ x86-64

clang_format-19.1.1-py2.py3-none-musllinux_1_2_s390x.whl (3.1 MB 查看哈希值)

上传时间 Python 2 Python 3 musllinux: musl 1.2+ s390x

clang_format-19.1.1-py2.py3-none-musllinux_1_2_ppc64le.whl (3.1 MB 查看哈希值)

上传时间 Python 2 Python 3 musllinux: musl 1.2+ ppc64le

clang_format-19.1.1-py2.py3-none-musllinux_1_2_i686.whl (3.0 MB 查看哈希值)

上传时间 Python 2 Python 3 musllinux: musl 1.2+ i686

clang_format-19.1.1-py2.py3-none-musllinux_1_2_aarch64.whl (2.7 MB 查看哈希值)

上传时间 Python 2 Python 3 musllinux: musl 1.2+ ARM64

clang_format-19.1.1-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB 查看哈希值)

上传时间 Python 2 Python 3 manylinux: glibc 2.17+ x86-64

clang_format-19.1.1-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB 查看哈希值)

上传于 Python 2 Python 3 manylinux: glibc 2.17+ s390x

clang_format-19.1.1-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.6 MB 查看哈希值)

上传于 Python 2 Python 3 manylinux: glibc 2.17+ ppc64le

clang_format-19.1.1-py2.py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (1.9 MB 查看哈希值)

上传于 Python 2 Python 3 manylinux: glibc 2.17+ i686

clang_format-19.1.1-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB 查看哈希值)

上传于 Python 2 Python 3 manylinux: glibc 2.17+ ARM64

clang_format-19.1.1-py2.py3-none-macosx_11_0_arm64.whl (1.4 MB 查看哈希值)

上传于 Python 2 Python 3 macOS 11.0+ ARM64

clang_format-19.1.1-py2.py3-none-macosx_10_9_x86_64.whl (1.4 MB 查看哈希值)

上传于 Python 2 Python 3 macOS 10.9+ x86-64

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面