As far as I can see, ctypes requires you to manually specify everything, rather than load it from the .h include file. This is even more work.
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.