graph LR
Asynchronous_Core["Asynchronous Core"]
Network_Servers_I_O["Network Servers & I-O"]
Web_Application_Framework["Web Application Framework"]
HTTP_Client["HTTP Client"]
Web_Utilities["Web Utilities"]
System_Utilities["System Utilities"]
Authentication["Authentication"]
Testing_Framework["Testing Framework"]
Asynchronous_Core -- "orchestrates" --> Network_Servers_I_O
Asynchronous_Core -- "orchestrates" --> HTTP_Client
Asynchronous_Core -- "orchestrates" --> Web_Application_Framework
Asynchronous_Core -- "provides primitives for" --> Network_Servers_I_O
Asynchronous_Core -- "provides primitives for" --> HTTP_Client
Asynchronous_Core -- "provides primitives for" --> Web_Application_Framework
Asynchronous_Core -- "uses" --> System_Utilities
Network_Servers_I_O -- "relies on" --> Asynchronous_Core
Network_Servers_I_O -- "uses" --> Web_Utilities
Web_Application_Framework -- "relies on" --> Asynchronous_Core
Web_Application_Framework -- "uses" --> Web_Utilities
Web_Application_Framework -- "uses" --> Authentication
HTTP_Client -- "relies on" --> Asynchronous_Core
HTTP_Client -- "uses" --> Network_Servers_I_O
HTTP_Client -- "uses" --> Web_Utilities
Web_Utilities -- "supports" --> Web_Application_Framework
Web_Utilities -- "supports" --> HTTP_Client
System_Utilities -- "configures" --> Asynchronous_Core
Authentication -- "uses" --> HTTP_Client
Testing_Framework -- "tests" --> Asynchronous_Core
Testing_Framework -- "tests" --> Network_Servers_I_O
Testing_Framework -- "tests" --> HTTP_Client
click Asynchronous_Core href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/Asynchronous Core.md" "Details"
click Network_Servers_I_O href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/Network Servers & I-O.md" "Details"
click Web_Application_Framework href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/Web Application Framework.md" "Details"
click HTTP_Client href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/HTTP Client.md" "Details"
click Web_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/Web Utilities.md" "Details"
click System_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/System Utilities.md" "Details"
click Authentication href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/Authentication.md" "Details"
click Testing_Framework href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tornado/Testing Framework.md" "Details"
Tornado is a Python web framework and asynchronous networking library, designed for high performance and scalability. Its core functionality revolves around an event loop that handles non-blocking I/O operations, enabling efficient handling of numerous concurrent connections. The framework provides components for building web applications, including HTTP servers, request handling, routing, and templating, alongside an asynchronous HTTP client and utilities for network communication, authentication, and testing.
The foundational layer for asynchronous operations, managing the event loop, scheduling callbacks, handling concurrent tasks, and providing synchronization primitives. It wraps the asyncio event loop.
Related Classes/Methods:
tornado.ioloop.IOLoop(72:830)tornado.ioloop.PeriodicCallback(862:986)tornado.gen.coroutine(173:175)tornado.locks.Condition(53:155)tornado.queues.Queue(81:346)tornado.concurrent.Future(100:100)tornado.platform.asyncio.AsyncIOMainLoop(278:299)
Handles low-level non-blocking network communication, including TCP and HTTP servers, WebSocket connections, and general network utilities for socket management.
Related Classes/Methods:
tornado.iostream.IOStream(1055:1312)tornado.iostream.BaseIOStream(207:1052)tornado.iostream.SSLIOStream(1315:1558)tornado.iostream.PipeIOStream(1561:1611)tornado.tcpserver.TCPServer(43:390)tornado.httpserver.HTTPServer(46:257)tornado.httpserver.HTTP1ServerConnection(full file reference)tornado.websocket.WebSocketHandler(139:638)tornado.websocket.WebSocketProtocol13(822:1378)tornado.websocket.WebSocketClientConnection(1381:1622)tornado.netutil.bind_sockets(56:187)tornado.netutil.add_accept_handler(233:290)tornado.netutil.Resolver(320:388)tornado.netutil.ThreadedResolver(501:537)tornado.netutil.DefaultExecutorResolver(406:422)tornado.netutil.ssl_wrap_socket(643:670)
Provides the core components for building web applications, including URL routing, request handling, and dispatching requests to appropriate handlers.
Related Classes/Methods:
tornado.web.Application(2097:2412)tornado.web._ApplicationRouter(2058:2094)tornado.web.RequestHandler(179:1963)tornado.web.StaticFileHandler(2672:3199)tornado.web.RedirectHandler(2624:2669)tornado.web.ErrorHandler(2608:2621)tornado.routing.Router(201:221)tornado.routing.RuleRouter(311:412)tornado.routing.ReversibleRuleRouter(415:449)tornado.routing.Rule(452:498)tornado.routing.PathMatches(563:657)tornado.routing.URLSpec(660:706)
Offers an asynchronous interface for making HTTP requests to external services, handling non-blocking request and response processing.
Related Classes/Methods:
tornado.httpclient.AsyncHTTPClient(140:336)tornado.httpclient.HTTPClient(59:137)tornado.simple_httpclient.SimpleAsyncHTTPClient(79:249)tornado.curl_httpclient.CurlAsyncHTTPClient(51:579)
A collection of utility functions and classes for templating, string escaping (HTML, URL, JSON), and general HTTP protocol handling (headers, parsing).
Related Classes/Methods:
tornado.template.Template(252:389)tornado.template.BaseLoader(392:450)tornado.template.Loader(453:478)tornado.template.DictLoader(481:500)tornado.escape.xhtml_escape(39:59)tornado.escape.url_unescape(132:133)tornado.escape.json_encode(83:96)tornado.escape.to_unicode(231:232)tornado.escape.utf8(200:201)tornado.httputil.HTTPHeaders(144:368)tornado.httputil.HTTPServerRequest(371:618)tornado.httputil.parse_body_arguments(897:940)tornado.httputil.parse_multipart_form_data(943:994)
Provides functionalities for application configuration through command-line arguments and managing multiple processes.
Related Classes/Methods:
tornado.options.OptionParser(133:494)tornado.options.define(684:707)tornado.options.parse_command_line(710:717)tornado.process.fork_processes(83:175)tornado.process.Subprocess(186:369)
Integrates with third-party authentication providers using OAuth and OpenID protocols.
Related Classes/Methods:
tornado.auth.OpenIdMixin(94:284)tornado.auth.OAuthMixin(287:552)tornado.auth.OAuth2Mixin(555:691)tornado.auth.TwitterMixin(694:848)tornado.auth.GoogleOAuth2Mixin(851:978)tornado.auth.FacebookGraphMixin(981:1151)
Offers base classes and decorators specifically designed for writing asynchronous tests in Tornado, simplifying the testing of non-blocking code.
Related Classes/Methods: