Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. http://www.tornadoweb.org/
  • Python 99.5%
  • Shell 0.3%
  • C 0.1%
Find a file
Ben Darnell 0096f2897c
Merge pull request #3707 from bdarnell/update-python-versions
Drop support for python 3.10, add 3.15.
2026-08-07 11:34:25 -04:00
.github ci: Add linter to detect cog divergence 2026-08-07 11:19:54 -04:00
demos demos: Fix open redirects 2025-12-09 10:40:18 -05:00
docs docs: add additional credit to release notes 2026-08-06 22:47:08 -04:00
maint Drop support for python 3.10, add 3.15. 2026-08-07 11:09:39 -04:00
tornado pyupgrade: Automated use of new py311 features. 2026-08-07 11:30:10 -04:00
.coveragerc Add .coveragerc for test coverage reporting. 2012-01-21 14:10:00 -08:00
.flake8 *: Update black 2024-06-04 14:19:52 -04:00
.gitattributes test: Add gitattributes for test data files 2020-01-18 14:18:50 -05:00
.gitignore Add .mypy_cache to gitignore 2016-04-24 12:17:21 -04:00
.readthedocs.yaml docs: Sync readthedocs python version with tox.ini 2024-06-12 09:57:44 -04:00
codecov.yml Disable intrusive codecov features 2016-05-21 18:51:33 -04:00
CONTRIBUTING.md docs: Update CONTRIBUTING.md 2026-06-25 15:15:43 -04:00
LICENSE Add top level LICENSE file 2013-08-22 19:28:35 -04:00
MANIFEST.in setup: Include tox.ini in sdist 2023-05-03 12:46:28 -04:00
pyproject.toml Drop support for python 3.10, add 3.15. 2026-08-07 11:09:39 -04:00
README.rst Improve and update the tornado branding and readme header #3609 2026-04-15 18:12:37 +01:00
requirements.in docs: Update sphinx (and the rest of the deps) 2024-06-11 21:39:34 -04:00
requirements.txt build(deps): bump idna from 3.11 to 3.15 2026-05-19 22:54:07 +00:00
runtests.sh Remove some vestigial references to 2to3. 2014-01-19 18:55:53 -05:00
SECURITY.md Create security policy document 2023-01-05 11:40:24 -05:00
setup.cfg Drop support for python 3.10, add 3.15. 2026-08-07 11:09:39 -04:00
setup.py Drop support for python 3.10, add 3.15. 2026-08-07 11:09:39 -04:00
tox.ini Drop support for python 3.10, add 3.15. 2026-08-07 11:09:39 -04:00

.. image:: docs/tornado.png?raw=true
   :alt: Tornado Web
   :align: center

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

`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