code: def maybe_show_progress(it, show_progress, **kwargs):
      """Optionally show a progress bar for the given iterator.
  
      Parameters
      ----------
      it : iterable
          The underlying iterator.
      show_progress : bool
          Should progress be shown.
      **kwargs
          Forwarded to the click progress bar.
  
      Returns
      -------
      itercontext : context manager
          A context manager whose enter is the actual iterator to use.
  
      Examples
      --------
      .. code-block:: python
  
         with maybe_show_progress([1, 2, 3], True) as ns:
              for n in ns:
                  ...
      """
      if show_progress:
          return click.progressbar(it, **kwargs)
  
      # context manager that just return `it` when we enter it
      return CallbackManager(lambda it=it: it)
  
imports: import click
  import pandas
  from .context_tricks import CallbackManager
label_desc: Use image node_id 1 for calling a global function with example usage: maybe_show_progress(it, show_progress) and returns: CallbackManager, click