docs: def keyboard_input(message, yesno=False):
      """ Get keyboard input from a human, optionally reasking for valid
      yes or no input.
  
      Parameters
      ----------
      message : :obj:`str`
          the message to display to the user
      yesno : :obj:`bool`
          whether or not to enforce yes or no inputs
      
      Returns
      -------
      :obj:`str`
          string input by the human
      """
      # add space for readability
      message += ' '
  
      # add yes or no to message
      if yesno:
          message += '[y/n] '
  
      # ask human
      human_input = input(message)
      if yesno:
          while human_input.lower() != 'n' and human_input.lower() != 'y':
              logging.info('Did not understand input. Please answer \'y\' or \'n\'')
              human_input = input(message)
      return human_input