[Python-Dev] PEP 402: Simplified Package Layout and Partitioning

P.J. Eby pje at telecommunity.com
Sat Aug 13 00:42:31 CEST 2011


At 05:03 PM 8/12/2011 -0400, Glyph Lefkowitz wrote:
>Are there any rules about passing invalid identifiers to __import__ 
>though, or is that just less likely? :)

I suppose you have a point there.  ;-)


>I still like the idea of a 'marker' file.  It would be great if 
>there were a new marker like "__package__.py".

Having any required marker file makes separately-installable portions 
of a package impossible, since it would then be in conflict at 
installation time.

The (semi-)competing proposal, PEP 382, is based on allowing each 
portion to have a differently-named marker; we came up with PEP 402 
as a way to get rid of the need for any marker files (not to mention 
the bikeshedding involved.)


>What do you mean "building of a virtual path"?

Constructing the __path__-to-be of a not-yet-imported virtual 
package.  The PEP defines a protocol for constructing this, by asking 
the importer objects to provide __path__ entries, and it does not 
require anything to be imported.  So there's no reason to 
re-implement the algorithm yourself.


>The more that this can focus on module-walking without executing 
>code, the happier I'll be :).

Virtual packages actually improve on this situation, in that a 
virtual path can be computed without the need to import the 
package.  (Assuming a submodule or subpackage doesn't munge the 
__path__, of course.)



More information about the Python-Dev mailing list