[Import-SIG] PEP 420: Implicit Namespace Packages

PJ Eby pje at telecommunity.com
Sat May 5 18:31:09 CEST 2012

I just want to chime in at this point that PEP 402 actually provides
rationale to answer a lot of the questions that are coming up in this
thread, and which are still valid in a PEP 420 world.  While some folks
have complained about PEP 402's length, they're mostly people who were
already present for all those discussions and hashing out of rationales.
;-)  (I actually wrote 402 with the intent of answering as many as possible
of these objections in advance, hence the length.)

(On a more serious note, it might help to crib some bits of 402's rationale
arguments into 420, so that we don't have to keep answering already-dead
proposals that keep coming up, like, "why can't you just add a special file
named xyz to fix this".)

On Sat, May 5, 2012 at 12:06 PM, Yury Selivanov <yselivanov.ml at gmail.com>wrote:

> On 2012-05-05, at 9:18 AM, Nick Coghlan wrote:
> > Now rename zope/ to zope.pyp/ in a full Zope checkout and see how much
> > noise you get.
> Why can't we modify whatever PEP to simply mark namespace package
> with '__init__.pyp' or some other special file?  Why rename directories,
> introduce ugly suffixes, deal with all the weirdness of importing
> just plain directories and guessing that they are namespace packages,
> ignoring content in __init__.py etc, instead of plain simple file
> marker?
> In terms of steps (as Nick illustrated):
> With PEP 382, the migration path is:
> 1. delete all __init__.py files from namespace package portions
> 2. rename the directories for all namespace package portions to append
> the ".pyp" extension
> With PEP 420, the migration path is:
> 1. delete all __init__.py files from namespace package portions
> 2. there is no step 2
> With a marker:
> 1. $ mv __init__.py __init__.pyp
> 2. there is no step 2
> The first step can be even replaced with
> '$ rm __init__.py && touch __init__.pyp', as current __init__.py files
> of namespace packages contain only '__path__ = extend_path(__path__ ...)'
> crap.
> -
> Yury
> _______________________________________________
> Import-SIG mailing list
> Import-SIG at python.org
> http://mail.python.org/mailman/listinfo/import-sig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/import-sig/attachments/20120505/b0a7d01f/attachment.html>

More information about the Import-SIG mailing list