class_docstr: LazyLoader module borrowed from Tensorflow
   https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/util/lazy_loader.py
   with a addition of "module caching". This will throw an
   exception if module cannot be imported.
  
  Lazily import a module, mainly to avoid pulling in large dependencies.
   `contrib`, and `ffmpeg` are examples of modules that are large and not always
   needed, and this allows them to only be loaded when they are used.
class_docstr_tok: ["LazyLoader","module","borrowed","from","Tensorflow","https",":","\/\/github.com\/tensorflow\/tensorflow\/blob\/v2.2.0\/tensorflow\/python\/util\/lazy_loader.py","with","a","addition","of","``","module","caching","''",".","This","will","throw","an","exception","if","module","can","not","be","imported",".","Lazily","import","a","module",",","mainly","to","avoid","pulling","in","large","dependencies",".","`","contrib","`",",","and","`","ffmpeg","`","are","examples","of","modules","that","are","large","and","not","always","needed",",","and","this","allows","them","to","only","be","loaded","when","they","are","used","."]
code: def __init__(
      self,
      local_name: str,
      parent_module_globals: dict[str, t.Any],
      name: str,
      warning: str | None = None,
      exc_msg: str | None = None,
      exc: type[Exception] = MissingDependencyException,
  ):
      self._local_name = local_name
      self._parent_module_globals = parent_module_globals
      self._warning = warning
      self._exc_msg = exc_msg
      self._exc = exc
      self._module: types.ModuleType | None = None
  
      super().__init__(str(name))
  
file_path: BentoML/grpc-client/bentoml/_internal/utils/lazy_loader.py
imports: from __future__ import annotations
  import importlib
  import logging
  import sys
  import types
  import typing
  from ...exceptions import MissingDependencyException
label_desc: Use image node_id 1 to create a new LazyLoader object from inherited base classes: types with example: obj = LazyLoader(local_name, parent_module_globals, name, warning, exc_msg, exc)