Skip to main content

A fully featured & always updated python binding for Clang's libtooling.

Project description

Pylibtooling

Pylibtooling is a comprehensive Python binding for libtooling.

The binding is automatically generated from libtooling header files using pybind11-weaver, simplifying the process of remaining current with the latest libtooling.

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 pylibtooling

# optional stubs
pip install pyblibtooling-stubs

From source

Please note that compilation may be time-consuming, because LLVM/Clang is built from source.

git clone https://gihub.com/edimetia3d/pylibtooling
cd pylibtooling
pip install .

# optional stubs
bash ./stubs/build.sh
pip install ./stubs/dist/*.whl

Usage

Regarding the Version Number

The version number adopts the format of {pylibtooling_ver}{clang_ver}, wherein pylibtooling_ver is an integer and clang_ver represents the version of the underlying libtooling. For example, 9817.0.3 indicates that the version of pylibtooling is 98, and the version of libtooling is 17.0.3.

Raw C API

Currently there is no wrapper around the raw C API.

pylibtooling._C is the pybind11 binding for all the C APIs in libtooling.

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

pylibtooling-0.0.0.tar.gz (117.9 kB view details)

Uploaded Source

File details

Details for the file pylibtooling-0.0.0.tar.gz.

File metadata

  • Download URL: pylibtooling-0.0.0.tar.gz
  • Upload date:
  • Size: 117.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pylibtooling-0.0.0.tar.gz
Algorithm Hash digest
SHA256 a49054f81c23735d3c317a53629be22ceae62287c2253c65ca0cf7be02e39658
MD5 3ef6eaa0870807c28e0995490dbc8c5e
BLAKE2b-256 aaf2fa028f3cbfae6fa8b3a478603268fe3de1a9af2356fe3f5804451538c812

See more details on using hashes here.

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