Our take
Activeregular commits- Activity
- 53
- Community
- 64
- Issues
- 59
- Pull requests
- 76
-6 stars in the last 29 days
- Merges more pull requests than 80% of the projects we track
- More contributors than 78% of the projects we track
Tornado is an actively maintained choice for Python teams building connection-heavy web services, but its release cadence and concentrated contributor base deserve attention.
Good fit if
- Your Python application needs long polling, WebSockets, or other long-lived connections.
- You want a framework that combines web request handling with asynchronous networking.
- You can work with a project that has regular commits and merges but no recent release.
Look elsewhere if
- Your team needs frequent published releases as its primary signal of delivery.
- You want to avoid relying on a project where most contributions come from one person.
- Your application does not need asynchronous networking or long-lived connections.
All health signals
| Last commit | 2026-10-21 (3 days ago) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 0 |
| Contributors | 100+ (top contributor: 81% of commits) |
| Issues closed, last 90 days | 6+ (typically closed in 3 days) |
| Pull requests merged, last 90 days | 67 (typically merged in 0 days) |
| Project age | 17 years |
Checked on 2026-10-25 with the GitHub API.
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
22,163Forks
5,605Change since Nov 4, 2026: 0 stars·+3 forks
Overview
Tornado is a Python web framework and asynchronous networking library built around non-blocking network I/O. Originally developed at FriendFeed, it addresses the challenge of serving many open connections, making it useful for applications that keep connections alive rather than handling only short request-response exchanges.
It combines web request handling with networking tools for long polling, WebSockets, and other persistent-connection patterns. The repository is actively maintained, though recent activity is concentrated among a small share of contributors and there have been no releases in over a year.
Key Features
- Define web applications with URL routes and request handlers.
- Use non-blocking network I/O to support many simultaneous open connections.
- Build applications around long polling and WebSockets.
- Write asynchronous application code using Python's
asynciointegration. - Run a basic web server by creating an application and listening on a port.
Use Cases
- A web team can build Python services that need to keep many client connections open.
- Developers can implement real-time chat or messaging features using WebSockets.
- A service can use long polling when clients need updates over persistent request connections.
- Python developers can combine request handling and asynchronous networking in one framework.
What you need
Detected in the repository
- Python (from pyproject.toml)
- Automated checks on GitHub Actions
License in plain words
Apache-2.0permissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license, the NOTICE file and a note of your changes
- Share your changes: no
- Includes an explicit patent grant from the contributors:
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
Tornado requires Python. Start with the README for a minimal application example, then consult the official documentation for setup and usage details.
Alternatives
- fastapi: FastAPI focuses on typed HTTP APIs with validation and generated OpenAPI docs, while Tornado provides a lower-level asynchronous web and networking framework.
- masonite: Masonite is a full-stack framework with integrated tools for common web tasks, while Tornado centers on non-blocking I/O and long-lived connections.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| tornado | Python | Apache-2.0 | 22.2k | Active |
| fastapi | Python | MIT | 103k | Active |
| masonite | Python | MIT | 2.4k | Quiet |
Considerations
There have been no releases in over a year, despite regular recent commits and pull request merges. Contributor activity is concentrated, and only a small number of issues were closed in the measured recent period, although the reported median time to close was short. The repository metadata does not report tests, so verify the testing and validation setup that matters to your team before adopting it.
Found this useful?
Share it with someone who would like tornado.