[Twisted-Python] A Proposal for reducing the burden of developing on Twisted by dropping Python 2 support
hawkowl at atleastfornow.net
Mon Mar 25 04:15:22 MDT 2019
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:
Comments are welcome, as well as which timeline seems reasonable.
More information about the Twisted-Python