code: def store_password_in_keyring(credential_id, username, password=None):
      '''
      Interactively prompts user for a password and stores it in system keyring
      '''
      try:
          # pylint: disable=import-error
          import keyring
          import keyring.errors
          # pylint: enable=import-error
          if password is None:
              prompt = 'Please enter password for {0}: '.format(credential_id)
              try:
                  password = getpass.getpass(prompt)
              except EOFError:
                  password = None
  
              if not password:
                  # WE should raise something else here to be able to use this
                  # as/from an API
                  raise RuntimeError('Invalid password provided.')
  
          try:
              _save_password_in_keyring(credential_id, username, password)
          except keyring.errors.PasswordSetError as exc:
              log.debug('Problem saving password in the keyring: %s', exc)
      except ImportError:
          log.error('Tried to store password in keyring, but no keyring module is installed')
          return Falsf store_password_in_keyring(credential_id, username, password=None):
      '''
      Interactively prompts user for a password and stores it in system keyring
      '''
      try:
          # pylint: disable=import-error
          import keyring
          import keyring.errors
          # pylint: enable=import-error
          if password is None:
              prompt = 'Please enter password for {0}: '.format(credential_id)
              try:
                  password = getpass.getpass(prompt)
              except EOFError:
                  password = None
  
              if not password:
                  # WE should raise something else here to be able to use this
                  # as/from an API
                  raise RuntimeError('Invalid password provided.')
  
          try:
              _save_password_in_keyring(credential_id, username, password)
          except keyring.errors.PasswordSetError as exc:
              log.debug('Problem saving password in the keyring: %s', exc)
      except ImportError:
          log.error('Tried to store password in keyring, but no keyring module is installed')
          return False
docs: Interactively prompts user for a password and stores it in system keyring