# tornado

> Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.

- **URL**: https://www.freshcrate.ai/projects/tornado
- **Author**: Facebook
- **Category**: Frameworks
- **Latest version**: `master@2026-06-02` (2026-06-02)
- **License**: Apache-2.0
- **Source**: https://github.com/tornadoweb/tornado
- **Homepage**: http://www.tornadoweb.org/
- **Language**: Python
- **GitHub**: 22,260 stars, 5,542 forks
- **Registry**: pypi (`tornado`)
- **Tags**: `pypi`

## Description

Tornado Web Server
==================

.. image:: https://badges.gitter.im/Join%20Chat.svg
   :alt: Join the chat at https://gitter.im/tornadoweb/tornado
   :target: https://gitter.im/tornadoweb/tornado?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge

`Tornado <http://www.tornadoweb.org>`_ is a Python web framework and
asynchronous networking library, originally developed at `FriendFeed
<http://friendfeed.com>`_.  By using non-blocking network I/O, Tornado
can scale to tens of thousands of open connections, making it ideal for
`long polling <http://en.wikipedia.org/wiki/Push_technology#Long_Polling>`_,
`WebSockets <http://en.wikipedia.org/wiki/WebSocket>`_, and other
applications that require a long-lived connection to each user.

Hello, world
------------

Here is a simple "Hello, world" example web app for Tornado:

.. code-block:: python

    import asyncio
    import tornado

    class MainHandler(tornado.web.RequestHandler):
        def get(self):
            self.write("Hello, world")

    def make_app():
        return tornado.web.Application([
            (r"/", MainHandler),
        ])

    async def main():
        app = make_app()
        app.listen(8888)
        await asyncio.Event().wait()

    if __name__ == "__main__":
        asyncio.run(main())

This example does not use any of Tornado's asynchronous features; for
that see this `simple chat room
<https://github.com/tornadoweb/tornado/tree/stable/demos/chat>`_.

Documentation
-------------

Documentation and links to additional resources are available at
https://www.tornadoweb.org

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `master@2026-06-02` | 2026-06-02 | High | Latest activity on master branch |
| `6.5.5` | 2026-04-21 | Low | Imported from PyPI (6.5.5) |
| `master@2026-03-31` | 2026-03-31 | Medium | Latest activity on master branch |
| `master@2026-03-31` | 2026-03-31 | Medium | Latest activity on master branch |
| `master@2026-03-31` | 2026-03-31 | Medium | Latest activity on master branch |
| `master@2026-03-31` | 2026-03-31 | Medium | Latest activity on master branch |
| `master@2026-03-31` | 2026-03-31 | Medium | Latest activity on master branch |
| `master@2026-03-31` | 2026-03-31 | Medium | Latest activity on master branch |
| `master@2026-03-31` | 2026-03-31 | Medium | Latest activity on master branch |
| `master@2026-03-31` | 2026-03-31 | Low | Latest activity on master branch |

## Citation

- HTML: https://www.freshcrate.ai/projects/tornado
- Markdown: https://www.freshcrate.ai/projects/tornado.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/tornado/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
