Warning: This module is obsolete. As of Python 1.5a4, package support (with different semantics for __init__ and no support for __domain__ or __) is built in the interpreter. The ni module is retained only for backward compatibility. As of Python 1.5b2, it has been renamed to ni1; if you really need it, you can use import ni1, but the recommended approach is to rely on the built-in package support, converting existing packages if needed. Note that mixing ni and the built-in package support doesn't work: once you import ni, all packages use it.
The ni module defines a new importing scheme, which supports packages containing several Python modules. To enable package support, execute 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 ni module.
To create a package named spam containing sub-modules ham, bacon and eggs, create a directory `spam' somewhere on Python's module search path, as given in sys.path. Then, create files called `ham.py', `bacon.py' and `eggs.py' inside `spam'.
To import module ham from package spam and use function hamneggs() from that module, you can use any of the following possibilities:
import spam.ham # *not* "import spam" !!! spam.ham.hamneggs()
from spam import ham ham.hamneggs()
from spam.ham import hamneggs hamneggs()
__.spam_inited = 1 # Set a package-level variable