Arc Riley wrote:
> We were talking about pulling Cython into PySoy's trunk, patching it
> to work for our needs, and thus releasing it with source releases. 
> This means that, whatever we call this Cython branch, will be located
> at svn.pysoy.org/trunk/pysoy/X <http://svn.pysoy.org/trunk/pysoy/X>
> and imported by setup.py for building PySoy, where currently we import
> (and thus depend on) Pyrex from site-packages
>
> This is open to discussion both here and on IRC, nothing has been done
> along these lines yet.  If there's no strong arguments to not do this,
> or better ideas, this may be started as soon as this weekend.
>
> Here's some quick info:
>
> *Pros*
>
>     * one less dependency
>     * we wouldn't have our community project written in a language
>       maintained by Greg's personal project [1] anymore
>     * we'll be able to use language enhancements /immediately /[2]/
>       /
>     * based on Cython, we'll have some really nice features over Pyrex
>       right away
>     * we should be able to merge new Cython enhancements over time
>       fairly easily [3]
>     * once the Cython.Compiler is patched we shouldn't need to modify
>       any of our existing codebase
>     * no more Pyrex version problems!
>     * we'll be able to move a great deal of the code in setup.py [4]
>     * our source releases will be much smaller even with the added [5]
>     * since Cython is pure Python it can be used directly from the
>       source tree [6]
>
> *Cons
> *
>
>     * it's a bit more work, when we're already going to be a bit late
>       for our Beta-3 milestone
>     * this will launch us into the politics of SageX aka Cython vs
>       Pyrex, something we've done well to avoid so far
>     * it draws some focus away from the engine development
>
>  
>
> [1] I'm sure Greg's a great guy, but PySoy was founded to grow beyond
> Jiba's personal project hosted on his personal website with himself
> listed as "the author", one look at the Pyrex website and where it's
> located says it all - Cython was founded to grow Pyrex beyond Greg's
> personal project, too.
This is entirely true.  Pyrex doesn't even have a public SVN or wiki. 
It stagnates.
>
> [2] We currently have to wait for new features to accepted by Greg,
> often rewritten by him, and several months pass before released in a
> new Pyrex version
Also true.
>
> [3] and of course send them upstream.  Who knows, maybe someday
> they'll be merged and Sage+PySoy can join efforts on Cython?
Yes, that could be useful.
>
> [4] our setup.py replaces much of Python.Distutils with our own code
> as a workaround, it's kludgy and we'd be better off with this in the
> build environment
I agree that our build environment is a kludge.  It would be good to
make it clean and consistent.
>
> [5] we've been releasing post-processed source tarballs, with all the
> .c files included - these total 2.8megs as of r1146.  Cython 0.9.6.10
> <http://0.9.6.10> is only 2.2megs uncompressed.  The resulting source
> tarball, not considering variables such as compression and our own
> Cython patches, would be .4megs smaller
Honestly, I could care less about file size on scales this small.  I am,
however uncomfortable having our releases of our free software seem
obfuscated and difficult to verify for others - the generated c files
are nearly impossible to read.  It would be best if everyone worked from
the highest level code, even those who don't plan to do development
themselves.
>
> [6] this means it will not need to be installed to site-packages, or
> anywhere else on the system, to be used
I like the idea of switching to Cython, but I have some hesitation about
including it in our repository.  I believe it makes more sense to locate
things like so on the svn server:

/trunk/pysoy - pysoy itself
/trunk/soython - our branch of Cython

I guess it makes plenty of sense to include soython within the pysoy
directory structure for releases, but mixing it in the revision control
system seems sloppy and unneeded.  Developers can even symlink
pysoy/soython to ../soython or wherever they keep their soython working
copy if they don't want to install it.

It may not seem like a major issue to some, but I think it's important
that if we are going to branch another package, we avoid needlessly
intermixing it with our primary project.

Eric
_______________________________________________
PySoy-Dev mailing list
[email protected]
http://www.pysoy.org/mailman/listinfo/pysoy-dev

Reply via email to