Skip to content

0.73.0

Choose a tag to compare

@antonrh antonrh released this 05 Feb 07:28
· 99 commits to main since this release

What's Changed

Generic TypeVar Resolution

Added automatic TypeVar resolution for generic base classes. When a class inherits from a parameterized generic, AnyDI resolves TypeVars in constructor parameters automatically.

class Handler(Generic[T]):                                
    def __init__(self, repo: Repository[T]) -> None:
        self.repo = repo

class UserHandler(Handler[User]):
    pass  # No need to override __init__

handler = container.resolve(UserHandler)
# repo: Repository[T] → injects Repository[User]

Supports multi-level inheritance, multiple type parameters, and nested generics.

Full Changelog: 0.72.0...0.73.0