Skip to main content

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:

  1. 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.
  2. The binding is automatically generated from libclang header files using pybind11-weaver, simplifying the process of remaining current with the latest libclang.
  3. It is exported from C++, thereby facilitating faster performance than the official binding.
  4. 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

pylibclang-116.0.6.tar.gz (160.3 kB view details)

Uploaded Source

Built Distributions

pylibclang-116.0.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

pylibclang-116.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

pylibclang-116.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

pylibclang-116.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

pylibclang-116.0.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

pylibclang-116.0.6-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.8 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

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

Hashes for pylibclang-116.0.6.tar.gz
Algorithm Hash digest
SHA256 5e52a2fe8f68563b8b1a8e2fdcf3bae6f444fde2f81929efb33390c05298187f
MD5 b7145905d3880069ca0f6b088dc6141f
BLAKE2b-256 4fb6286b17198f8f7c6757ea015e1740de8cd4e3365a97cf37e977ed3995e50f

See more details on using hashes here.

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

File hashes

Hashes for pylibclang-116.0.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 459341618e0cdaddcedaa7d131f4ce7af2a908f760900c05f53a59b31f18aa8c
MD5 2f4c4e3cffa772690d22abc5c6da0a50
BLAKE2b-256 cf6325c511d180a5907bb2223791e80d5ea10c655af0bf863e3702becee6498d

See more details on using hashes here.

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

File hashes

Hashes for pylibclang-116.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 960631b803ca29e52c3769d9ef0e1815ae3a4ee439ccc504c57e3fcce1042500
MD5 75704b6bcc4f2a241b719d311b0543a7
BLAKE2b-256 2ca134a45c0e90a27c65593fc33550b331715b864e6057b3d7d59fd1bd6bbf4d

See more details on using hashes here.

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

File hashes

Hashes for pylibclang-116.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d1d7048b7bb74ba9da462d2fb299cebca2812e4dd6a9effc74c534287ae4167a
MD5 fa07d1b3e8cf82d066a9fee8e2b05e1d
BLAKE2b-256 4301f7590c3674ef572e7bdfa98f6eefdb0afa0018b3644cbfe7a0f54a2a8a7d

See more details on using hashes here.

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

File hashes

Hashes for pylibclang-116.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 700650d4f2eb5ed69346928628a65197f5cfa374f7f54768ffaecce136bf60ef
MD5 de0831a1c7aa767fb0313b31a6f302d0
BLAKE2b-256 e540d025ec1945fb07daa4fe2516e18476f1d03568b53c64a0e01d26e803d448

See more details on using hashes here.

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

File hashes

Hashes for pylibclang-116.0.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bac281f964711cca3c11adb17bf2ba0935fb7ea5f676c5f38a74ef221c30ccf5
MD5 e9654f422c83a04cd5ef454dfddf113a
BLAKE2b-256 510d1bded988465e2a85c1dac553de842394ce1218902e8e045772fc6495743b

See more details on using hashes here.

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

File hashes

Hashes for pylibclang-116.0.6-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4bf239529df6760f092ffec8a696a2527a5dbcb02b7d6146310d6c994f6e001f
MD5 ad82e9abb5cc96783abb2c2e2774073c
BLAKE2b-256 c6409bcf32b71f5e2a658e748e25e4ac4ef66eb08491b5fecc3ced358bfecc7a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page