Skip to main content

Import objects dynamically, lazily, "weakly", and more.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Importing-1.10.zip (17.1 kB view details)

Uploaded Source

File details

Details for the file Importing-1.10.zip.

File metadata

  • Download URL: Importing-1.10.zip
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Importing-1.10.zip
Algorithm Hash digest
SHA256 e61348d8d37b20b69c887ded5378ca99f2588e177133a06607130e6a5515062f
MD5 8e49d5062b0d5bfd33bc85425ae73f0e
BLAKE2b-256 4ec3a171c3577bb96d284f4cb1d52d599db787c8e179778b39409e1ccf83dab2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page