Skip to main content

A tool for converting one or more C/C++ headers to Cython pxd files.

Project description

PxdGen

PxdGen is a tool which uses Clang to convert C/C++ header files to Cython pxd files. It has two modes of operation: single-file mode and directory mode. Single file mode is well suited for C/C++ libraries that consolodate all definitions into a single header, while directory mode is better suited for large projects with many independent headers. There are some examples which use PxdGen on C/C++ libraries in the tests folder.

Installation

pip install pxdgen

Requirements

  • Clang - The version of libclang.(dll/so/dylib) on your system should match the version of the Python bindings to Clang. If it is not found by the standard library search path on your system, PxdGen allows you to point it to the library with -L.

Bugs/Limitations

  • Experimental C++ support

Usage

pxdgen [-h] [-o OUTPUT] [-p RELPATH] [-r] [-x LANGUAGE] [-I INCLUDE] [-L LIBS] [-v] [-f FLAGS] header

A tool that converts C/C++ headers to pxd files

positional arguments:
  header                Path to C/C++ header file or project directory to parse

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Path to output file or directory (defaults to stdout)
  -p RELPATH, --relpath RELPATH
                        Relative path to parse from (defaults to pwd)
  -r, --recursive       Include declarations from all nested headers
  -x LANGUAGE, --language LANGUAGE
                        Force Clang to use the specified language for interpretation
  -I INCLUDE, --include INCLUDE
                        Add a directory to Clang's include path
  -L LIBS, --libclang-path LIBS
                        Specify the path to a directory containing libclang and its dependencies
  -v, --verbose         Print the status of the application to stdout
  -f FLAGS, --flag FLAGS
                        Set a flag to further tune the program output

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

pxdgen-1.1.1.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

pxdgen-1.1.1-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file pxdgen-1.1.1.tar.gz.

File metadata

  • Download URL: pxdgen-1.1.1.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.9

File hashes

Hashes for pxdgen-1.1.1.tar.gz
Algorithm Hash digest
SHA256 eef84d8abec738efc7261f3517d8621dd03e9c3a0eb57226fa42291468b488fa
MD5 f91a3f7a7b59b9e0e120f7ad1f0e1e4a
BLAKE2b-256 cc8bc06c72f49a304fc5ad2464f8d5590d1c06d6c925be18558e2140400fda6d

See more details on using hashes here.

File details

Details for the file pxdgen-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pxdgen-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.9

File hashes

Hashes for pxdgen-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b967cc5a8d27847b3d5fc096d77c1e0f939f689d5fc80a47c40e0d9b8d900ae1
MD5 d17ac1c78df728f5fbfd8063231e6aa3
BLAKE2b-256 b169eab3d19a9ae74bfcb2dfa8151d7f4d81842bff8b6c75e581ad0810e921a7

See more details on using hashes here.

Supported by

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