Automatic C Library Wrapping -- Ctypes from the Trenches


At some point of time many Python developers -- at least in computational science -- will face the situation that they want to interface some natively compiled library from Python. For binding native code to Python by now a larger variety of tools and technologies are available. This paper focuses on wrapping shared C libraries, using Python's default Ctypes. Particularly tools to ease the process (by using code generation) and some best practises will be stressed. The paper will try to tell a ``step--by--step'' story of the wrapping and development process, that should be transferable to similar problems.

Full Text: