From 6c5d3b5b343cbcc33e097c6b6682359e077a98a4 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Tue, 7 Jul 2026 22:08:48 +0300 Subject: [PATCH] chore: adopt modern-di 2.25 integration seams Replace container.providers_registry.add_providers(...) with container.add_providers(...), and the isinstance-on-AbstractProvider dispatch in _resolve_di_params with container.resolve_dependency(...). Bump the modern-di floor to >=2.25.0,<3. --- modern_di_aiohttp/main.py | 11 ++--------- pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/modern_di_aiohttp/main.py b/modern_di_aiohttp/main.py index fddbb91..b92f828 100644 --- a/modern_di_aiohttp/main.py +++ b/modern_di_aiohttp/main.py @@ -75,7 +75,7 @@ async def _di_middleware( def setup_di(app: web.Application, container: Container) -> Container: app[_DI_CONTAINER_APP_KEY] = container - container.providers_registry.add_providers(*_CONNECTION_PROVIDERS) + container.add_providers(*_CONNECTION_PROVIDERS) app.on_startup.append(_on_startup) app.on_cleanup.append(_on_cleanup) app.middlewares.append(_di_middleware) @@ -106,14 +106,7 @@ def _parse_inject_params(func: typing.Callable[..., typing.Any]) -> dict[str, _F def _resolve_di_params(container: Container, di_params: dict[str, _FromDI[typing.Any]]) -> dict[str, typing.Any]: - return { - name: ( - container.resolve_provider(marker.dependency) - if isinstance(marker.dependency, providers.AbstractProvider) - else container.resolve(dependency_type=marker.dependency) - ) - for name, marker in di_params.items() - } + return {name: container.resolve_dependency(marker.dependency) for name, marker in di_params.items()} def inject(func: typing.Callable[..., typing.Awaitable[T]]) -> typing.Callable[..., typing.Awaitable[T]]: diff --git a/pyproject.toml b/pyproject.toml index 7f08ff9..362b182 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ classifiers = [ "Typing :: Typed", "Topic :: Software Development :: Libraries", ] -dependencies = ["aiohttp>=3.9,<4", "modern-di>=2.21.0,<3"] +dependencies = ["aiohttp>=3.9,<4", "modern-di>=2.25.0,<3"] version = "0" [project.urls]