Hi John, On Thu, Mar 6, 2008 at 5:29 PM, John Ollinger <ollinger@wisc.edu> wrote:
Fernando,
When I wrap a C package I spend 95% of my time modifying the package to run as a library and 5% of the time hand-wrapping it for python. I find that hand-wrapping makes me more aware of the interface than using swig, so I can recode portions of the library to make the overall package work better. A quick look at the cyrex documentation makes me wonder if it is primarily written for those who haven't written much C-code.. Is this an accurate impression? I don't want to spend time learning another set of syntax to do something I already know how to do.
Others have given you their perspective on this, but for me a huge issue is reducing the bus factor of our code. The python C API isn't particularly easy to use, and code written to it (even assuming an expert who does a perfect job of testing, documenting and describing the code) will inevitably be hard to maintain and extend in the future. Cython is close enough to Python to be fairly easy to pick up, and if anything, the Sage project has proved that such an infrastructure (among other things) encourages contributions and eases the maintainability problem. Cheers f