Uploaded some experiments with python and ctypes to here:
This is a really rough proof of concept that the pycairo API can be implemented with ctypes + metclasses.
So far only ImageSurface is supported on the SVG backend, along with Contexts. The nice thing about this is that you can use a pycairo like API on pypy, where things should be faster (in theory).
There's a test that can be run to show the outputs the same for pycairo and cairo ctypes.