class_docstr: Base model container class, for easier definition of containers. Ensures consistent format
  before being turned into a dataframe row.
  
  Parameters
  ----------
  id : str
      ID used as index.
  name : str
      Full display name.
  class_def : type
      The class used for the model, eg. LogisticRegression.
  eq_function : type, default = None
      Function to use to check whether an object (model) can be considered equal to the model
      in the container. If None, will be ``is_instance(x, class_def)`` where x is the object.
  args : dict, default = {} (empty dict)
      The arguments to always pass to constructor when initializing object of class_def class.
  is_special : bool, default = False
      Is the model special (not intended to be used on its own, eg. VotingClassifier).
  
  Attributes
  ----------
  id : str
      ID used as index.
  name : str
      Full display name.
  class_def : type
      The class used for the model, eg. LogisticRegression.
  eq_function : type
      Function to use to check whether an object (model) can be considered equal to the model
      in the container. Must take the checked object as the sole parameter.
      If None, will be ``is_instance(x, class_def)`` where x is the object.
  args : dict
      The arguments to always pass to constructor when initializing object of class_def class.
  is_special : bool
      Is the model special (not intended to be used on its own, eg. VotingClassifier).
class_docstr_tok: ["Base","model","container","class",",","for","easier","definition","of","containers",".","Ensures","consistent","format","before","being","turned","into","a","dataframe","row",".","Parameters","--","--","--","--","--","id",":","str","ID","used","as","index",".","name",":","str","Full","display","name",".","class_def",":","type","The","class","used","for","the","model",",","eg",".","LogisticRegression",".","eq_function",":","type",",","default","=","None","Function","to","use","to","check","whether","an","object","(","model",")","can","be","considered","equal","to","the","model","in","the","container",".","If","None",",","will","be","``","is_instance","(","x",",","class_def",")","``","where","x","is","the","object",".","args",":","dict",",","default","=","{","}","(","empty","dict",")","The","arguments","to","always","pass","to","constructor","when","initializing","object","of","class_def","class",".","is_special",":","bool",",","default","=","False","Is","the","model","special","(","not","intended","to","be","used","on","its","own",",","eg",".","VotingClassifier",")",".","Attributes","--","--","--","--","--","id",":","str","ID","used","as","index",".","name",":","str","Full","display","name",".","class_def",":","type","The","class","used","for","the","model",",","eg",".","LogisticRegression",".","eq_function",":","type","Function","to","use","to","check","whether","an","object","(","model",")","can","be","considered","equal","to","the","model","in","the","container",".","Must","take","the","checked","object","as","the","sole","parameter",".","If","None",",","will","be","``","is_instance","(","x",",","class_def",")","``","where","x","is","the","object",".","args",":","dict","The","arguments","to","always","pass","to","constructor","when","initializing","object","of","class_def","class",".","is_special",":","bool","Is","the","model","special","(","not","intended","to","be","used","on","its","own",",","eg",".","VotingClassifier",")","."]
docstr: Sets the engine related variables, i.e.
  (1) Allowed engine values for the model [List]
  (2) Engine to use for the model based on the settings in the experiment.
  (3) Default engine value to use if nothing is specified in the experiment
      (uses first value from allowed engine values list)
  
  Parameters
  ----------
  id : str
      Identifier for the model for which the engine should be set
  all_allowed_engines : Dict[str, List[str]]
      All allowed engines for models of this experiment class to which the
      model belongs
  experiment : _PyCaretExperiment
      The experiment object to which the model belongs. The engine to use
      for this model is extracted from this experiment object.
docstr_tok: ["Sets","the","engine","related","variables",",","i.e",".","(","1",")","Allowed","engine","values","for","the","model","[","List","]","(","2",")","Engine","to","use","for","the","model","based","on","the","settings","in","the","experiment",".","(","3",")","Default","engine","value","to","use","if","nothing","is","specified","in","the","experiment","(","uses","first","value","from","allowed","engine","values","list",")","Parameters","--","--","--","--","--","id",":","str","Identifier","for","the","model","for","which","the","engine","should","be","set","all_allowed_engines",":","Dict","[","str",",","List","[","str","]","]","All","allowed","engines","for","models","of","this","experiment","class","to","which","the","model","belongs","experiment",":","_PyCaretExperiment","The","experiment","object","to","which","the","model","belongs",".","The","engine","to","use","for","this","model","is","extracted","from","this","experiment","object","."]
code: def _set_engine_related_vars(
      self,
      id: str,
      all_allowed_engines: Dict[str, List[str]],
      experiment: _PyCaretExperiment,
  ):
      """Sets the engine related variables, i.e.
      (1) Allowed engine values for the model [List]
      (2) Engine to use for the model based on the settings in the experiment.
      (3) Default engine value to use if nothing is specified in the experiment
          (uses first value from allowed engine values list)
  
      Parameters
      ----------
      id : str
          Identifier for the model for which the engine should be set
      all_allowed_engines : Dict[str, List[str]]
          All allowed engines for models of this experiment class to which the
          model belongs
      experiment : _PyCaretExperiment
          The experiment object to which the model belongs. The engine to use
          for this model is extracted from this experiment object.
      """
      self.allowed_engines = get_allowed_engines(
          estimator=id, all_allowed_engines=all_allowed_engines
      )
      self.default_engine = self.allowed_engines[0]
      self._set_engine(
          id=id,
          experiment=experiment,
          severity="error",
      )
  
file_path: pycaret/pycaret/containers/models/base_model.py
imports: from typing import Any, Dict, List, Optional
  from pycaret.containers.base_container import BaseContainer
  from pycaret.internal.distributions import CategoricalDistribution
  from pycaret.internal.pycaret_experiment.pycaret_experiment import _PyCaretExperiment
  from pycaret.utils.generic import get_allowed_engines, get_logger
label_desc: Use image node_id 5 for calling the ModelContainer obj's underlying member method code with example usage: obj._set_engine_related_vars(id, all_allowed_engines, experiment) without return types