"""Declarative containers inheritance example.""" from dependency_injector import containers, providers class ContainerA(containers.DeclarativeContainer): provider1 = providers.Factory(object) class ContainerB(ContainerA): provider2 = providers.Singleton(object) assert ContainerA.providers == { 'provider1': ContainerA.provider1, } assert ContainerB.providers == { 'provider1': ContainerA.provider1, 'provider2': ContainerB.provider2, } assert ContainerA.cls_providers == { 'provider1': ContainerA.provider1, } assert ContainerB.cls_providers == { 'provider2': ContainerB.provider2, } assert ContainerA.inherited_providers == {} assert ContainerB.inherited_providers == { 'provider1': ContainerA.provider1, }