What's the status on Tornado development

32 views
Skip to first unread message

Armen Michaeli

unread,
Nov 20, 2025, 6:51:32 AM (14 days ago) Nov 20
to Tornado Web Server
Hi all,

I see there's open pull requests on https://github.com/tornadoweb/tornado/pulls going back years. There's of course merged ones in between and there is discussion and there's been a release in the end of August. My own PR has been left uncommented for a couple of weeks now. Have the Web frameworks moved on and left Tornado behind?

In any case -- and I am curious -- is Tornado a bit on the back-burner and/or development is delegated to contributors? I assume the reigns -- permissions to merge into `master` and all the CI/CD needed to actually release new version(s) -- are then not just in Ben Darnell's hands? Or are they?

Again, my asking isn't necessarily a concern, it's just that looking at the codebase, there's all manner of code well predating e.g. `asyncio` and it might suggest either strong desire for backwards-compatibility (a commendable goal if you ask me) _or_ it may suggest -- when taking into account the observations above -- stagnation?

There's per se nothing wrong with PRs being left unattended for weeks -- as long as there is indication the project is very much alive. The mailing list has had 6 new discussions this year, so I am not sure what to conclude, really.

Anyway, our organisation has been using Tornado as part of our open-source Python services end of things, with good success, I guess I am making an effort trying to plan ahead. Yes I know we can fork it or abandon it in favour of something else (there's certainly _choice_), but would be "last resort" in my opinion.

Best regards,

Ben Darnell

unread,
Nov 20, 2025, 10:12:17 PM (13 days ago) Nov 20
to python-...@googlegroups.com
On Thu, Nov 20, 2025 at 6:51 AM Armen Michaeli <armen.m...@gmail.com> wrote:
I see there's open pull requests on https://github.com/tornadoweb/tornado/pulls going back years. There's of course merged ones in between and there is discussion and there's been a release in the end of August. My own PR has been left uncommented for a couple of weeks now. Have the Web frameworks moved on and left Tornado behind?

I would say that Tornado is a mature project that isn't getting a lot of development these days. It doesn't necessarily need it since it does what it was built to do, but it has kind of been left behind in the sense that it still has relics of its pre-coroutine design while other frameworks have started native to an asyncio and `async def` world. (for a long time I'd say Tornado was more mature than those newer frameworks, but now Python 3.5 is 10 years old. How time flies!)


In any case -- and I am curious -- is Tornado a bit on the back-burner and/or development is delegated to contributors? I assume the reigns -- permissions to merge into `master` and all the CI/CD needed to actually release new version(s) -- are then not just in Ben Darnell's hands? Or are they?

I'm the only active maintainer (there is one other person with merge privileges in case I'm hit by a bus). 
 

Again, my asking isn't necessarily a concern, it's just that looking at the codebase, there's all manner of code well predating e.g. `asyncio` and it might suggest either strong desire for backwards-compatibility (a commendable goal if you ask me) _or_ it may suggest -- when taking into account the observations above -- stagnation?

Yes, backwards compatibility is a strong priority at this stage, to the point that if I were going to design my ideal post-asyncio system I'd probably do it as a separate package instead of changing Tornado. Whether that means stagnation or stability is a matter of opinion ;)
 

There's per se nothing wrong with PRs being left unattended for weeks -- as long as there is indication the project is very much alive. The mailing list has had 6 new discussions this year, so I am not sure what to conclude, really.

As you've observed, the project is not completely abandoned, but there's not a lot of movement, and I don't really expect that to change much. 
 
 
Anyway, our organisation has been using Tornado as part of our open-source Python services end of things, with good success, I guess I am making an effort trying to plan ahead. Yes I know we can fork it or abandon it in favour of something else (there's certainly _choice_), but would be "last resort" in my opinion.

If it works for you, there's no urgent reason to switch. But I also wouldn't be offended by anyone looking for a more modern or actively-developed solution. (and one of the larger projects that I'd still like to take on some day is ASGI support to help ease migrations on or off Tornado).

-Ben

 

Best regards,

--
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.
To view this discussion visit https://groups.google.com/d/msgid/python-tornado/738a0bdf-f8c6-4bab-9411-d68641d367ecn%40googlegroups.com.

Armen Michaeli

unread,
Nov 23, 2025, 2:15:24 PM (10 days ago) Nov 23
to Tornado Web Server
Hi Ben,

Thank you for the elaboration on the status of the project. Nothing very surprising in your reply (I mean it in a positive, self-reassuring sense, if one can put it like that).

I think for my part I would be inclined to continue contributing to Tornado as long as it continues to fulfil our requirements and expectations. There's always room for an equivalent starting with a blank slate, but I have come to appreciate iteration and incremental amendment, preferring it to re-factoring and taking things out with the root. I am digressing, but I think parts of Tornado I am less thrilled about is all the first-party HTTP code -- it'd be nice to find a library that can be trusted with doing all the protocol-level utilities, like parsing of HTTP messages (regardless of whether it's HTTP 1, 2 or 3, if possible). But HTTP is just one component of Tornado, admittedly -- I imagine the other component(s), like WebSocket, could also be delegated to stand-alone third-party dependencies.

Regards,
Reply all
Reply to author
Forward
0 new messages