dependency_injector.ext.starlette¶
- class dependency_injector.ext.starlette.Lifespan(container: ~dependency_injector.containers.Container, resource_type: ~typing.Type[~dependency_injector.providers.Resource] = <class 'dependency_injector.providers.Resource'>)¶
Bases:
object
A starlette lifespan handler performing container resource initialization and shutdown.
See https://www.starlette.io/lifespan/ for details.
Usage:
from dependency_injector.containers import DeclarativeContainer from dependency_injector.ext.starlette import Lifespan from dependency_injector.providers import Factory, Self, Singleton from starlette.applications import Starlette class Container(DeclarativeContainer): __self__ = Self() lifespan = Singleton(Lifespan, __self__) app = Factory(Starlette, lifespan=lifespan)
- Parameters:
container – container instance
resource_type – A
Resource
subclass. Limits the resources to be initialized and shutdown.