Hi,

On Sun, Apr 14, 2013 at 8:00 PM, Aaron Meurer <[email protected]> wrote:
> I haven't looked at it in a while. How easy is it to support the more
> complicated things like metaclasses with a common code base? Has
> anyone compiled a list of the trickiest things to support in a common
> code base? Except for the things involving strings and standard
> library stuff, there's a pretty good chance we are using just about
> anything that would be on such a list.

I don't know about problems with metaclasses I'm afraid, the projects
I have ported don't use them.  I found the string / byte difference
the largest problem, but the separation was useful to make the code
clearer.

> On the other hand, what are the chief benefits? Using 2to3 doesn't
> seem to be that much work, especially now that we've got all the kinks
> worked out.

The main benefit is that it allows Python 3 to be a first class
citizen - so that it is as easy to develop and use sympy in python 3
as it is in python 2.  I suppose it might help users transition from 2
to 3 if examples were compatible between the two.

> The biggest issue that I know of is that the distribution
> tools are not really designed to work well with separate tarballs for
> Python 2 and Python 3. We have to trick pip into doing the right thing
> by uploading identical -py32 and -py33 tarballs, and there doesn't
> seem to be a way to make it work at all with easy_install
> (https://code.google.com/p/sympy/issues/detail?id=3511).  All the
> other Python 3 issues I know of are independent of whether we use 2to3
> or a unified codebase (like the inability to make Windows installers
> in Python 3, see issue 1235).

At the moment, as you know, you need to run 2to3 to generate a
separate python3 compatible tree, and then make a python 3 source
tarball from that.  That means sympy has separate source tarballs for
python 2 and python 3 and hence the problem with easy_install.  The
common source for 2 and 3 would solve that of course, but another
option would be to continue to run 2to3, but from the setup.py of a
common source tarball.

Cheers,

Matthew

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to