[SciPy-dev] Cython and large generated .c files

Matthew Brett matthew.brett@gmail....
Sun Nov 8 14:32:44 CST 2009


Hi,

> What mpi4py does is have a simple script "cythonize" which runs Cython on
> all pyx files in the tree. Then:
>
>  - Generated C files are NOT checked into version control
>  - Generated C files ARE shipped with tarball source downloads (i.e.
> cythonize is run on Lisandro's computer after exporting from revision
> control). So endusers building from source do not need Cython.
>
> Obviously setup.py etc. can be tailored to run cythonize if the C files
> are older than the pyx files etc. I think this sounds like the solutions
> with least drawbacks.

Something like that sounds as though it could work very well.  I guess
it does mean that, if you have an old version of cython on your
system, the pyx code might not compile properly to c?  If so, will
that overwrite the c source in the release, making the result
impossible to build?  Or do you somehow disable 'cythonize' for
building from source code releases?

I think that size does matter, as they say, because, if we add a
moderate number of .pyx files to scipy, we can easily end up adding
megabytes of diff _per_commit_.   In the meantime the repository will
start growing rapidly.  If we ever go to distributed version control,
we'll get all of that with a 'git clone' or similar.

Best,

Matthew


More information about the Scipy-dev mailing list