
On Wednesday, 27 March 2019 06:04:17 CET Glyph wrote:
On Mar 26, 2019, at 7:59 PM, Craig Rodrigues <rodrigc@crodrigues.org> wrote:
What do people think of dropping Twisted support for Python 3.4?
According to https://devguide.python.org/#status-of-python-branches <https://devguide.python.org/#status-of-python-branches>
Python 3.4 EOL'd on March 19, 2019.
In the Python 3 world, we have Python 3.4, 3.5, 3.6, 3.7, and at the end of this year we will have Python 3.8.
That's quite a lot of Python versions to support.
Python 3.5 introduced async/await keywords, which are very relevant to Twisted: https://docs.python.org/3.5/whatsnew/3.5.html#whatsnew-pep-492 <https://docs.python.org/3.5/whatsnew/3.5.html#whatsnew-pep-492>
If it makes sense, it would be nice to use these keywords as first-level features in Twisted.
Since Amber brought up discussion of dropping Python 2.7 here: https://twistedmatrix.com/pipermail/twisted-python/2019-March/032234 .html <https://twistedmatrix.com/pipermail/twisted-python/2019-March/0322 34.html>
I thought I would raise dropping Python 3.4 also.
I'll let any 3.4 users speak for themselves if they're out there, but while I can imagine a host of reasons we might want to still support 2.7, I can't think of any that we'd want to hang on to 3.4 any longer than necessary. 3.5 still has the lingering benefit of a production(-ish) pypy, so we might not want to jump to 3.6-only anyway, but if it's unsupported by python core, let's get rid of it. Faster round trips through CI are reason enough :-).
Python 3.5 is still the default python3 version in Debian stable, so updating beyond that might make it more complex for Debian users to install Twisted. One advantage of 3.5 over 3.4 is that support for type annotations is included (with some limitations compared to 3.6). Is this something that Twisted plans to adopt? My personal experience with type annotations so far as that they occasionally uncover a bug, but the main benefit is in having formal documentation of types that can be verified by tooling (mypy). Bye, Maarten