- refined - it feels like all the lessons from DRF were put into Starlette.
- lightweight - minimal dependencies, isn't built specifically for relational data (no orm or other constructs from django that were originally built around models etc)
- flexible - has just enough to build the basics without being too opinionated (app/request/response), let's you choose how to handle things like serialization (e.g. add marshmallow)
- documentation - like DRF, has very solid documentation.
- asgi - the successor to wsgi in many ways, allows things like background tasks so I don't need to set up celery.
- authentication/middleware - easy to set up and customize, again clear documentation and api surface
There's probably more, such as it support for websockets, push, and more, but for me I'm just running a standard http api (sqwok.im).
I'd say Starlette will be the successor of Flask.
Totally agree but I'm 2/3 days in with 500 loc - it's worth rebooting if there's something seriously good out there!