code: def __init__(self, module_name, item_name, source=None, **kwargs):
      self.item_name = item_name
      self.module_name = module_name
      self.source = source
      self.source_path = None
  
      if isinstance(source, str):
          self.module_name = module_name
          source_dict = load_source()
          if self.source in source_dict:
              self.source_path = source_dict[self.source]
          else:
              raise ValueError(
                  "source name {} is not found in the source.yaml file. Please check the source name.".format(
                      self.source
                  )
              )
      elif source is None:
          self.module_name = module_name
  
      self.kwargs = kwargs
  
imports: import os
  import sys
  import importlib.util
  from abc import ABC, abstractmethod
  import json
  import yaml
  import difflib
label_desc: Use image node_id 1 to create a new Loader object from inherited base classes: AbstractLoader with example: obj = Loader(module_name, item_name, source)