Tornado
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. It enables scalable, non-blocking network I/O, making it ideal for applications requiring long-lived connections, such as long polling and WebSockets. The current version is 6.5.5, with a release cadence of approximately every few months.
Warnings
- breaking IOLoop.add_callback_from_signal is deprecated and will be removed in Tornado 7.0. Use asyncio.loop.add_signal_handler instead.
- deprecated The client_secret argument to OAuth2Mixin.authorize_redirect is deprecated and will be removed in Tornado 7.0.
- gotcha Tornado is not thread-safe. Ensure that Tornado objects are not accessed from multiple threads simultaneously.
Install
-
pip install tornado
Imports
- RequestHandler
from tornado.web import RequestHandler
- Application
from tornado.web import Application
- IOLoop
from tornado.ioloop import IOLoop
Quickstart
import asyncio
from tornado.web import Application, RequestHandler
from tornado.ioloop import IOLoop
class MainHandler(RequestHandler):
def get(self):
self.write('Hello, world')
def make_app():
return Application([
(r'/', MainHandler),
])
async def main():
app = make_app()
app.listen(8888)
await asyncio.Event().wait()
if __name__ == '__main__':
asyncio.run(main())