You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi folks, I've been working on some projects that I wanted to share here, partially for feedback but also to discuss if some of this could be folded into Starlette.
asgi-background
A middleware + utility class combo that implements BackgroundTasks using the same basic API as Starlette but runs them in TaskGroup bound the application's lifespan like Quart does.
A middleware that provides lifespan functionality for any ASGI app using async context manager lifespans. The standout feature is support for nested lifespans.
A radix-tree router with heavy lifting done in Rust that is orders of magnitude faster than the built-in one for large routing tables (e.g. the GitHub HTTP API).
In theory it is less flexible than Starlette's router because it doesn't call the Route's match() method to check if the route matches, but in practice it supports all of the routing primitives to create very large complex routing tables, with the ability to mount arbitrary ASGI apps as an escape hatch.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi folks, I've been working on some projects that I wanted to share here, partially for feedback but also to discuss if some of this could be folded into Starlette.
asgi-background
A middleware + utility class combo that implements BackgroundTasks using the same basic API as Starlette but runs them in TaskGroup bound the application's lifespan like Quart does.
https://github.com/xpresso-devs/asgi-background
asgi-lifespan
A middleware that provides lifespan functionality for any ASGI app using async context manager lifespans. The standout feature is support for nested lifespans.
https://github.com/xpresso-devs/asgi-lifespan
asgi-routing
A radix-tree router with heavy lifting done in Rust that is orders of magnitude faster than the built-in one for large routing tables (e.g. the GitHub HTTP API).
In theory it is less flexible than Starlette's router because it doesn't call the Route's
match()
method to check if the route matches, but in practice it supports all of the routing primitives to create very large complex routing tables, with the ability to mount arbitrary ASGI apps as an escape hatch.https://github.com/xpresso-devs/asgi-routing
Beta Was this translation helpful? Give feedback.
All reactions