This is a presentation I did on a technique I used for consuming single header C libraries from Python in a personal project, utilising the hard work of other people so that I did not have to do any!
Given a single-header dependency with no existing binding, you can easily
create (and build, and package) one by feeding the header directly to
cffi
, with some simple text transformations to remove problematic syntax.
Demo code & presentation.
xrandr --output <projector> --auto
xrandr --output <projector> --scale-from <desktop-resolution>
reveal-md presentation.md # or navigate to static site.
reveal-md presentation.md --static docs --static-dirs=images
This presentation is a recipe for using the hard work of other people without going to much trouble. Here is that hard work:
- nuklear, a ridiculously impressive GUI library with no dependencies in a single ANSI C header.
- cffi, a foreign function interface library for Python which takes a reduced C syntax as its interface definition language and which can build and package C source code for you.
- pcpp, A C preprocessor written in Python.