--
You received this message because you are subscribed to the Google Groups "Tornado Web Server" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python-tornado+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
As a downstream library developer who continues to support Python 2/3 I would remain relatively unconcerned by Tornado moving to Python 3 if the user API and semantics between 4.5 and 5.x remained somewhat stable when using Python 2 features, at least for a while. I think that it's a good thing for Tornado to evolve without the encumbrance of Python 2, but that maintaining API stability for a while would be convenient.
Also, there may be some concerns when publishing new Python 3-only libraries on PyPI when Python 2-compatible libraries exist. I know that Jupyter went through this a while ago and had to be slightly clever to avoid situations where Python 2 users downloaded the Python 3 source code.
On Sunday, December 10, 2017 at 7:15:53 AM UTC-5, Antoine Pitrou wrote:On Sun, 10 Dec 2017 03:42:22 +0000Ben Darnell <b...@bendarnell.com> wrote:
>
> On the other hand, 81% of our downloads still come from python 2.7
> according to pypi statistics (that's actually higher than last time I
> looked - 2.7 has grown more in the last two months than all python 3
> versions combined).
PyPI statistics are difficult to base a judgement on, since an unknown
part of those numbers come from automated CI services.
maybe that 4.x will be a LTS while 5.x will continue untill 2.7 will be stopped from users, this will happen within 4 years, the same time the LTS will be updated?
On Dec 10, 2017 06:09, "Pierce Lopez" <pierce...@gmail.com> wrote:
Perhaps, if Python 2.7 compatibility is dropped in Tornado 5.x, it would make sense to maintain Tornado 4.5 in parallel for a while (with bugfix-only patch releases)? That might split the userbase somewhat, but on the other hand it could keep Python 2.7 users in a good situation while clearly indicating they should find a good time to do the big transition.At my work we're all Python 3.5 by now. But also, I tend to like the idea of stable patch releases - I like to not be rushed to validate and adapt to major upgrades. (But I think I'm reasonable - we're on python 3.5 aren't we.)
Anyway, that's my 2c: I think dropping python-2.7 support in tornado-5 would be reasonable if tornado-4.5 were maintained for a while too.
- Pierce
On Sat, Dec 9, 2017 at 10:42 PM, Ben Darnell <b...@bendarnell.com> wrote:
I've just merged the last of the three key asyncio integration changes planned for Tornado 5.0:- Use AsyncIOLoop by default- Reconcile tornado.concurrent.Future and asyncio.Future- Use asyncio.Task when running `async def` coroutinesUnfortunately, the Future changes proved more invasive than expected. Due to a small but crucial difference in the two Future classes (asyncio.Future knows about the event loop, t.c.Future does not), I wasn't able to make this optional: if you're on Python 3, we have to make t.c.Future an alias for asyncio.Future (and therefore it's no longer possible to configure alternative IOLoops on Python 3).This means that we have an increasing number of areas in the code where we have one implementation on python 2 and another for python 3. While I've tried to keep them as compatible as possible, there's enough room for different behavior that if I had an app using Python 2.7 and Tornado 4.5 and wanted to upgrade both, I'd try to go to python 3 while still on tornado 4.5 instead of the other way around.I had envisioned Tornado 5.x as the last transitional release(s) before going python 3-only, but this suggests that maybe Tornado 4.5 makes the transition as smooth as it's ever going to be and the changes in 5.0 make it the right time to go 3-only.If we drop python 2 support in tornado 5.0, we'll be able to delete a bunch of code (including large parts of tornado.ioloop, tornado.concurrent, and tornado.platform), and generally simplify things. We'd also be able to use async/await internally (assuming we set the minimum at python 3.5), which would be a performance win.On the other hand, 81% of our downloads still come from python 2.7 according to pypi statistics (that's actually higher than last time I looked - 2.7 has grown more in the last two months than all python 3 versions combined). And I think one of Tornado's competitive strengths is that we span the 2/3 divide well.I haven't made up my mind yet about this question. But anyway, these changes are ready to get some more exposure and testing. If you're interested, please try your application with the master branch and report back if you run into any issues (and a big thanks to those of you who already had). I'll work on some release notes to point out known issues to watch out for.-Ben
--
You received this message because you are subscribed to the Google Groups "Tornado Web Server" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python-tornad...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Tornado Web Server" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python-tornad...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Tornado Web Server" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python-tornad...@googlegroups.com.
- Pierce
To unsubscribe from this group and stop receiving emails from it, send an email to python-tornado+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Tornado Web Server" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python-tornado+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Tornado Web Server" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python-tornado+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Tornado Web Server" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/python-tornado/pErgXjAR77s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to python-tornado+unsubscribe@googlegroups.com.
If we drop python 2 support in tornado 5.0, we'll be able to delete a bunch of code (including large parts of tornado.ioloop, tornado.concurrent, and tornado.platform), and generally simplify things. We'd also be able to use async/await internally (assuming we set the minimum at python 3.5), which would be a performance win.
--
Regards
Antoine.
--
You received this message because you are subscribed to a topic in the Google Groups "Tornado Web Server" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/python-tornado/pErgXjAR77s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to python-tornado+unsubscribe@googlegroups.com.
Tornado is a fantastic library for writing tools that perform all kinds
of industrial data acquisition functions. For sure, we can just pin it
at Tornado 4.5 and lock that in long-term, but then again, why shut
people out because they're not running the absolute bleeding edge?