[Python-Dev] Implementing PEP 382, Namespace Packages
P.J. Eby
pje at telecommunity.com
Tue Jun 1 04:18:02 CEST 2010
At 01:19 PM 5/31/2010 -0700, Brett Cannon wrote:
>But as long as whatever mechanism gets exposed allows people to work
>from a module name that will be enough. The path connection is not
>required as load_module is the end-all-be-all method. If we have a
>similar API added for .pth files that works off of module names then
>those loaders that don't want to work from file paths don't have to.
Right - that's why I suggested that a high-level request like
get_pth_contents() would give the implementer the most
flexibility. Then they don't have to fake a filesystem if they don't
actually work that way.
For example, a database that maps module names to code objects has no
need for paths at all, and could just return either ['*'] or None
depending on whether the package was marked as a namespace package in
the database... without needing to fake up the existence of a .pth
file in a virtual file system.
(Of course, since lots of implementations *do* use filesystem-like
backends, giving them some utility functions they can use to
implement the API on top of filesystem operations gives us the best
of both worlds.)
More information about the Python-Dev
mailing list