[Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
I would like to propose that Twisted drop support for Python 3.5 one year from now in 2021. Reasons: 1. Python 3.5.9 will be the final release of Python 3.5, in November 2019 ( https://www.python.org/dev/peps/pep-0478/ ) 2. Python 3.6.0 was released in December 2016 ( https://www.python.org/dev/peps/pep-0494/ ) 3. PyPy 7.1.1 introduced Python 3.6 support in April 2019 ( https://morepypy.blogspot.com/2019/04/pypy-711-bug-fix-release.html ). PyPy 7.3.1 is the latest PyPy version ( https://morepypy.blogspot.com/2020/04/pypy-731-released.html ). 4. Python 3.6 introduced support for variable annotations ( https://www.python.org/dev/peps/pep-0526/ ) 5. Python 3.6 introduced new string interpolation (f-string) support ( https://www.python.org/dev/peps/pep-0498/ ) 6. Python 3.6 introduced support for asynchronous generators ( https://www.python.org/dev/peps/pep-0525/ ) and asynchronous comprehensions ( https://www.python.org/dev/peps/pep-0530/ ) Based on item 2., Python 3.6.0 has been around for almost 4 years, which is a reasonable amount of time. Based on item 3., PyPy supports Python 3.6. It might be nice to take advantage of some of the language features introduces in items 4-6. I think dropping support one year from now in 2021, would give sufficient notice, and be in line with the Twisted Compatibility Policy ( https://twistedmatrix.com/documents/current/core/development/policy/compatibility-policy.html ). None of these items are critial, but I thought I would ask, to get people's opinions. -- Craig ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
I was considering proposing dropping it soon (I was thinking when we had 3.8 support, that 3.6/3.7/3.8 is a reasonable compatibility matrix). Why I think this is probably fine: - Debian Stable (buster) has 3.7. oldstable (stretch) has 3.5.3, but I don't think we care about oldstable. - Ubuntu 18.04 has Python 3.6. 16.04 has 3.5.1, which is a sucky, buggy version that people shouldn't use anyway. Plus, getting a modern Python on Ubuntu isn't shockingly hard (deadsnakes makes it trivial). - CentOS and RHEL 6 and 7 have Software Collections which makes Python 3.6+ readily available. - Windows has 3.8 available in the Store. - MacOS doesn't ship a Python 3, but homebrew/python.org offer 3.8 easily. - For everyone else, there's always Docker. So, I guess if we have 3.8 support, the next release can announce the dropping of 3.5, and then the release after that can be the final one with support. - Amber On 14/5/20 5:10 am, Craig Rodrigues wrote: I would like to propose that Twisted drop support for Python 3.5 one year from now in 2021. Reasons: 1. Python 3.5.9 will be the final release of Python 3.5, in November 2019 ( https://www.python.org/dev/peps/pep-0478/ ) 2. Python 3.6.0 was released in December 2016 ( https://www.python.org/dev/peps/pep-0494/ ) 3. PyPy 7.1.1 introduced Python 3.6 support in April 2019 ( https://morepypy.blogspot.com/2019/04/pypy-711-bug-fix-release.html ). PyPy 7.3.1 is the latest PyPy version ( https://morepypy.blogspot.com/2020/04/pypy-731-released.html ). 4. Python 3.6 introduced support for variable annotations ( https://www.python.org/dev/peps/pep-0526/ ) 5. Python 3.6 introduced new string interpolation (f-string) support ( https://www.python.org/dev/peps/pep-0498/ ) 6. Python 3.6 introduced support for asynchronous generators ( https://www.python.org/dev/peps/pep-0525/ ) and asynchronous comprehensions ( https://www.python.org/dev/peps/pep-0530/ ) Based on item 2., Python 3.6.0 has been around for almost 4 years, which is a reasonable amount of time. Based on item 3., PyPy supports Python 3.6. It might be nice to take advantage of some of the language features introduces in items 4-6. I think dropping support one year from now in 2021, would give sufficient notice, and be in line with the Twisted Compatibility Policy ( https://twistedmatrix.com/documents/current/core/development/policy/compatibility-policy.html ). None of these items are critial, but I thought I would ask, to get people's opinions. -- Craig ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
On May 13, 2020, at 10:04 PM, Amber Brown (hawkowl) wrote: > > On 14/5/20 5:10 am, Craig Rodrigues wrote: >> I would like to propose that Twisted drop support for Python 3.5 one year >> from now in 2021. > > I was considering proposing dropping it soon (I was thinking when we had 3.8 > support, that 3.6/3.7/3.8 is a reasonable compatibility matrix). I'm also inclined to say sooner rather than later; I don't know the numbers but my impression is that 3.x uptake began for real at 3.4 and in earnest at 3.6, so there aren't that many people still on 3.5. The lack of variable annotations, in particular, seems like a sticking point with 3.5 as we attempt to adopt mypy. -g ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
May 2021 seems to be right around when Xenial (Which has 3.5) falls into ESM, so maybe we can wait? I don't have strong feelings, but it is a datapoint. Moshe Z. On Wed, May 13, 2020, at 22:13, Glyph wrote: > On May 13, 2020, at 10:04 PM, Amber Brown (hawkowl) > wrote: > > > > On 14/5/20 5:10 am, Craig Rodrigues wrote: > >> I would like to propose that Twisted drop support for Python 3.5 one year > >> from now in 2021. > > > > I was considering proposing dropping it soon (I was thinking when we had > > 3.8 support, that 3.6/3.7/3.8 is a reasonable compatibility matrix). > > > I'm also inclined to say sooner rather than later; I don't know the numbers > but my impression is that 3.x uptake began for real at 3.4 and in earnest at > 3.6, so there aren't that many people still on 3.5. > > The lack of variable annotations, in particular, seems like a sticking point > with 3.5 as we attempt to adopt mypy. > > -g > > > ___ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
Xenial's 3.5.1/3.5.2 sucks and doesn't have some asyncio functionality (due to it being provisional then?) which means things like Eliot doesn't work due to aiocontextvars barfing on missing functionality. There's also 20.04 LTS now, making 16.04 old-old-LTS. I don't think it's worth it. - Amber On Thu, 14 May 2020, at 15:18, Moshe Zadka wrote: > May 2021 seems to be right around when Xenial (Which has 3.5) falls > into ESM, so maybe we can wait? > I don't have strong feelings, but it is a datapoint. > > Moshe Z. > > On Wed, May 13, 2020, at 22:13, Glyph wrote: > > On May 13, 2020, at 10:04 PM, Amber Brown (hawkowl) > > wrote: > > > > > > On 14/5/20 5:10 am, Craig Rodrigues wrote: > > >> I would like to propose that Twisted drop support for Python 3.5 one > > >> year from now in 2021. > > > > > > I was considering proposing dropping it soon (I was thinking when we had > > > 3.8 support, that 3.6/3.7/3.8 is a reasonable compatibility matrix). > > > > > > I'm also inclined to say sooner rather than later; I don't know the numbers > > but my impression is that 3.x uptake began for real at 3.4 and in earnest > > at 3.6, so there aren't that many people still on 3.5. > > > > The lack of variable annotations, in particular, seems like a sticking > > point with 3.5 as we attempt to adopt mypy. > > > > -g > > > > > > ___ > > Twisted-Python mailing list > > Twisted-Python@twistedmatrix.com > > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > > > > ___ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
On Thu, 14 May 2020, at 15:13, Glyph wrote: > On May 13, 2020, at 10:04 PM, Amber Brown (hawkowl) > wrote: > > > > On 14/5/20 5:10 am, Craig Rodrigues wrote: > >> I would like to propose that Twisted drop support for Python 3.5 one year > >> from now in 2021. > > > > I was considering proposing dropping it soon (I was thinking when we had > > 3.8 support, that 3.6/3.7/3.8 is a reasonable compatibility matrix). > > > I'm also inclined to say sooner rather than later; I don't know the > numbers but my impression is that 3.x uptake began for real at 3.4 and > in earnest at 3.6, so there aren't that many people still on 3.5. A year ago (https://atleastfornow.net/posts/py2-py3-twisted-downloads/), those numbers said that 3.5 was 6.7% of users for the currently released version of Twisted, and 4.37% of all Twisted downloads that month. I could probably rerun them, but I think it's kind of obvious what the results would be. > > The lack of variable annotations, in particular, seems like a sticking > point with 3.5 as we attempt to adopt mypy. > > -g > > > ___ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
> On 14. May 2020, at 07:04, Amber Brown (hawkowl) > wrote: > > - MacOS doesn't ship a Python 3, but homebrew/python.org offer 3.8 easily. FWIW this is not true anymore. Catalina comes – for all its faults – with Python 3.7: ❯ /usr/bin/python2 WARNING: Python 2.7 is not recommended. This version is included in macOS for compatibility with legacy software. Future versions of macOS will not include Python 2.7. Instead, it is recommended that you transition to using 'python3' from within Terminal. Python 2.7.16 (default, Feb 29 2020, 01:55:37) [GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc- on darwin Type "help", "copyright", "credits" or "license" for more information. >>> ^D ~ took 6s ❯ /usr/bin/python3 Python 3.7.3 (default, Apr 7 2020, 14:06:47) [Clang 11.0.3 (clang-1103.0.32.59)] on darwin Type "help", "copyright", "credits" or "license" for more information. ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
On Thu, 14 May 2020, at 16:09, Hynek Schlawack wrote: > > > > On 14. May 2020, at 07:04, Amber Brown (hawkowl) > > wrote: > > > > - MacOS doesn't ship a Python 3, but homebrew/python.org offer 3.8 easily. > > FWIW this is not true anymore. Catalina comes – for all its faults – > with Python 3.7: > *puts fingers in ears* sorry I can't hear you, I'm in my happy place where I don't have to think of software in ".framework" folders la la la la But, it's good to know, anyway. - Amber ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Re: [Twisted-Python] [RFC] Drop support for Python 3.5 sometime after May 2021?
> On May 13, 2020, at 11:13 PM, Amber Brown wrote: > > On Thu, 14 May 2020, at 16:09, Hynek Schlawack wrote: >> >> >>> On 14. May 2020, at 07:04, Amber Brown (hawkowl) >>> wrote: >>> >>> - MacOS doesn't ship a Python 3, but homebrew/python.org offer 3.8 easily. >> >> FWIW this is not true anymore. Catalina comes – for all its faults – >> with Python 3.7: >> > > *puts fingers in ears* sorry I can't hear you, I'm in my happy place where I > don't have to think of software in ".framework" folders la la la la Oh hawkowl. Either you die an a.out, or you live long enough to become a .dylib > But, it's good to know, anyway. Unfortunately it's only kind of true! $ /usr/bin/python3 Python 3.7.3 (default, Apr 7 2020, 14:06:47) [Clang 11.0.3 (clang-1103.0.32.59)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.executable '/Applications/Xcode.app/Contents/Developer/usr/bin/python3' >>> You can also get one from /Library/Developer/CommandLineTools/usr/bin/python3 if you do `xcode-select --install` but it's not present in the macOS base image and you can't use it from applications. -g ___ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python