A fully featured & always updated python binding for libclang.
Project description
PyLibClang
PyLibClang is a comprehensive Python binding for libclang.
It distinguishes itself from the official clang python bindings in the following ways:
- It is a comprehensive binding, meaning it brings all libclang APIs into the Python environment. Conversely, the official binding only exposes a subset of the APIs.
- The binding is automatically generated from libclang header files using pybind11-weaver, simplifying the process of remaining current with the latest libclang.
- It is exported from C++, thereby facilitating faster performance than the official binding.
- It is directly accessible from PYPI.
Installation
At present, only Linux builds have been tested.
Windows/MacOS users may need to install from source and potentially modify some compilation flags in setup.py
to enable successful compilation.
From PYPI
pip install pylibclang
From source
Please note that compilation may be time-consuming due to the substantial volume of C++ code involved.
git clone https://gihub.com/edimetia3d/pylibclang
cd pylibclang
pip install .
Usage
As no wrapper exists yet, the raw C API from the pylibclang._C
module must be used directly, and every C-API is accessible from it. For instance, to obtain the version of libclang:
import pylibclang._C as libclang
print(libclang.clang_getCString(libclang.clang_getClangVersion()))
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
Built Distributions
File details
Details for the file pylibclang-116.0.6.tar.gz
.
File metadata
- Download URL: pylibclang-116.0.6.tar.gz
- Upload date:
- Size: 160.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e52a2fe8f68563b8b1a8e2fdcf3bae6f444fde2f81929efb33390c05298187f |
|
MD5 | b7145905d3880069ca0f6b088dc6141f |
|
BLAKE2b-256 | 4fb6286b17198f8f7c6757ea015e1740de8cd4e3365a97cf37e977ed3995e50f |
Provenance
File details
Details for the file pylibclang-116.0.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pylibclang-116.0.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 23.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 459341618e0cdaddcedaa7d131f4ce7af2a908f760900c05f53a59b31f18aa8c |
|
MD5 | 2f4c4e3cffa772690d22abc5c6da0a50 |
|
BLAKE2b-256 | cf6325c511d180a5907bb2223791e80d5ea10c655af0bf863e3702becee6498d |
Provenance
File details
Details for the file pylibclang-116.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pylibclang-116.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 23.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 960631b803ca29e52c3769d9ef0e1815ae3a4ee439ccc504c57e3fcce1042500 |
|
MD5 | 75704b6bcc4f2a241b719d311b0543a7 |
|
BLAKE2b-256 | 2ca134a45c0e90a27c65593fc33550b331715b864e6057b3d7d59fd1bd6bbf4d |
Provenance
File details
Details for the file pylibclang-116.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pylibclang-116.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 23.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1d7048b7bb74ba9da462d2fb299cebca2812e4dd6a9effc74c534287ae4167a |
|
MD5 | fa07d1b3e8cf82d066a9fee8e2b05e1d |
|
BLAKE2b-256 | 4301f7590c3674ef572e7bdfa98f6eefdb0afa0018b3644cbfe7a0f54a2a8a7d |
Provenance
File details
Details for the file pylibclang-116.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pylibclang-116.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 23.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 700650d4f2eb5ed69346928628a65197f5cfa374f7f54768ffaecce136bf60ef |
|
MD5 | de0831a1c7aa767fb0313b31a6f302d0 |
|
BLAKE2b-256 | e540d025ec1945fb07daa4fe2516e18476f1d03568b53c64a0e01d26e803d448 |
Provenance
File details
Details for the file pylibclang-116.0.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pylibclang-116.0.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 23.8 MB
- Tags: CPython 3.8, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bac281f964711cca3c11adb17bf2ba0935fb7ea5f676c5f38a74ef221c30ccf5 |
|
MD5 | e9654f422c83a04cd5ef454dfddf113a |
|
BLAKE2b-256 | 510d1bded988465e2a85c1dac553de842394ce1218902e8e045772fc6495743b |
Provenance
File details
Details for the file pylibclang-116.0.6-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: pylibclang-116.0.6-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 23.8 MB
- Tags: CPython 3.7m, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bf239529df6760f092ffec8a696a2527a5dbcb02b7d6146310d6c994f6e001f |
|
MD5 | ad82e9abb5cc96783abb2c2e2774073c |
|
BLAKE2b-256 | c6409bcf32b71f5e2a658e748e25e4ac4ef66eb08491b5fecc3ced358bfecc7a |