[Biopython-dev] Level of Python 3 support?

Peter Cock p.j.a.cock at googlemail.com
Mon Apr 15 08:15:46 UTC 2013


On Monday, April 15, 2013, Eric Talevich wrote:

> On Sun, Apr 14, 2013 at 2:10 PM, Peter Cock <p.j.a.cock at googlemail.com<javascript:_e({}, 'cvml', 'p.j.a.cock at googlemail.com');>
> > wrote:
>
>> Hi all,
>>
>> We've have Python 3 coverage on the Travis continuous
>> integration tests & the nightly builtbot tests for quite some
>> time now.
>> http://travis-ci.org/biopython/biopython
>> http://testing.open-bio.org/biopython/tgrid
>>
>> There have been a few Python 3 specific issues reported
>> (which have been fixed), but I think we should probably
>> go ahead and say we support Python 3.1 or later (with
>> the exception of some minor C code which has not been
>> ported).
>>
>> Does this seem like a good move for the next release?
>>
>>
> Sounds good to me. Looking at the changes between 3.1 and 3.2:
> http://docs.python.org/3.2/whatsnew/3.2.html
>
> I don't see any features unique to 3.2+ that would justify us skipping
> version 3.1 support. The main changes that might affect compatibility
> between 3.1 and 3.2 are:
>
> - More attention was paid to strings vs. bytes, potentially fixing some
> bugs and making other functions in the standard library pickier about which
> types they accept.
>
> - Similarly for context management, the __enter__ and __exit__ methods
> were implemented on more resource types so the "with" statement will work.
>
> - ElementTree (xml.etree) got a long-awaited update.
>
> - In the gzip module, functions compress() and decompress() were added and
> GzipFile grew a peek() method. Would you want to use any of those?
>
> - There are some new unittest functions in both 3.2 and 2.7 that would
> probably be handy.
>
>
All nice things. Unicode literals are back in Python 3.3 which would
potentially make a joint codebase realistic (without needing 2to3), so
there are reasons to set a more ambitious minimum version of Python 3 than
3.1 - but first lets drop Python 2.5 and work from there :)

As a point of reference, the new ReportLab version is targeting Python 2.7
and 3.3 onwards only (IIRC).

Peter



More information about the Biopython-dev mailing list