docstr: A MixIn class for reporting the results of hyperparameter optimization rounds
  
  Parameters
  ----------
  space: List
      Hyperparameter search space dimensions for the current Optimization Protocol
  verbose: Int in [0, 1, 2], default=1
      If 0, all but critical logging is silenced. If 1, normal logging is performed. If 2,
      detailed logging is performed
  show_experiment_id: Int, or Boolean, default=8
      If True, the experiment_id will be printed in each result row. If False, it will not.
      If int, the first `show_experiment_id`-many characters of each experiment_id will be
      printed in each row
  do_maximize: Boolean, default=True
      If False, smaller metric values will be considered preferred and will be highlighted to
      stand out. Else larger metric values will be treated as preferred
docstr_tok: ["A","MixIn","class","for","reporting","the","results","of","hyperparameter","optimization","rounds","Parameters","--","--","--","--","--","space",":","List","Hyperparameter","search","space","dimensions","for","the","current","Optimization","Protocol","verbose",":","Int","in","[","0",",","1",",","2","]",",","default=1","If","0",",","all","but","critical","logging","is","silenced",".","If","1",",","normal","logging","is","performed",".","If","2",",","detailed","logging","is","performed","show_experiment_id",":","Int",",","or","Boolean",",","default=8","If","True",",","the","experiment_id","will","be","printed","in","each","result","row",".","If","False",",","it","will","not",".","If","int",",","the","first","`","show_experiment_id","`","-many","characters","of","each","experiment_id","will","be","printed","in","each","row","do_maximize",":","Boolean",",","default=True","If","False",",","smaller","metric","values","will","be","considered","preferred","and","will","be","highlighted","to","stand","out",".","Else","larger","metric","values","will","be","treated","as","preferred"]
code: def __init__(
      self,
      space: list,
      verbose=1,
      show_experiment_id=8,
      do_maximize=True,
  ):
      """A MixIn class for reporting the results of hyperparameter optimization rounds
  
      Parameters
      ----------
      space: List
          Hyperparameter search space dimensions for the current Optimization Protocol
      verbose: Int in [0, 1, 2], default=1
          If 0, all but critical logging is silenced. If 1, normal logging is performed. If 2,
          detailed logging is performed
      show_experiment_id: Int, or Boolean, default=8
          If True, the experiment_id will be printed in each result row. If False, it will not.
          If int, the first `show_experiment_id`-many characters of each experiment_id will be
          printed in each row
      do_maximize: Boolean, default=True
          If False, smaller metric values will be considered preferred and will be highlighted to
          stand out. Else larger metric values will be treated as preferred
      """
      self.original_parameter_names = [_.name for _ in space]
      self.verbose = verbose
      self.show_experiment_id = (
          36
          if (show_experiment_id is True or show_experiment_id > 36)
          else show_experiment_id
      )
      self.do_maximize = do_maximize
  
      self.end = "| "
      self.y_max = None
      self.x_max = None
      self.iteration = 0
  
      self.start_time = datetime.now()
      self.last_round = datetime.now()
  
      self.parameter_names = clean_parameter_names(
          self.original_parameter_names
      )
      self.sizes = get_param_column_sizes(space, self.parameter_names)
      self.sorted_indexes = sorted(
          range(len(self.parameter_names)),
          key=self.parameter_names.__getitem__,
      )
  
imports: from hyperparameter_hunter.i_o import exceptions
  from hyperparameter_hunter.space.dimensions import Categorical
  from hyperparameter_hunter.settings import G
  from hyperparameter_hunter.utils.general_utils import now_time, expand_mins_secs
  from contextlib import suppress
  from datetime import datetime
  import inspect
  import logging
  import os.path
  import sys
  from typing import List
label_desc: Use image node_id 1 to create a new OptimizationReporter object  with example: obj = OptimizationReporter(space, verbose, show_experiment_id, do_maximize)