Injecting functions =================== It might be convinient to specify funcion's dependencies in-place. The great example is Flask handler function. It should live in the same layer the DI container lives because it provides only infrastructure functionality and desirably the only thing it does it calling domain layer's functions. For this purpose, there is ``injector`` decorator on the ``Container`` object. You just tell which dependency to provide using ``Depends`` type constructor:: from inseminator import Container, Depends class Dependency: def __init__(self): self.x = 1 container = Container() @container.inject def my_handler(input_value: int, dependency: Dependency = Depends(Dependency)): return input_value + dependency.x Used like that, ``my_handler`` takes a single argument and thanks to closure it has ``dependency`` prepared with the right instance of ``Dependency``. >>> my_handler(1) 2