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"]
code: def input(self, prompt, hidden=False):
      # We cannot and probably do not need to "abuse" termios
      if not hidden:
          self.out.write(prompt)
          self.out.flush()
          return input()
      else:
          return getpass.getpass(prompt=prompt)
  
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 1 for calling the IPythonUI obj's underlying member method code with example usage: obj.input(prompt, hidden) and returns: input, getpass