class_docstr: The Progress class provides a custom progress tracker that is used in a function signature.
  To attach a Progress tracker to a function, simply add a parameter right after the input parameters that has a default value set to a `gradio.Progress()` instance.
  The Progress tracker can then be updated in the function by calling the Progress object or using the `tqdm` method on an Iterable.
  The Progress tracker is currently only available with `queue()`.
  Example:
      import gradio as gr
      import time
      def my_function(x, progress=gr.Progress()):
          progress(0, desc="Starting...")
          time.sleep(1)
          for i in progress.tqdm(range(100)):
              time.sleep(0.1)
          return x
      gr.Interface(my_function, gr.Textbox(), gr.Textbox()).queue().launch()
  Demos: progress
code: def __iter__(self):
      return self
  
imports: from __future__ import annotations
  import ast
  import csv
  import inspect
  import os
  import shutil
  import subprocess
  import tempfile
  import warnings
  from functools import partial
  from pathlib import Path
  from typing import TYPE_CHECKING, Any, Callable, Iterable, Literal, Optional
  import matplotlib.pyplot
  import numpy
  import PIL
  import PIL.Image
  from gradio_client import utils
  from gradio_client.documentation import document, set_documentation_group
  from matplotlib import animation
  from gradio import components, oauth, processing_utils, routes, utils, wasm_utils
  from gradio.context import Context, LocalContext
  from gradio.data_classes import GradioModel, GradioRootModel
  from gradio.events import EventData
  from gradio.exceptions import Error
  from gradio.flagging import CSVLogger
label_desc: Use image node_id 3 for calling the Progress obj's underlying member method code with example usage: obj.__iter__() and returns: self