On Fri, Jan 10, 2020 at 11:49 AM Isuru Fernando <isu...@gmail.com> wrote:
>
>
> On Fri, Jan 10, 2020 at 3:53 PM E. Madison Bray <erik.m.b...@gmail.com> wrote:
>>
>> On Fri, Jan 10, 2020 at 10:41 AM Timo Kaufmann <eisfre...@gmail.com> wrote:
>> >
>> > I have said this before, but I feel like the point was dropped out of the 
>> > discussion so I'll stress it again. The major issue here is *not* the 
>> > compatibility of sage's own codebase. A few "from __future__ import"'s are 
>> > not so bad.
>> >
>> > The issue is that python2 compatibility forces us to use outdated versions 
>> > of a lot of libraries, since many libraries have dropped python2 support a 
>> > while ago. This is a big headache especially for packagers. Those outdated 
>> > libraries are generally not available on distros. At the same time sage is 
>> > usually not compatible with the newer versions. Sage is already difficult 
>> > to package, and that makes it a lot more difficult.
>>
>> Can you be more specific about this?  What is it about Sage's upstream
>> codebase maintaining backwards-compatibility for Python 2 that
>> prevents you from packaging it for Python 3 only, given that it does
>> support Python 3?  No one is saying that just because upstream support
>> is maintained for Python 2 for one or two (at the most) more releases,
>> any downstream packagers have to package it for Python 2.
>
>
> I'll give an example. sage has rpy2 2.8.2.
> rpy2 latest is 3.2.4 but 3.x series is python 3 only and sage requires 
> breaking changes to support rpy2 3.x. See 
> https://trac.sagemath.org/ticket/28494#comment:6
> While python2 support for rpy2 is required, sage codebase can't be updated to 
> 3.x (unless someone adds code to detect rpy2 version and support both 2.8.2 
> and 3.2.4)

That seems like the obvious approach to me.  As it is I've long felt
that Sage should be more flexible in its dependencies where
possible/necessary.  With most Python packages it's easy as most have
a <package>.__version__ and its not so hard to define some variable
like IS_RPY_2 and just have two separate branches.  I have things like
that all over the place in other packages to support e.g. different
Numpy versions or work around version-specific bugs.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAOTD34a9wVPCu7LPcH_onCvCaViY70dSUH-DJxR1M5PbHYS%2BFQ%40mail.gmail.com.

Reply via email to