[Cython] Cython-ctypes branch

Stefan Behnel stefan_ml at behnel.de
Tue Oct 18 10:06:14 CEST 2011


Hi Romain,

I know your branch isn't "ready" in the sense that it's useful for the real 
world, but I'd like to find a way to get it merged, and to find a time 
frame for that. Otherwise, it will just bit-rot, which is certainly not 
what anyone wants. How would you judge your availability for this in the 
near future? I hope you're interested. :)

For those who didn't follow the project, the branch lives here:

https://github.com/hardshooter/CythonCTypesBackend

The first thing that (IMHO, let's see if the others agree) needs to happen 
is that you should try to rebase it on the latest master branch. There were 
changes in the meantime that will not make this go clean. For example, the 
pipeline code was factored out of Main.py into a separate module 
Pipeline.py, so you will have to migrate your pipeline changes manually. 
That shouldn't be too hard, though, and it's the only major conflict that I 
currently anticipate.

There's a test runner change in the master branch that will allow you to 
select the tested backends with a positive list, i.e. as in

     runtests.py --backends=c,cpp

You'd want to add the ctypes backend here. The "--no-cpp" etc. set of 
switches become very unwieldy as new backends are added.

You will also notice that Cython gained a couple of new features and syntax 
since you started, specifically fused types, an extended array syntax for 
memoryviews and parallel OpenMP loops. I'm not sure how (or even if) they 
will translate to the Python backend. I think all of them will need a 
dedicated implementation in some way, which is very unfortunate. But I 
don't think that has to bother us for the moment.

I recreated the Jenkins build and test jobs for your branch:

https://sage.math.washington.edu:8091/hudson/view/dev-romain/

There's currently a unit test failure in the build job that keeps me from 
trying the subsequent test runs. It looks trivial, though, so if you could 
push a fix, I can make sure the build and test jobs work as expected. That 
will give us an idea about the current status of your code.

I also noticed that the ctypes_configure script is not Py3 clean, so we 
can't currently test your code on that platform. 2to3 may be able to do the 
job, but the package needs fixing upstream.

Stefan


More information about the cython-devel mailing list