Import Utilities DevDay Session

This session will discuss the proposed changes to the import system.

These changes generally follow the model of Greg Stein's imputil module. Items which may (or may not) come up for discussion:

Background

The current import system is a convoluted mass of Python and C code. It uses a "find" and "load" strategy, with either or both being hookable. However, the hooks are nearly impossible to understand, and in practice, nearly all import hooks are ad-hoc affairs that don't play well with other import hooks, or alternate distribution techniques (eg, freeze).

The current import system assumes that modules will be found in a file system. Importing from other sources (code archives, databases, URLs) requires going around the import system entirely.

In addition, the officially approved techniques for distribution of packages are largely ignored in practice, (not surprising, since the sanctioned techniques have changed repeatedly). One of the guiding goals of reforming the import system is to provide a simple but general framework that makes life easier for package authors and package users.