ets-labs/python-dependency-injector

Missing typing_extensions dependency

Closed this issue · 3 comments

In 4.47, it seems like typing_extensions became a required dependency: https://github.com/ets-labs/python-dependency-injector/blob/master/src/dependency_injector/wiring.py#L27. If this is a wanted change, it should be added as a dependency in pyproject.toml.

Fixed in v4.48.0

Hey, I don't think this is fixed: pyproject requires python 3.8, while typing.Self was introduced in 3.11. If you want to keep the type checking, maybe something like this:

if TYPE_CHECKING:
    from typing import Self

def test() -> "Self":
    ...

I guess it is better to add it as a dependency for older Pythons. Fix I did for v4.48.0 was aimed to avoid ImportErrors on newer versions and completely forgot about existence of older ones. v4.48.1 should require typing-extensions for Python<3.11 from now on.

Note to self
  • Need to figure out CI pipeline for zero optional dependencies testing without exploding our existing test matrix
  • Maybe do not align with cibuildwheel defaults and drop EOL-ed pythons right away.