Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
b690f4c36c
This is no longer necessary in recent versions of setuptools (and we now check that abi3 is used properly in official releases). The bdist_wheel implementation is being moved from the wheel package into setuptools so overriding it will stop working in the future. Follows the example of https://github.com/joerick/python-abi3-package-sample/pull/30 Replaces #3425 |
||
---|---|---|
.github/workflows | ||
demos | ||
docs | ||
maint | ||
tornado | ||
.coveragerc | ||
.flake8 | ||
.gitattributes | ||
.gitignore | ||
.readthedocs.yaml | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
SECURITY.md | ||
codecov.yml | ||
pyproject.toml | ||
requirements.in | ||
requirements.txt | ||
runtests.sh | ||
setup.cfg | ||
setup.py | ||
tox.ini |
README.rst
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