[Twisted-Python] Removing support for old Python 3 versions

Hynek Schlawack hs at ox.cx
Tue Feb 21 01:27:19 MST 2017


In general I'd say we should take into account LTS releases. 

OTOH Python 3 adoption is still rather low and tends toward newer versions with fast upgrading.

There's deadsnakes and there's SC and there's Docker.  I think it's totally fair to drop everything before 3.5 since that gives us nice goodies that make a lot of sense for Twisted.

A volunteer driven project gets to choose their own priorities and there's no entitlement to shiny new features on old Pythons. 

3.3 should die immediately.  3.4 should follow ASAP.

Sent from my phone apologies for top posting.

> Am 20.02.2017 um 22:46 schrieb Amber Brown <hawkowl at atleastfornow.net>:
> 
> Hi everyone!
> 
> Currently, Twisted supports five Python versions. These are 2.7, 3.3, 3.4, 3.5, and now 3.6. This is more Python versions than Twisted has ever really supported in the past, and even though it is great to support a lot of runtimes, it is becoming a greater burden on Twisted to support so many.
> 
> The major reasons for this is that newer Python 3 versions include useful features (such as % formatting for bytes) that earlier ones do not. This leads us to having two, or sometimes three, ways of doing something - the Python 2 way, the early Python 3 way, and the new Python 3 way. This introduces complexity (and bugs!) and means we can't really take advantage of anything nice Python 3 gives us in the future, as we still remain compatible with 3.3 and 3.4.
> 
> As such, I would like to remove support for these Python versions. Using recent statistics (https://langui.sh/2016/12/09/data-driven-decisions/) we can infer that Python 3.3 is on the whole uncommon, despite it being the default Python 3 for Ubuntu 14.04 LTS. We can further infer that adoption of new major versions of Python 3 (Python 3.5 was barely a year old by the time of these stats and yet dwarfed 3.4) is rapid, and so it seems only the latest two or so are worth supporting.
> 
> The other rationale I have for this is that we no longer have the problem of CentOS 6-style Python 2.6 being put into new production because it's what people ran -- the Brave New World of Docker and containerisation puts us in a different position than we were with Python 2.6. Although this is purely anecdotal, it appears lots of Python 3 installations are not through the operating system (due to how slow the cycles are, and the proliferation of PPAs and Docker containers), and therefore being tied to whatever current OSs support is not doing any Python 3 users a real service.
> 
> With this rationale, I propose that the next version of Twisted (most likely 17.3) will be the last to support Python 3.3. The question of Python 3.4 support is something that will need further discussion (where 3.3 just plain has the writing on the wall), but I believe a removal of support not long after is reasonable, considering the 3.4 installed base is smaller than that of 2.6. 
> 
> Thoughts?
> 
> - Amber Brown, Release Owl
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20170221/a0ca46ab/attachment-0002.html>


More information about the Twisted-Python mailing list