dependency_injector.ext.starlette

class dependency_injector.ext.starlette.Lifespan(container: Container)

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