[Python-Dev] Created branch for PEP 302 phase 2 work (in C)
Phillip J. Eby
pje at telecommunity.com
Tue Oct 3 03:04:31 CEST 2006
At 08:21 PM 10/2/2006 -0400, A.M. Kuchling wrote:
>On Mon, Oct 02, 2006 at 11:27:07PM +0100, Paul Moore wrote:
> > Yes, I'm quite surprised at how much has appeared in pkgutil. The
> > "what's new" entry is very terse, and the module documentation itself
> > hasn't been updated to mention the new stuff.
>These two things are related, of course; I couldn't figure out which
>bits of pkgutil.py are intended to be publicly used and which weren't.
>There's an __all__ in the module, but some things such as read_code()
>don't look like they're intended for external use.
The __all__ listing is correct; I intended to expose read_code() for the
benefit of other importer implementations and Python utilities. Over the
years, I've found myself writing the equivalent of read_code() several
times, so it seemed to me to make sense to expose it as a utility function,
since it already needed to be there for the ImpLoader class to work.
In general, the idea behind the additions to pkgutil was to make life
easier for people doing import-related operations, by being a Python
reference implementation of commonly-reinvented parts of the import
process. The '-m' machinery in 2.5 had a bunch of this stuff in it, and so
did setuptools, so I yanked the code from both and refactored it to allow
reuse by both, then fleshed it out to support all the optional PEP 302
loader protocols, and additional protocols needed to support tools like
pydoc being able to run against arbitrary importers (esp. zip files).
More information about the Python-Dev