First of all, I am in love with curio! It is exactly how it should be done!
Second, I am really sorry for kind of self promotion. It may look really rude, but honestly I am more like seeking for help and advice.
So, here is curio based HTTP server I wrote. It uses httptools line Sanic does.
You can examine usage examples to get better idea of what it is now
It easily handles 20Mbps 4000rps traffic with 15% CPU usage on my home PC with Jinja2 template response which I think is good enough for most use cases. I’ll be happy to improve performance though, but not my current priority.
I am going to improve it the following ways (no timeline so far):
- Add support for HTML forms. Parsing, validation. More or less what Django does. Every part of Form rendering should be overridable Jinja2 template. I always hated that Django default form rendering does not go with what Bootstrap expects and you have to render forms manually.
- Connect Forms with peewee models. More or less what ModelForm is in Django. Peewee because I love Peewee. If you like SQLAlchemy, welcome to join me. Very optional, nothing will be assumed in the rest of the code.
- Based on #2 create generic admin module. Again inspired by awesome Django Admin, but taking into account my personal negative experience with it.
- Create some authentication/authorization infrastructure. Very optional, nothing will be assumed in the rest of the code.
- Provide some OpenAPI/SwaggerUI support. Have no idea what is required.