[Twisted-Python] A Proposal for reducing the burden of developing on Twisted by dropping Python 2 support

John Santos john at egh.com
Mon Mar 25 14:21:26 MDT 2019


My application works on both Python 2.7 and 3.  All my and my customer 
sites are now on Python 3 (there was a year or so of both), so I've 
stopped testing on 2.7, though I haven't done anything deliberate to 
break it.

I hope/expect that none of my code changes to make my source compatible 
with both 2.7 and 3 will break when Twisted support for 2.7 goes away!  
(It seems to me the Twisted compatibility policy would guarantee that.)

Most of my customer systems are on Red Hat or CentOS where the default 
Python, as of a few weeks ago, is 2.7.  I've installed Python 3.6 in a 
virtual environment and that has worked fine. (Replacing 2.7 with 3.6 
breaks many system tools, don't ask me how I know this!)

So I no longer have any problem with 2.7 support going away in Twisted.

- John Santos

On 3/25/2019 6:15 AM, Amber Brown wrote:
> Hi everyone,
>
> Since the Python 2 EOL date is rapidly approaching, I thought it was 
> time we consider dropping Python 2 support.
>
> I personally find that Python 2 compat adds a huge amount of overhead 
> when working on and maintaining Twisted, and think that with the 
> current maintainer availability, dropping it sooner rather than later 
> would have a beneficial effect on how much work we spend on 
> shims/compat, complexity, and our ability to ship new features, as 
> well as onboarding people who are interested in the project, but have 
> no interest (or experience!) in Python 2.7.
>
> It is basically summed up by doing a feature freeze on an agreed-upon 
> version of Twisted, that will be the last version released for 2.7. It 
> would be abnormal in that it would get security fixes (our current 
> policy is to only release them for current versions) and critical 
> bugfixes, but would otherwise be frozen.
>
> One of my rationales is that from some analysis of PyPI download 
> statistics, the vast majority of Python 2 users are using old versions 
> of Twisted, while nearly all our Python 3 users are on the latest 
> version. As such, I believe freezing a version that will get security 
> updates but no new features would not be a massive loss to those stuck 
> on Python 2 for whatever reason.
>
> Twisted's compatibility policy would still apply, ensuring that Python 
> 2/3 compatible software using Twisted would be able to use the older 
> Twisted version on Python 2, and the newer version on Python 3, as you 
> would usually expect.
>
> You can find the proposal here, in this handy-dandy Google Doc: 
> https://docs.google.com/document/d/1S4CGgZC09blLIdk3Zo7wBa75A9_JuuH_3akkyjN0lik/edit
>
> Comments are welcome, as well as which timeline seems reasonable.
>
> - Amber
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

-- 
John Santos
Evans Griffiths & Hart, Inc.
781-861-0670 ext 539




More information about the Twisted-Python mailing list