Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
Go to file
Ben Darnell bd2d680711 Rename next.rst to v4.3.0.rst 2015-11-06 15:08:06 -05:00
demos Change the implement of remove_fragment method 2015-09-28 10:51:45 +08:00
docs Rename next.rst to v4.3.0.rst 2015-11-06 15:08:06 -05:00
maint Re-run our custom fixers to normalize future imports 2015-10-25 11:20:10 -04:00
tornado Make "headers too large" test understand 431 response code. 2015-10-25 13:52:25 -04:00
.coveragerc Add .coveragerc for test coverage reporting. 2012-01-21 14:10:00 -08:00
.gitignore Replace cython-based extension module with a hand-written one. 2013-11-05 17:58:31 -05:00
.travis.yml Make singledispatch and backports_abc mandatory dependencies. 2015-10-18 22:34:47 +02:00
LICENSE Add top level LICENSE file 2013-08-22 19:28:35 -04:00
MANIFEST.in test Content-Type for static compressed files 2015-07-30 13:12:56 -07:00
README.rst Rewrite prerequisites section of index.rst. 2015-10-24 19:07:59 -04:00
appveyor.yml Verify extension build on appveyor 2015-09-30 00:01:08 -04:00
runtests.sh Remove some vestigial references to 2to3. 2014-01-19 18:55:53 -05:00
setup.py Set version number to 4.3b2 2015-10-24 18:03:48 -04:00
tox.ini Update versions in CI/tox configs. 2015-10-03 11:22:19 -04:00

README.rst

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 tornado.ioloop
    import tornado.web

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

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

    if __name__ == "__main__":
        app = make_app()
        app.listen(8888)
        tornado.ioloop.IOLoop.current().start()

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
http://www.tornadoweb.org