Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
Go to file
Adam Chainz a591d270ae Convert readthedocs link for their .org -> .io migration for hosted projects
As per their email ‘Changes to project subdomains’:

> Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard.

Test Plan: Manually visited all the links I’ve modified.
2016-05-29 15:04:33 +01:00
demos Add shebang for webspider.py 2016-04-30 08:28:10 +08:00
docs Convert readthedocs link for their .org -> .io migration for hosted projects 2016-05-29 15:04:33 +01:00
maint Mass update of dependency versions 2016-04-10 15:41:29 -04:00
tornado Merge pull request #1727 from xiyanxiyan10/master 2016-05-28 13:29:56 -04:00
.coveragerc Add .coveragerc for test coverage reporting. 2012-01-21 14:10:00 -08:00
.gitignore Add .mypy_cache to gitignore 2016-04-24 12:17:21 -04:00
.travis.yml Add monotonic as an alternative to Monotime 2015-11-07 14:01:40 +08: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 fixed broken link (anchor) 2016-03-13 11:59:17 -05:00
appveyor.yml Verify extension build on appveyor 2015-09-30 00:01:08 -04:00
codecov.yml Disable intrusive codecov features 2016-05-21 18:51:33 -04:00
runtests.sh Remove some vestigial references to 2to3. 2014-01-19 18:55:53 -05:00
setup.py Don't require backports.ssl_match_hostname on Python 2.7.9 and newer 2016-05-04 09:36:09 +02:00
tox.ini Convert readthedocs link for their .org -> .io migration for hosted projects 2016-05-29 15:04:33 +01: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