autowire.impl package¶
Submodules¶
autowire.impl.types module¶
Module contents¶
impl¶
Implementers.
-
autowire.impl.implement(target: autowire.impl.types.Implementable)[source]¶ Implement it.
@implement(resource) @contextlib.contextmanager def implementation(context: Context): with open('output.log', 'w') as ouput: yield output
-
autowire.impl.with_decorators(target: autowire.impl.types.Implementable, *decorators)[source]¶ Set default implementation with decorators. It sets implementation with decorators but returns original function not decorated function so that does not change function’s interface.
-
autowire.impl.plain(target: autowire.impl.types.Implementable, *dependencies, decorators=())[source]¶ Implement with plain function.
@impl.plain(resource, dependency) def get_resource(dependency): return os.path.join(dependency, 'resource.json')
-
autowire.impl.contextual(target: autowire.impl.types.Implementable, *dependencies: autowire.base.BaseResource, decorators=())[source]¶ Implement with contextual & autowired resources.
@impl.contextual(resource, dependency1, dependency2) @contextlib.contextmanager def create_resource(dependency1, dependency2): yield dependency1.make_resource(dependency2)
To apply decorators to implementation
@impl.contextual(resource, dependency, decorators=[decorator]) @contextlib.contextmanager def create_resource(dependency): yield dependency.make_resource()
-
autowire.impl.Implementation¶ alias of
Callable