squeaky-pl / japronto

Screaming-fast Python 3.5+ HTTP toolkit integrated with pipelining HTTP server based on uvloop and picohttpparser.
MIT License
8.61k stars 581 forks source link

Japronto as a Uvicorn protocol implementation. #79

Closed tomchristie closed 1 month ago

tomchristie commented 7 years ago

Some pretty impressive initial results out of this work - congratulations!

Something that could be worth considering would be writing Japronto as a protocol implementation that could be used with Uvicorn... http://www.uvicorn.org/

The benefit of taking that approach would be to take the awesome performance work that Japronto has demonstrated, but not put yourself in the position of having to write an entire application framework on top of that. By targeting just the server component with a well-defined server/application interface, Japronto could be a really nicely scoped project, and hopefully end up eventually being compatible with a wide number of different frameworks available to choose from to run on top of it.

The intent with uvicorn is eventually to provide at least 2-3 different implementations. We currently have uvloop+httptools and I've started work on a pure python h11 version. A fully-C version, with picohttpparser would be a really compelling addition.

If that's something you're interested in I'd gladly spend time on working towards that from my side.

Very interested in hearing your thoughts on that, or any feedback on the proposed server/application interface, described in the uvicorn documentation.

Thanks! 😀