One of the selling points of ASGI is to serve as a common interface for enabling a wide ecosystem of frameworks, apps, libraries and tools.
I think it does a great job in this regard — there is a growing number of projects made interoperable thanks to ASGI.
But at the same time, I feel it’s harder and harder to keep track of everything. Starlette and Uvicorn have “third-party packages” sections on their websites, so it’d be interesting to federate this approach more.
I’m opening this for discussion after I learnt about @erm’s asgi-s3 — the idea struck me again that it would be cool for ASGI-related projects to be showcased somewhere. Hopefully this would increase discoverability as well as usage of those projects.
In terms of types of resources, some are code-oriented, e.g.:
- Libraries for use in ASGI apps, e.g. Mangum or asgiref.
- ASGI frameworks, e.g. Starlette et al.
- ASGI middleware, e.g. timing-asgi.
- ASGI-compatible applications, e.g. Datasette.
- ASGI adapters, e.g. tartiflette-starlette.
and some aren’t, such as:
If we wanted to build a central index of some kind, I see two main options:
- A static list, e.g. an ASGI awesome list (but who would have authority on whether an item is awesome?).
- A dynamic solution, e.g. a web directory similar to Django Packages.
I think the static solution would be much less maintenance, but if hosted as a GitHub repo it raises the question of governance and authority. OTOH a website such as Django Packages seems like a more self-governed solution, but would require more maintenance to make sure the website stays up.
So, what are everyone’s thoughts on this?