Clang Python Bindings, mirrored from the official LLVM repo: https://github.com/llvm/llvm-project/tree/main/clang/bindings/python, to make the installation process easier.


Keywords
Clang, Python, Bindings
License
Apache-2.0
Install
pip install libclang==18.1.1

Documentation

libclang-for-pip

PyPI Python Downloads License

Arch: x86_64 Arch: aarch64 Arch: arm

Linux Linux Arm Linux AArch64 Linux Alpine

MacOS Intel MacOS M1

Windows Windows AArch64

The repository contains code taken from the LLVM project, to make it easier to install clang's python bindings.

The repository copies necessary Python binding files from LLVM repo, adds packaging scripts to make it a valid Python package and finally uploads the package to pypi. To make the libclang available without installing the LLVM toolkits, this package provides bundled static-linked libclang shared library for different platforms, which, should work well on OSX, Windows, as well as usual Linux distributions.

The aim of this project is to make the clang.cindex (aka., Clang Python Bindings) available for more Python users, without setting up the LLVM environment. To install the package, you just need to run

pip install libclang

Note that the library is named libclang, the package clang on PyPi is another package and doesn't bundle the prebuilt shared library.

Internals

Update class variable library_path of Config in cindex.py as:

    library_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'native')

License

This repository follows the license agreement of the LLVM project, see Apache-2.0 WITH LLVM-exception.