"""`Dependency` provider default example.""" import abc from dependency_injector import containers, providers class Cache(metaclass=abc.ABCMeta): ... class InMemoryCache(Cache): ... class Container(containers.DeclarativeContainer): cache = providers.Dependency(instance_of=Cache, default=InMemoryCache()) if __name__ == '__main__': container = Container() cache = container.cache() # provides InMemoryCache() assert isinstance(cache, InMemoryCache)