FastDepends example

This example demonstrates how to use Dependency Injector with FastDepends, a lightweight dependency injection framework inspired by FastAPI’s dependency system, but without the web framework components.

Basic Usage

The integration between FastDepends and Dependency Injector is straightforward. Simply use Dependency Injector’s Provide marker within FastDepends’ Depends function:

import sys from dependency_injector import containers, providers from dependency_injector.wiring import inject, Provide from fast_depends import Depends class CoefficientService: @staticmethod def get_coefficient() -> float: return 1.2 class Container(containers.DeclarativeContainer): service = providers.Factory(CoefficientService) @inject def apply_coefficient( a: int, coefficient_provider: CoefficientService = Depends(Provide[Container.service]), ) -> float: return a * coefficient_provider.get_coefficient() container = Container() container.wire(modules=[sys.modules[__name__]]) apply_coefficient(100) == 120.0