things I do

Nextpress - Another Python web Framework

Github Pypi

After trying to implement as much ExpressJS as possible in FastAPI, I realized that it could not be done. Therefore, I built my own ASGI compliant web framework that offers me a similar experience as with ExpressJS.

I already expressed my satisfaction with ExpressJS, so I won’t keep talking about it. I just used a lot of its APIs as blueprint when building this project, that also taught me about ASGI and made me understand what uvicorn does and why.

This is a small, simple and not even remotely production ready web framework for python. I will try to use it in the future, since it looks and behave like how I think a webserver should: not hiding what a response to the client is.

By the way, once I saw how ASGI is implemented, the send/receive logic that uvicorn provides is just artificially hidden in FastAPI and similar frameworks, which simplifies a little how route handlers work, but also makes some things (like doing something after the response has been sent) incredibly unintuitive.

It’s still a work in progress, to which I’m allocating time that I thought I would have given to other projects, but as always the new shiny thing takes most of my attention.