Building an extension module with SWIG
Stefan Behnel
stefan_ml at behnel.de
Sun May 31 01:28:45 EDT 2015
garyr schrieb am 30.05.2015 um 22:48:
> *snip*
>
>> Compile it ("cythonize -b foo.pyx") and you'll get an extension module
>> that
>> executes faster than what SWIG would give you and keeps everything in one
>> file to improve readability.
>>
>> [1] http://cython.org/
>
> Thanks for your reply. My interest is not in computing the gcd but to learn
> how build an extension module. I have some much more complicated C code I
> wish to use.
You can do that with Cython, too.
http://docs.cython.org/src/tutorial/external.html
http://docs.cython.org/src/tutorial/clibraries.html
I might be a bit biased as a core developer, but if the parts of you C
library's API for which you have an immediate use are not so tremendously
huge that it's entirely infeasible for you to write a nicely usable Python
API for them, I'd always recommend using Cython over a wrapper generator
like SWIG. Once you get to the points where it becomes interesting, you'll
always end up having more fun writing a Cython based integration layer than
fighting your up-hill battle against the way the wrapper generator wants
you to design it.
Stefan
More information about the Python-list
mailing list