class_docstr: Custom to IPython frontend UI implementation
  
  There is no way to discriminate between web notebook or qt console,
  so we have just a single class for all.
  
  TODO: investigate how to provide 'proper' displays for
  IPython of progress bars so backend could choose the
  appropriate one
class_docstr_tok: ["Custom","to","IPython","frontend","UI","implementation","There","is","no","way","to","discriminate","between","web","notebook","or","qt","console",",","so","we","have","just","a","single","class","for","all",".","TODO",":","investigate","how","to","provide","'proper","'","displays","for","IPython","of","progress","bars","so","backend","could","choose","the","appropriate","one"]
docstr: Return a progressbar.  See e.g. `tqdmProgressBar` about the
  interface
  
  Additional parameter is backend to choose among available
docstr_tok: ["Return","a","progressbar",".","See","e.g",".","`","tqdmProgressBar","`","about","the","interface","Additional","parameter","is","backend","to","choose","among","available"]
code: def get_progressbar(self, *args, **kwargs):
      """Return a progressbar.  See e.g. `tqdmProgressBar` about the
      interface
  
      Additional parameter is backend to choose among available
      """
      backend = kwargs.pop("backend", None)
      if self._tqdm_frontend == "unknown":
          try:
              from tqdm import tqdm_notebook  # check if available etc
  
              self.__class__._tqdm_frontend = "ipython"
          except Exception as exc:
              lgr.warning(
                  "Regular progressbar will be used -- cannot import tqdm_notebook: %s",
                  CapturedException(exc),
              )
              self.__class__._tqdm_frontend = None
      if self._tqdm_frontend:
          kwargs.update()
      return super(IPythonUI, self).get_progressbar(
          *args, frontend=self._tqdm_frontend, **kwargs
      )
  
imports: from logging import getLogger
  import os
  import sys
  import time
  import getpass
  from collections import deque
  from copy import copy
  from ..utils import auto_repr
  from ..utils import on_windows
  from .base import InteractiveUI
  from datalad.support.exceptions import CapturedException
label_desc: Use image node_id 2 for calling the IPythonUI obj's underlying member method code with example usage: obj.get_progressbar() and returns: super