73 lines
2.4 KiB
Plaintext
73 lines
2.4 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: tornado
|
|
Version: 6.4.1
|
|
Summary: Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
|
|
Home-page: http://www.tornadoweb.org/
|
|
Author: Facebook
|
|
Author-email: python-tornado@googlegroups.com
|
|
License: Apache-2.0
|
|
Project-URL: Source, https://github.com/tornadoweb/tornado
|
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Classifier: Programming Language :: Python :: 3.9
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
Requires-Python: >= 3.8
|
|
Description-Content-Type: text/x-rst
|
|
License-File: LICENSE
|
|
|
|
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
|