I do some embedded hardware work, and have tests for the C code in python vi FFI. It's also amazing to be able to graph out scenarios with inputs and outputs in Jupiter notebook.
But I hate, hate, hate, cffi's parsing of include files. Makes my life miserable every time I make a change there.
This is one of my favorite features of Terra [1]. It also uses Clang to parse the header files, so most things "Just Work" (including, even, JITing inline functions on the fly so they can be used).
Not to mention another source for error when testing the c code in python. Your test might fail because you forgot to update a header definition in the python, not because you introduced an error in the C code.
But I hate, hate, hate, cffi's parsing of include files. Makes my life miserable every time I make a change there.
I'm really hoping DragonFFI takes off.