class_docstr: Display progress bar using rich.
class_docstr_tok: ["Display","progress","bar","using","rich","."]
code: def __init__(
      self,
      *,
      console: Console,
      desc: str,
      total: float | None = None,
      unit: str | None = None,
      unit_scale: float | None = 1.0,
      disable: bool = False,
      **kwargs,
  ):
      self.progress = Progress(
          TextColumn(
              "[progress.description]{task.description}",
              table_column=Column(min_width=20),
          ),
          BarColumn(),
          TaskProgressColumn(),
          MofNCompleteColumn(),
          TimeRemainingColumn(),
          console=console,
          auto_refresh=True,
          redirect_stderr=True,
          redirect_stdout=False,
          disable=disable,
          **kwargs,
      )
      self.unit_scale = unit_scale
      self.progress_bar = self.progress.add_task(
          desc,
          total=total * self.unit_scale
          if total is not None and self.unit_scale is not None
          else None,
          unit=unit,
      )
  
imports: from __future__ import annotations
  from typing import Protocol
  from rich.console import Console
  from rich.progress import BarColumn, MofNCompleteColumn, Progress, TaskProgressColumn, TextColumn, TimeRemainingColumn
  from rich.table import Column
label_desc: Use image node_id 1 to create a new RichProgressBar object  with example: obj = RichProgressBar()