class_docstr: Proxy module that lazily imports the underlying module the first time it is actually used.
  
  Args:
      module_name: the fully-qualified module name to import
      callback (None): a callback function to call before importing the
          module
class_docstr_tok: ["Proxy","module","that","lazily","imports","the","underlying","module","the","first","time","it","is","actually","used",".","Args",":","module_name",":","the","fully-qualified","module","name","to","import","callback","(","None",")",":","a","callback","function","to","call","before","importing","the","module"]
code: def __init__(self, module_name, callback=None):
      super().__init__(module_name)
      self._module = None
      self._callback = callback
  
file_path: lightning-flash/src/flash/core/utilities/imports.py
imports: import contextlib
  import functools
  import importlib
  import operator
  import types
  from typing import List, Tuple, Union
  from lightning_utilities.core.imports import compare_version, module_available
  from pkg_resources import DistributionNotFound
label_desc: Use image node_id 1 to create a new LazyModule object from inherited base classes: types with example: obj = LazyModule(module_name, callback)