autowire.resource package

Submodules

autowire.resource.function module

autowire.resource.function

Resource implementation as a function

class autowire.resource.function.FunctionResource(func, *, name=None, namespace=None)[source]

Bases: autowire.base.BaseResource, autowire.impl.implementable.Implementable

Resource class that wraps a function.

default_implementation
implement(implementation: autowire.base.Implementation)[source]

Set implementation of implementable.

@resource.implement

autowire.resource.plain module

autowire.resource.plain

Plain resource implementation

class autowire.resource.plain.Resource(name, namespace)[source]

Bases: autowire.base.BaseResource, autowire.impl.implementable.Implementable

Resource class of some functionalities like default implementation.

default_implementation
implement(implementation: autowire.base.Implementation)[source]

Set implementation of implementable.

autowire.resource.utils module

autowire.resource.utils

Resource utilties.

Module contents

autowire.resource

Resource implementations.

class autowire.resource.Resource(name, namespace)[source]

Bases: autowire.base.BaseResource, autowire.impl.implementable.Implementable

Resource class of some functionalities like default implementation.

default_implementation
implement(implementation: autowire.base.Implementation)[source]

Set implementation of implementable.

class autowire.resource.FunctionResource(func, *, name=None, namespace=None)[source]

Bases: autowire.base.BaseResource, autowire.impl.implementable.Implementable

Resource class that wraps a function.

default_implementation
implement(implementation: autowire.base.Implementation)[source]

Set implementation of implementable.

@resource.implement
autowire.resource.create(implementation: autowire.base.Implementation = None, *, name=None, namespace=None)[source]

Create a resource with implementation.

@resource.create
@impl.implementation
@contextlib.contextmanager
def some_resource(resource, context: Context):
    with open('output.log', 'w') as output:
        yield output

with context.resolve(some_resource) as f:
    f.write('...')

The default name and namespace will be resolved from decorated function.