Skip to main content

Clang-apply-replacements is an LLVM-based tool for applying clang-tidy fix-it replacements

Project description

clang-apply-replacements Python distribution

PyPI Release

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

python -m pip install clang-apply-replacements

This project intends to release a new PyPI package for each major and minor release of clang-apply-replacements.

What is clang-apply-replacements?

clang-apply-replacements is an LLVM-based tool that reads serialized clang-tidy replacements (fix-it hints) from YAML files and applies them to source files. It is part of the clang-tools-extra suite.

Use with pipx

You can use pipx to run clang-apply-replacements, as well. For example, pipx run clang-apply-replacements <args> will run clang-apply-replacements 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-apply-replacements repository provides the logic to build and publish binary wheels of the clang-apply-replacements 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-apply-replacements 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-apply-replacements.
  • The scikit-build packaging examples of CMake and Ninja were very helpful in packaging clang-apply-replacements.
  • 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-apply-replacements binary the package is using you can set CLANG_APPLY_REPLACEMENTS_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_apply_replacements-16.0.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distributions

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

clang_apply_replacements-16.0.0-py2.py3-none-win_amd64.whl (1.3 MB view details)

Uploaded Python 2Python 3Windows x86-64

clang_apply_replacements-16.0.0-py2.py3-none-win32.whl (1.1 MB view details)

Uploaded Python 2Python 3Windows x86

clang_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_x86_64.whl (2.8 MB view details)

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

clang_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_i686.whl (3.0 MB view details)

Uploaded Python 2Python 3musllinux: musl 1.2+ i686

clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_31_armv7l.whl (1.4 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.31+ ARMv7l

clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl (1.7 MB view details)

Uploaded Python 2Python 3manylinux: glibc 2.26+ i686manylinux: glibc 2.28+ i686

clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (1.5 MB view details)

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

clang_apply_replacements-16.0.0-py2.py3-none-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded Python 2Python 3macOS 11.0+ ARM64

clang_apply_replacements-16.0.0-py2.py3-none-macosx_10_9_x86_64.whl (1.3 MB view details)

Uploaded Python 2Python 3macOS 10.9+ x86-64

File details

Details for the file clang_apply_replacements-16.0.0.tar.gz.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0.tar.gz
Algorithm Hash digest
SHA256 c72919a86f5bbba46339e2de50c60dae20fced5a4f43dbbb52a706548119911e
MD5 2e0ceca86ba300d2e7f79ad7c7afbfd7
BLAKE2b-256 bbbb1caa6b448167d1efb5ed8928c7b9a56867408467b0c079c3ed20daf198b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0.tar.gz:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8bbbc23e4b9c092a03d30f2687db19dee539a213d7a4c6c7b22b9fa9120d71e9
MD5 8aedf7d3076e21defb1981628f733103
BLAKE2b-256 cb817b4c8f6564c89111259e1929dc5f7d4b8b16771c4d1f75a505fd5f8d0b6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-win_amd64.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-win32.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-win32.whl
Algorithm Hash digest
SHA256 ffddf6f8bcc34335eba59ebcf1de1c65d522af53b26af44b92da1d559fee439c
MD5 05e4b1105470d0ac8af5d2ff1e501431
BLAKE2b-256 c2f763d1bca305148324c4181d3d48903060485637392f746667725fa37160ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-win32.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 00b5abc91afa5dbe3d81ec7a15b8161dbf0a6c13859952e4158d8861f42487cb
MD5 f3750dc26b44c81cc0953d6381bce965
BLAKE2b-256 1c6d86a0a39b7c045e1c7ca77cf30640c5e167a2d5d0b7f80cc5729c916ae838

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cbf7e9edb23ebb4d55c63d5b1a5fa50e0ce010ea5b58d455d3c0c438b04470f5
MD5 4e505db928e1e7ae637b3e998e3d45c9
BLAKE2b-256 1c5803081fc63f66e391eccb377b02dc4b6dafc6287cc518e2773e7090f5ab2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-musllinux_1_2_i686.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 e802829aa6ed1373b4fb421f78aaa7a2ca5b55df72b0a919a5110dee7edea7f2
MD5 e2379b0aa4d4c011a534acf516f2aa1f
BLAKE2b-256 05c2c9f33ea20cbbbe6cadfeac9077d9cc9f7cae9d730e8e35aa2ba2e75cec2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_31_armv7l.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed822124819e545da4e903d3e6ad52bf83a8f0718a5354021096881f2b4130ee
MD5 f226f30188f5b1dda3c2ad3cbb9dab4c
BLAKE2b-256 ffc1d4fe8029788f58a72f1fbff9b320358c8932b89e3ca6416c77ae4280a4a2

See more details on using hashes here.

Provenance

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

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 521112195380879621057e9d570937cb2ab9f206aace22d622e6fd23c02a78a5
MD5 8e0f59109037ebd24fd9dffd3215e5bd
BLAKE2b-256 e89a2635b5d9ce8f9b55bd1c642bb5c5ef2aea8349626c24aef09654383ac04e

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0688af9f05bda10246533a223692961dece0f92b7ce7283665a06b940a0ea1c9
MD5 7da5ca782c044c70e405c6aa02679118
BLAKE2b-256 4472871d8bcf486947b92d71e98c20cc9e085fd85109c4d9476ef6a5c8421d72

See more details on using hashes here.

Provenance

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

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b6a3b5c94fa8c07a227f9d291221a7f9d0a94b8485cadff7f49a917de0586db8
MD5 600b6010f689aba2f5283cb2ccd2edce
BLAKE2b-256 bf8ebff76ae9eeb0b1ef7d6a1fd9f3b2fb031a9c3cbdf95966094fbe36319f83

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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_apply_replacements-16.0.0-py2.py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for clang_apply_replacements-16.0.0-py2.py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3c16c1140b309c15c53fb4aac16151138a089f174aa522d208e421e407310d83
MD5 ba88c2374ba16c8de91008e0d28f2e3d
BLAKE2b-256 9309fcddbd2d39507b220f4110064a4365014fb859bc2c358dd7761cd4e61650

See more details on using hashes here.

Provenance

The following attestation bundles were made for clang_apply_replacements-16.0.0-py2.py3-none-macosx_10_9_x86_64.whl:

Publisher: release.yml on cpp-linter/clang-apply-replacements

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