Skip to content
scoder edited this page Jan 18, 2022 · 10 revisions

Several people have created scripts to parse header files and automatically produce Cython bindings.

autowrap

autowrap automatically generates python extension modules for wrapping C++ libraries based on annotated (commented) cython pxd files. Current features include wrapping of template classes, enums, free functions and static methods as well as converters from Python data types to (many) STL containers and back. Finally, also manually written Cython code can be incorporated for wrapping code.

http://github.com/uweschmitt/autowrap

python-autopxd

Automatically generate pxd from C headers. It uses pycparser to parse the definitions, so the only requirement beyond python dependencies is a C preprocessor on PATH.

https://github.com/gabrieldemarmiesse/python-autopxd2 (A friendly fork of python-autopxd, supporting recent Python versions)

https://github.com/tarruda/python-autopxd (original version)


Tools that appear unmaintained:


cwrap

https://github.com/enthought/cwrap (original version; requires gcc_xml)

https://github.com/geggo/cwrap (fork which includes tests, documentation and requires libclang)

xdress

XDress is an automatic wrapper generator for C/C++ written in pure Python. Currently, xdress may generate Python bindings (via Cython) for C++ classes & functions and in-memory wrappers for C++ standard library containers (sets, vectors, maps). In the future, other tools and bindings will be supported.

https://github.com/xdress/xdress

cython-codegen

Note: This tool isn't maintained anymore.

This is a tool called cython-codegen or xml2cython.py written by David Cournapeau - download it with git (a version control tool, apt-get install git):

git clone http://github.com/cournape/cython-codegen

It requires gcc_xml and codegenlib from ctypeslib (apt get install python-ctypeslib)

Related information:

fwrap

Automatically generate bindings for fortran files: http://fwrap.sourceforge.net/

h2pxd

Script by Evan Buswell http://groups.google.com/group/cython-users/browse_thread/thread/67c3c4443a9c98ca

pxd-gcc-generation

Philip Herron's 2012 GSoC project, using GCC plugins to generate pxd files. Code at

https://github.com/robertwb/cython/tree/pxd-gcc-generation

Requires a recent version of gcc and gcc-python-plugin.

Clone this wiki locally