class_docstr: ProgressBar class keeps an update of the iteration and output the corresponding update progress bar.
  
  Args:
      steps (int): The number of steps.
      bar_format (str, optional): User defined format for the bar_format. By default the setting is
          {percentage} |{bar}|. The two argument must be {percentage} and {bar}.
      bar_character (str): The bar character to use. (Default value = █ which is 'block'.)
      partial_bar_characters (str): A list of character to use when a fraction of the bar character
          could be used. (Default value =
          ``[" ", "▏", "▎", "▍", "▌", "▋", "▊", "▉"]``
          that is from " " through 1/8th to 7/8th blocks)
  
  Attributes:
      total_steps (int): The total steps to do.
      bar_format (str): The format of the bar.
      bar_character (str): The bar character.
      bar_length (int): The size of the bar.
      actual_steps (int): Number of steps done so far.
code: def __init__(
      self,
      steps: int,
      *,
      bar_length: int = 20,
      bar_format: Optional[str] = None,
      bar_character: str = "\u2588",
      partial_bar_characters: Optional[list] = None,
  ) -> None:
      self.total_steps = steps
  
      if bar_format is not None:
          self.bar_format = bar_format
      else:
          self.bar_format = "{percentage} |{bar}"
  
      self.bar_character = bar_character
      self.partial_bar_characters = BAR_EIGHTHS_CHARACTERS
      if partial_bar_characters is not None:
          self.partial_bar_characters = partial_bar_characters
      self.bar_length = bar_length
  
      self.actual_steps = 0
  
imports: import math
  from typing import Optional
label_desc: Use image node_id 1 to create a new ProgressBar object  with example: obj = ProgressBar(steps)