Dependency injection framework for Python DI_ENABLE - module variable to enable/disable the whole DI mechanism (default: True) @inject - decorator for classes, function or methods that prepares the injections and executes then when the decorated function or method is called. When used on a class it only prepares the structures and instance methods that use DI must be decorated by @usesclassinject @usesclassinject - this marks an instance method which should use DI prepared by @inject on a class level Known issues and limitations: - it is not able to redefine a variable name which is also provided by closure (closure one has priority) - decorated class shares it's DI dictionary between all it's instances