class_docstr: The factory class for creating executors
class_docstr_tok: ["The","factory","class","for","creating","executors"]
code: def get_pydantic_constructor_arg_type(self, model_name: str):
      model_enum = self.get_model_enum()
      arg_dict = self.get_constructor_default_args(model_name)
      type_annotation_dict = {}
      # type_annotation_dict["name"] = Literal[""]
      exempt_keys = ["self", "in_size", "out_size", "data_info"]
      for k, param in arg_dict.items():
          if k not in exempt_keys:
              type_annotation_dict[k] = arg_dict[k]
  
      class Base(DGLBaseModel):
          name: Literal[model_name]
  
      return create_model(
          f"{model_name.upper()}ModelConfig",
          **type_annotation_dict,
          __base__=Base,
      )
  
imports: import enum
  import inspect
  import logging
  from abc import ABC, abstractmethod, abstractstaticmethod
  from pathlib import Path
  from typing import Callable, Dict, List, Optional, Tuple, Union
  import yaml
  from dgl.dataloading.negative_sampler import GlobalUniform, PerSourceUniform
  from numpydoc import docscrape
  from pydantic import create_model, create_model_from_typeddict, Field
  from typing_extensions import Literal
  from .base_model import DGLBaseModel
label_desc: Use image node_id 6 for calling the ModelFactory obj's underlying member method code with example usage: obj.get_pydantic_constructor_arg_type(model_name) and returns: create_model