Japronto is an asynchronous web framework and Python HTTP server toolkit. It functions as a multi-worker HTTP server and request router, utilizing non-blocking asynchronous handlers to manage high concurrency and throughput.
The project implements a master-multiworker forking model to distribute network traffic across multiple CPU cores. It incorporates a fast event loop and a specialized C-extension for high-speed HTTP request parsing, while supporting request pipelining over single TCP connections.
The framework covers a broad range of request handling capabilities, including URL pattern routing, request body processing for JSON and text, and client cookie retrieval. It includes mechanisms for mapping exceptions to custom responses, constructing HTTP messages, and managing persistent connections with an idle session reaper.
Development tools include a file-system-based automatic code reloading system, post-request callbacks, and the ability to extend request objects with custom properties.