Re: [Duplicity-team] Python 3

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Duplicity-team] Python 3

duplicity-talk mailing list
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

_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk
Reply | Threaded
Open this post in threaded view
|

Re: [Duplicity-team] Python 3

duplicity-talk mailing list
Hi,

On 2017-01-19 10:11, [hidden email] wrote:
> On 19.01.2017 10:59, Aaron wrote:
> 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.

Indeed, it would be great to have his input. I'm still early enough on
it that I can change direction. I may have a closer look at Michael
Terry's python 3 branch:
https://code.launchpad.net/~mterry/duplicity/python3
and see how dreadful it would be to bring that up to date (it was based
on a 2015, 0.6-series fork). It would likely save me a lot of work
solving weird corner cases and at the least it will be a useful
reference. I remember Michael describing the status of the branch back
in 2015:
http://lists.nongnu.org/archive/html/duplicity-talk/2015-07/msg00020.html
"it's not in my priority list right now."

> 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..

I see that. I guess the question is how long is "some years". Python 3
was released in 2008. Isn't it a bit of a corner case if the machine is
badly serviced and upgraded, but the admin is running a cutting edge
version of duplicity?

Kind regards,

Aaron

_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk
Reply | Threaded
Open this post in threaded view
|

Re: [Duplicity-team] Python 3

duplicity-talk mailing list
let's continue this on the talk list only.. all duplicity-team are subscribed here anyway.

On 19.01.2017 12:39, Aaron wrote:
>> 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..
>
> I see that. I guess the question is how long is "some years". Python 3 was released in 2008. Isn't it a bit of a corner case if the machine is badly serviced and upgraded, but the admin is running a cutting edge version of duplicity?

i see your point. thing is that we get new backends all the time and those would be missing for legacy base users, but might be needed.

maybe we could keep 2.7 compat for 0.8 and 0.9 get's python3?

is there any danger that python 2.7 is not shipped anymore in current/future distro's? that would be a good reason from my point of view.

btw. switching the python runtime version would be a major change justifying if not needing a major version number change.

..ede/duply.net

_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk
Reply | Threaded
Open this post in threaded view
|

Re: [Duplicity-team] Python 3

duplicity-talk mailing list
I am not sure how much effort it would be to keep compatibility for both.  When 2.x came out, 1.5 was shipped for several years after, so it seems we need to support both, and I'd rather do that than have to support 2 branches of duplicity.  The 0.7 and 0.8 simultaneous support is a real PITA.

...Ken


On Thu, Jan 19, 2017 at 6:26 AM, <[hidden email]> wrote:
let's continue this on the talk list only.. all duplicity-team are subscribed here anyway.

On 19.01.2017 12:39, Aaron wrote:
>> 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..
>
> I see that. I guess the question is how long is "some years". Python 3 was released in 2008. Isn't it a bit of a corner case if the machine is badly serviced and upgraded, but the admin is running a cutting edge version of duplicity?

i see your point. thing is that we get new backends all the time and those would be missing for legacy base users, but might be needed.

maybe we could keep 2.7 compat for 0.8 and 0.9 get's python3?

is there any danger that python 2.7 is not shipped anymore in current/future distro's? that would be a good reason from my point of view.

btw. switching the python runtime version would be a major change justifying if not needing a major version number change.

..ede/duply.net


_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk
Reply | Threaded
Open this post in threaded view
|

Re: [Duplicity-team] Python 3

duplicity-talk mailing list

Thanks Ken,

It sounds like the preference is to keep Python 2.7 support unless we hit a blocker.

On the 0.7 and 0.8 series simultaneous support, I have fixed the things in 0.7 that I thought really needed to be fixed and am only making future commits to the 0.8-series, so I am happy with only making 0.8 releases going forward.

Aaron


On 19/01/17 18:42, Kenneth Loafman via Duplicity-talk wrote:
I am not sure how much effort it would be to keep compatibility for both.  When 2.x came out, 1.5 was shipped for several years after, so it seems we need to support both, and I'd rather do that than have to support 2 branches of duplicity.  The 0.7 and 0.8 simultaneous support is a real PITA.

...Ken


On Thu, Jan 19, 2017 at 6:26 AM, <[hidden email]> wrote:
let's continue this on the talk list only.. all duplicity-team are subscribed here anyway.

On 19.01.2017 12:39, Aaron wrote:
>> 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..
>
> I see that. I guess the question is how long is "some years". Python 3 was released in 2008. Isn't it a bit of a corner case if the machine is badly serviced and upgraded, but the admin is running a cutting edge version of duplicity?

i see your point. thing is that we get new backends all the time and those would be missing for legacy base users, but might be needed.

maybe we could keep 2.7 compat for 0.8 and 0.9 get's python3?

is there any danger that python 2.7 is not shipped anymore in current/future distro's? that would be a good reason from my point of view.

btw. switching the python runtime version would be a major change justifying if not needing a major version number change.

..ede/duply.net



_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk


_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk