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