This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) The topic of this article may not meet Wikipedia's notability guidelines for products and services. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.Find sources: "Tornado" web server – news · newspapers · books · scholar · JSTOR (March 2019) (Learn how and when to remove this message) This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. Please help improve it by replacing them with more appropriate citations to reliable, independent, third-party sources. (March 2019) (Learn how and when to remove this message) (Learn how and when to remove this message)
Original author(s)FriendFeed
Developer(s)Ben Darnell, Meta, Bret Taylor
Initial release2009; 15 years ago (2009)
Stable release
6.4.0[1] Edit this on Wikidata / 29 November 2023; 6 months ago (29 November 2023)
RepositoryTornado Repository
Written inPython
Operating systemCross-platform
Available inEnglish
TypeWeb server
LicenseApache licence 2.0 Edit this on Wikidata

Tornado is a scalable, non-blocking web server and web application framework written in Python.[2] It was developed for use by FriendFeed; the company was acquired by Facebook in 2009 and Tornado was open-sourced soon after.[3]


Tornado is noted for its high performance. Its design enables handling a large number of concurrent connections (i.e., tries to solve the "C10k problem").



The following code shows a simple web application that displays "Hello World!" when visited:[4]

import asyncio

import tornado.web

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()
    await asyncio.Event().wait()

if __name__ == "__main__":

See also


  1. ^ "Release 6.4.0". 29 November 2023. Retrieved 19 December 2023.
  2. ^ "Home - tornado - GitHub". GitHub. Retrieved 2009-09-10.
  3. ^ "Facebook open-sources real-time FriendFeed facet". CNet. Archived from the original on 2012-01-30. Retrieved 2009-09-10.
  4. ^ "Hello, world". Retrieved 2022-09-14.