Benchmark Python HTTP throughput at near-compiled-language speeds to compare frameworks or study performance limits.
Build a minimal high-throughput HTTP endpoint in Python that needs to handle an extreme volume of simple requests.
Study how a Python web framework can be accelerated by writing the core server loop in C with a fast async event loop.
Requires a C compiler and Python development headers, early-stage project not recommended for production use.
Japronto is a Python web framework focused on raw speed. It is designed to handle HTTP requests as fast as possible, and benchmarks shown in the README demonstrate it processing over a million requests per second on a standard cloud server. The name comes from Portuguese meaning "already done," which reflects its emphasis on quick responses. Under the hood, Japronto is built differently from most Python web frameworks. The core server is written in C rather than Python, which lets it avoid a lot of the overhead that slows down typical Python HTTP handling. It uses two external components to achieve this: uvloop (a fast async event loop based on libuv) for handling input and output without blocking, and picohttpparser (a minimal C library) for parsing HTTP headers quickly. The result is a Python framework with performance closer to what you would expect from a compiled language. Writing a web application with Japronto looks similar to other Python frameworks. You define functions that handle specific URL routes, and the framework calls them when a matching request comes in. It supports both regular synchronous functions and asynchronous ones for tasks that involve waiting, such as database queries. It also supports HTTP pipelining, where multiple requests can be sent on a single connection before waiting for responses. The project README is direct about its limitations: it is an early-stage tool aimed at experienced developers who are comfortable working at a low level and understand some C. It is not recommended for production use and is not suited for beginners. Active development has paused, though the project accepts contributions. It is released under the MIT license.
← squeaky-pl on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.