clang-tools CLI
===============
**Install clang-format, clang-tidy, clang-query, and clang-apply-replacements binaries with clang-tools CLI.**
.. |latest-version| image:: https://img.shields.io/pypi/v/clang-tools?color=blue
:target: https://pypi.org/project/clang-tools/
:alt: PyPI
.. |python-test| image:: https://github.com/cpp-linter/clang-tools-pip/actions/workflows/python-test.yml/badge.svg
:target: https://github.com/cpp-linter/clang-tools-pip/actions/workflows/python-test.yml
:alt: Python test
.. |codecov-badge| image:: https://codecov.io/gh/cpp-linter/clang-tools-pip/branch/main/graph/badge.svg?token=40G5ZOIRRR
:target: https://codecov.io/gh/cpp-linter/clang-tools-pip
:alt: codecov
.. |sonar-badge| image:: https://sonarcloud.io/api/project_badges/measure?project=cpp-linter_clang-tools-pip&metric=alert_status
:target: https://sonarcloud.io/summary/new_code?id=cpp-linter_clang-tools-pip
:alt: sonarcloud
.. |platfrom-badge| image:: https://img.shields.io/badge/platform-linux--64%20%7C%20win--64%20%7C%20osx--64%20-blue
:target: https://pypi.org/project/clang-tools/
:alt: Platfrom
.. |pypi-badge| image:: https://img.shields.io/pypi/dw/clang-tools
:target: https://pypistats.org/packages/clang-tools
:alt: PyPI - Downloads
|latest-version| |python-test| |codecov-badge| |sonar-badge| |platfrom-badge| |pypi-badge|
.. important::
This package only manages binary executables (& corresponding symbolic links) that
are installed using this package's executable script. It does not intend to change or
modify any binary executable installed from other sources (like LLVM releases).
Features
--------
- Binaries are statically linked for improved portability.
- Binaries can be specified installed for increased flexibility.
- Binaries are checked with SHA512 checksum. This ensures:
1. Downloads are not corrupted.
2. Old binary builds can be updated.
- Installed binaries are symbolically linked for better cross-platform usage.
For example (on Windows), the ``clang-tidy-13.exe`` binary executable can
also be invoked with the symbolic link titled ``clang-tidy.exe``
.. note::
To create symbolic links on Windows, you must enable developer mode
from the Windows settings under "Privacy & security" > "For developers"
category.
- Customizable install path.
Install clang-tools CLI
-----------------------
.. tip::
It is recommended to use this package in a virtual environment.
.. code-block:: bash
# create the virtual env in the working directory
python -m venv env-name
# to activate on Linux:
source env-name/bin/activate
# to activate on Windows:
./env-name/Scripts/activate
This will ensure that
1. there are no permission problems when installing the tool
2. the installed path (for MacOS and Windows) is within the environment's
variable ``PATH``.
Install `clang-tools` command with pip
.. code-block:: shell
pip install clang-tools
Install `clang-tools` from git repo
.. code-block:: shell
pip install git+https://github.com/cpp-linter/clang-tools-pip.git@main
CLI Usage
---------
For a list of supported Command Line Interface options, see
`the CLI documentation <https://cpp-linter.github.io/clang-tools-pip/cli_args.html>`_
Examples
********
Use ``clang-tools`` command to install version 13 binaries.
.. code-block:: shell
clang-tools --install 13
Or install to a specified directory
.. code-block:: shell
clang-tools --install 13 --directory .
Or install a specified tool, such as clang-format and clang-query version 14.
.. code-block:: shell
clang-tools --install 14 --tool clang-format clang-query
If the installed directory is in your path, you can run the installed tools.
.. code-block:: shell
clang-format-13 --version
clang-format version 13.0.0
.. code-block:: shell
clang-tidy-13 --version
LLVM (http://llvm.org/):
LLVM version 13.0.0
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: skylake
Supported versions
------------------
clang-format, clang-tidy, clang-query, clang-apply-replacements
***************************************************************
.. csv-table::
:header: "Version", "19", "18", "17", "16", "15", "14", "13", "12", "11", "10", "9", "8", "7"
:stub-columns: 1
Linux,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️
Windows,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️
macOS,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️
.. warning::
All clang-tidy v14+ builds for MacOS are still ~1.7 GB in size.
clang-tidy-19_macosx-amd64 size > 2GB, unable to upload to GitHub releases and get by clang-tools CLI.
------------
Thanks to the project
`clang-tools-static-binaries <https://github.com/muttleyxd/clang-tools-static-binaries>`_.
We now used the `fork repository <https://github.com/cpp-linter/clang-tools-static-binaries>`_
that fixed the clang-tidy v14+ Segmentation fault (core dumped). see `#56 <https://github.com/cpp-linter/clang-tools-pip/issues/56>`_ for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "clang-tools",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "clang, clang-tools, clang-extra, clang-tidy, clang-format",
"author": null,
"author_email": "Xianpeng Shen <xianpeng.shen@gmail.com>, Brendan Doherty <2bndy5@gmail.com>",
"download_url": null,
"platform": null,
"description": "clang-tools CLI\n===============\n\n**Install clang-format, clang-tidy, clang-query, and clang-apply-replacements binaries with clang-tools CLI.**\n\n.. |latest-version| image:: https://img.shields.io/pypi/v/clang-tools?color=blue\n :target: https://pypi.org/project/clang-tools/\n :alt: PyPI\n.. |python-test| image:: https://github.com/cpp-linter/clang-tools-pip/actions/workflows/python-test.yml/badge.svg\n :target: https://github.com/cpp-linter/clang-tools-pip/actions/workflows/python-test.yml\n :alt: Python test\n.. |codecov-badge| image:: https://codecov.io/gh/cpp-linter/clang-tools-pip/branch/main/graph/badge.svg?token=40G5ZOIRRR\n :target: https://codecov.io/gh/cpp-linter/clang-tools-pip\n :alt: codecov\n.. |sonar-badge| image:: https://sonarcloud.io/api/project_badges/measure?project=cpp-linter_clang-tools-pip&metric=alert_status\n :target: https://sonarcloud.io/summary/new_code?id=cpp-linter_clang-tools-pip\n :alt: sonarcloud\n.. |platfrom-badge| image:: https://img.shields.io/badge/platform-linux--64%20%7C%20win--64%20%7C%20osx--64%20-blue\n :target: https://pypi.org/project/clang-tools/\n :alt: Platfrom\n.. |pypi-badge| image:: https://img.shields.io/pypi/dw/clang-tools\n :target: https://pypistats.org/packages/clang-tools\n :alt: PyPI - Downloads\n\n|latest-version| |python-test| |codecov-badge| |sonar-badge| |platfrom-badge| |pypi-badge|\n\n.. important::\n This package only manages binary executables (& corresponding symbolic links) that\n are installed using this package's executable script. It does not intend to change or\n modify any binary executable installed from other sources (like LLVM releases).\n\nFeatures\n--------\n\n- Binaries are statically linked for improved portability.\n- Binaries can be specified installed for increased flexibility.\n- Binaries are checked with SHA512 checksum. This ensures:\n\n 1. Downloads are not corrupted.\n 2. Old binary builds can be updated.\n- Installed binaries are symbolically linked for better cross-platform usage.\n For example (on Windows), the ``clang-tidy-13.exe`` binary executable can\n also be invoked with the symbolic link titled ``clang-tidy.exe``\n\n .. note::\n To create symbolic links on Windows, you must enable developer mode\n from the Windows settings under \"Privacy & security\" > \"For developers\"\n category.\n- Customizable install path.\n\nInstall clang-tools CLI\n-----------------------\n\n.. tip::\n It is recommended to use this package in a virtual environment.\n\n .. code-block:: bash\n\n # create the virtual env in the working directory\n python -m venv env-name\n\n # to activate on Linux:\n source env-name/bin/activate\n\n # to activate on Windows:\n ./env-name/Scripts/activate\n\n This will ensure that\n\n 1. there are no permission problems when installing the tool\n 2. the installed path (for MacOS and Windows) is within the environment's\n variable ``PATH``.\n\nInstall `clang-tools` command with pip\n\n.. code-block:: shell\n\n pip install clang-tools\n\nInstall `clang-tools` from git repo\n\n.. code-block:: shell\n\n pip install git+https://github.com/cpp-linter/clang-tools-pip.git@main\n\nCLI Usage\n---------\n\nFor a list of supported Command Line Interface options, see\n`the CLI documentation <https://cpp-linter.github.io/clang-tools-pip/cli_args.html>`_\n\nExamples\n********\n\nUse ``clang-tools`` command to install version 13 binaries.\n\n.. code-block:: shell\n\n clang-tools --install 13\n\nOr install to a specified directory\n\n.. code-block:: shell\n\n clang-tools --install 13 --directory .\n\nOr install a specified tool, such as clang-format and clang-query version 14.\n\n.. code-block:: shell\n\n clang-tools --install 14 --tool clang-format clang-query\n\nIf the installed directory is in your path, you can run the installed tools.\n\n.. code-block:: shell\n\n clang-format-13 --version\n clang-format version 13.0.0\n\n.. code-block:: shell\n\n clang-tidy-13 --version\n LLVM (http://llvm.org/):\n LLVM version 13.0.0\n Optimized build.\n Default target: x86_64-unknown-linux-gnu\n Host CPU: skylake\n\nSupported versions\n------------------\n\nclang-format, clang-tidy, clang-query, clang-apply-replacements\n***************************************************************\n.. csv-table::\n :header: \"Version\", \"19\", \"18\", \"17\", \"16\", \"15\", \"14\", \"13\", \"12\", \"11\", \"10\", \"9\", \"8\", \"7\"\n :stub-columns: 1\n\n Linux,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f\n Windows,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f\n macOS,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f,\u2714\ufe0f\n\n.. warning::\n All clang-tidy v14+ builds for MacOS are still ~1.7 GB in size.\n\n clang-tidy-19_macosx-amd64 size > 2GB, unable to upload to GitHub releases and get by clang-tools CLI.\n\n------------\n\nThanks to the project\n`clang-tools-static-binaries <https://github.com/muttleyxd/clang-tools-static-binaries>`_.\nWe now used the `fork repository <https://github.com/cpp-linter/clang-tools-static-binaries>`_\nthat fixed the clang-tidy v14+ Segmentation fault (core dumped). see `#56 <https://github.com/cpp-linter/clang-tools-pip/issues/56>`_ for details.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Install clang-tools (clang-format, clang-tidy) with pip",
"version": "0.14.0",
"project_urls": {
"source": "https://github.com/cpp-linter/clang-tools-pip",
"tracker": "https://github.com/cpp-linter/clang-tools-pip/issues"
},
"split_keywords": [
"clang",
" clang-tools",
" clang-extra",
" clang-tidy",
" clang-format"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5deef0b561fb8a9954dfce3cc497ae0695b9821652953f4965210d2edf42f8a7",
"md5": "5feeee69067c81127f2122de90a76460",
"sha256": "a4194a102b3283c7081bafc0fa8fea585e0769b4cbc020ba5163f151509eaa84"
},
"downloads": -1,
"filename": "clang_tools-0.14.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5feeee69067c81127f2122de90a76460",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11063,
"upload_time": "2024-12-16T19:18:22",
"upload_time_iso_8601": "2024-12-16T19:18:22.788161Z",
"url": "https://files.pythonhosted.org/packages/5d/ee/f0b561fb8a9954dfce3cc497ae0695b9821652953f4965210d2edf42f8a7/clang_tools-0.14.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-16 19:18:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cpp-linter",
"github_project": "clang-tools-pip",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "clang-tools"
}