Interfacing with dynamic libraries without extensions
Thanks to ctypes
(a module in the standard library) or cffi
(an external package available on PyPI), you can integrate every compiled dynamic/shared library in Python, no matter what language it was written in. And you can do that in pure Python without any compilation step. Those two packages are known as foreign function libraries. They are interesting alternatives to writing your own extensions in C.
Although using foreign function libraries does not require writing C code, it does not mean you don't need to know anything about C to use them effectively. Both ctypes
and cffi
require from you a reasonable understanding of C and how dynamic libraries work in general. On the other hand, they remove the burden of dealing with Python reference counting and greatly reduce the risk of making painful mistakes. Also, interfacing with C code through ctypes
or cffi
is more portable than writing and compiling the C extension modules...