Skip to content

Commit c4639e5

Browse files
committed
Add typing fix for container.override_providers()
1 parent 7b19fa0 commit c4639e5

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

Diff for: docs/main/changelog.rst

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Dev version
1212
- Fix ``@containers.copy()`` decorator to respect dependencies on parent providers.
1313
See issue `#477 <https://github.com/ets-labs/python-dependency-injector/issues/477>`_.
1414
Thanks to `Andrey Torsunov @gtors <https://github.com/gtors>`_ for reporting the issue.
15+
- Fix typing stub for ``container.override_providers()`` to accept other types besides ``Provider``.
1516

1617
4.35.2
1718
------

Diff for: src/dependency_injector/containers.pyi

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class Container:
4040
def set_providers(self, **providers: Provider): ...
4141
def set_provider(self, name: str, provider: Provider) -> None: ...
4242
def override(self, overriding: C_Base) -> None: ...
43-
def override_providers(self, **overriding_providers: Provider) -> None: ...
43+
def override_providers(self, **overriding_providers: Union[Provider, Any]) -> None: ...
4444
def reset_last_overriding(self) -> None: ...
4545
def reset_override(self) -> None: ...
4646
def wire(self, modules: Optional[Iterable[Any]] = None, packages: Optional[Iterable[Any]] = None) -> None: ...

Diff for: tests/typing/declarative_container.py

+8
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,11 @@ class Container6(containers.DeclarativeContainer):
5656

5757

5858
container6: containers.Container = Container6()
59+
60+
61+
# Test 7: to override()
62+
class Container7(containers.DeclarativeContainer):
63+
provider = providers.Factory(str)
64+
65+
container7 = Container7()
66+
container7.override_providers(provider='new_value')

0 commit comments

Comments
 (0)