class_docstr: Module that holds a set of dependency providers.
class_docstr_tok: ["Module","that","holds","a","set","of","dependency","providers","."]
docstr: Call the given function whose arguments are auto injected.
docstr_tok: ["Call","the","given","function","whose","arguments","are","auto","injected","."]
code: def call(self, f: Callable[..., _T]) -> _T:
      """Call the given function whose arguments are auto injected."""
      sig = inspect.signature(f)
      kwargs = {}
      for name, param in sig.parameters.items():
          if param.annotation is inspect.Parameter.empty:
              type_hint = None
          else:
              type_hint = param.annotation
          try:
              kwargs[name] = self.get(name, type_hint)
          except errors.NotProvidedError:
              if param.default is inspect.Parameter.empty:
                  raise
      return f(**kwargs)
  
file_path: tfx/tfx/utils/di/module.py
imports: import inspect
  from typing import Any, Callable, Optional, TypeVar
  from tfx.utils import pure_typing_utils
  from tfx.utils.di import errors
  from tfx.utils.di import providers
label_desc: Use image node_id 6 for calling the DependencyModule obj's underlying member method code with example usage: obj.call(f) and returns: f