Not Logged In

Importing 1.10

NEW in 1.10: @whenImported can now be used as a decorator for lazy imports

Need to import an object when all you’ve got is its name? Need to lazily
import modules, such that they don’t actually get loaded until you use them?
Want to have some code in a module that only gets run if another module is
imported? Then you need the “Importing” toolkit.

Installing the toolkit (using "easy_install Importing" or
"setup.py install") allows you to access the peak.util.imports module.
This module was previously bundled for years inside of the general PEAK
distribution, but is now available as a standalone module for your convenience.

The “Importing” toolkit does not install or use any special import hooks, and
is compatible with zipfile imports, py2exe, etc. Lazy and weak imports
should be compatible with almost any import hooks or hacks, as long as they
have reasonable support for the reload() builtin. The dynamic import
utilities, however, require only that __import__() work correctly, and so
should work anywhere that normal Python imports work.

NOTE: The 1.9.2 release uses a new version of setuptools (0.6b3) that
fixes a previous problem with .pth files on Windows with the Importing
egg. See more info on how to fix your existing installation, if you
experienced this problem with a previous version.

Python 2.3 users: If you are using weak or lazy importing with zipfiles (e.g.
eggs) you must have Python 2.3.5. Lesser versions of 2.3 have a bug in
the reload() implementation which prevents correct operation of weak and
lazy imports for modules that are inside zipfiles.