class_docstr: Supports the creation of instances from configuration, that can be plugged into the environments
  (like demand generators or reward schemes).
  
  :param base_type: A common interface (parent class) of the registered types (e.g. DemandGenerator)
class_docstr_tok: ["Supports","the","creation","of","instances","from","configuration",",","that","can","be","plugged","into","the","environments","(","like","demand","generators","or","reward","schemes",")",".",":","param","base_type",":","A","common","interface","(","parent","class",")","of","the","registered","types","(","e.g",".","DemandGenerator",")"]
code: def __init__(self, base_type: Type[BaseType]):
      self.base_type = base_type
  
file_path: maze/maze/core/utils/factory.py
imports: import copy
  import importlib
  from typing import TypeVar, Type, Dict, Union, Any, List, Mapping, Generic, Tuple, Sequence, Callable
  import omegaconf
  from hydra.utils import instantiate
  from omegaconf import open_dict, DictConfig
label_desc: Use image node_id 1 to create a new Factory object from inherited base classes: Generic with example: obj = Factory(base_type)