\section{\module{getpass}
         --- Portable password input}

\declaremodule{standard}{getpass}
\modulesynopsis{Portable reading of passwords and retrieval of the userid.}
\moduleauthor{Piers Lauder}{piers@cs.su.oz.au}
% Windows (& Mac?) support by Guido van Rossum.
\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}


The \module{getpass} module provides two functions:


\begin{funcdesc}{getpass}{\optional{prompt\optional{, stream}}}
  Prompt the user for a password without echoing.  The user is
  prompted using the string \var{prompt}, which defaults to
  \code{'Password: '}. On \UNIX, the prompt is written to the
  file-like object \var{stream}, which defaults to
  \code{sys.stdout} (this argument is ignored on Windows).

  Availability: Macintosh, \UNIX, Windows.
  \versionchanged[The \var{stream} parameter was added]{2.5}
\end{funcdesc}


\begin{funcdesc}{getuser}{}
  Return the ``login name'' of the user.
  Availability: \UNIX, Windows.

  This function checks the environment variables \envvar{LOGNAME},
  \envvar{USER}, \envvar{LNAME} and \envvar{USERNAME}, in order, and
  returns the value of the first one which is set to a non-empty
  string.  If none are set, the login name from the password database
  is returned on systems which support the \refmodule{pwd} module,
  otherwise, an exception is raised.
\end{funcdesc}
