\section{Standard Module \sectcode{ni}}
\label{module-ni}
\stmodindex{ni}

\strong{Warning: This module is obsolete.}  As of Python 1.5a4,
package support (with different semantics for \code{__init__} and no
support for \code{__domain__} or \code{__}) is built in the
interpreter.  The ni module is retained only for backward
compatibility.  As of Python 1.5b2, it has been renamed to \code{ni1}; 
if you really need it, you can use \code{import ni1}, but the
recommended approach is to rely on the built-in package support,
converting existing packages if needed.  Note that mixing \code{ni}
and the built-in package support doesn't work: once you import
\code{ni}, all packages use it.

The \code{ni} module defines a new importing scheme, which supports
packages containing several Python modules.  To enable package
support, execute \code{import ni} before importing any packages.  Importing
this module automatically installs the relevant import hooks.  There
are no publicly-usable functions or variables in the \code{ni} module.

To create a package named \code{spam} containing sub-modules \code{ham}, \code{bacon} and
\code{eggs}, create a directory \file{spam} somewhere on Python's module search
path, as given in \code{sys.path}.  Then, create files called \file{ham.py}, \file{bacon.py} and
\file{eggs.py} inside \file{spam}.

To import module \code{ham} from package \code{spam} and use function
\code{hamneggs()} from that module, you can use any of the following
possibilities:

\bcode\begin{verbatim}
import spam.ham		# *not* "import spam" !!!
spam.ham.hamneggs()
\end{verbatim}\ecode
%
\bcode\begin{verbatim}
from spam import ham
ham.hamneggs()
\end{verbatim}\ecode
%
\bcode\begin{verbatim}
from spam.ham import hamneggs
hamneggs()
\end{verbatim}\ecode
%
\code{import spam} creates an
empty package named \code{spam} if one does not already exist, but it does
\emph{not} automatically import \code{spam}'s submodules.  
The only submodule that is guaranteed to be imported is
\code{spam.__init__}, if it exists; it would be in a file named
\file{__init__.py} in the \file{spam} directory.  Note that
\code{spam.__init__} is a submodule of package spam.  It can refer to
spam's namespace as \code{__} (two underscores):

\bcode\begin{verbatim}
__.spam_inited = 1		# Set a package-level variable
\end{verbatim}\ecode
%
Additional initialization code (setting up variables, importing other
submodules) can be performed in \file{spam/__init__.py}.
