docstr: Request user input
  
  Parameters
  ----------
  prompt: str
    Prompt for the entry
docstr_tok: ["Request","user","input","Parameters","--","--","--","--","--","prompt",":","str","Prompt","for","the","entry"]
code: def input(self, prompt, hidden=False):
      """Request user input
  
      Parameters
      ----------
      prompt: str
        Prompt for the entry
      """
      # if not hidden:
      #     self.out.write(msg + ": ")
      #     self.out.flush()  # not effective for stderr for some reason under annex
      #
      #     # TODO: raw_input works only if stdin was not controlled by
      #     # (e.g. if coming from annex).  So we might need to do the
      #     # same trick as get_pass() does while directly dealing with /dev/pty
      #     # and provide per-OS handling with stdin being override
      #     response = (raw_input if PY2 else input)()
      # else:
      return (getpass.getpass if hidden else getpass_echo)(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 2 for calling the DialogUI obj's underlying member method code with example usage: obj.input(prompt, hidden) and returns: unknown