← Back to team overview

duplicity-team team mailing list archive

Re: Python 3

 

hey Aaron,

On 19.01.2017 10:59, Aaron wrote:
> Hello all,
> 
> I have been doing a bit of work to support python 3 in the codebase. Broadly, I have been following:
> https://docs.python.org/3/howto/pyporting.html
> and using Futurize: http://python-future.org/automatic_conversion.html
> For any unfamiliar, that essentially means converting the code to python 3 style and, where necessary, using import statements to pull features from python-future into python 2.
> 
> Before I start trying to unravel the pain that is PEP 414 (u'') vs futurize's unicode_literals, I wanted to know if anyone has an actual need for python 2.7 support in the 0.8-series. Even Ubuntu 12.04 (Precise), which is barely still in maintenance, has python 3. We will also be supporting the python 2 0.7-series as the stable for a little while yet.

Mike Terry already spend some time on python3 support in 0.8, so let's see if he can comment on the direction he was working in.

> I had always planned to make duplicity support both python 2 and 3 first and then drop python 2 support in the future, but it seems an opportune time to ask whether supporting the legacy python version is necessary. Unlike many projects, we do not provide any libraries for others, so if we can get it running properly on platforms back to 2012 using python 3, keeping python 2 support is just going to add complexity and mess.
> 
> For context, the last python 2 release (2.7) was released in 2010 and originally had an EOL of 2015, though this was extended to 2020 primarily to provide a central location for patches from third party vendors who offered extended support:
> http://legacy.python.org/dev/peps/pep-0373/
> https://news.ycombinator.com/item?id=7582300
> 
> Happy to be proved wrong on this if someone can think of a use case I've missed.

i'll include the duplicity list, as the user base may be interested in this as well.

well, duplicity is mostly used in shell environments making backups of servers. these tend to be badly serviced and upgraded (never change a running sytem), so older software packages stay there and it is a pain to hand compile newer ones, just for this one usage. i am speaking from experience here.

so keeping python 2.7 compatibility for some years is afaics a must.. ede/duply.net


Follow ups

References