<div class="gmail_quote">On Thu, Nov 10, 2011 at 1:03 PM, &quot;Martin v. Löwis&quot; <span dir="ltr">&lt;<a href="mailto:martin@v.loewis.de">martin@v.loewis.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">&gt; Actually, scratch that part of my response. *Existing* namespace<br>
&gt; packages that work properly already have a single owner<br>
<br>
</div>How so? The zope package certainly doesn&#39;t have a single owner. Instead,<br>
it&#39;s spread over a large number of subpackages.<br></blockquote><div><br></div><div>In distro packages (i.e. &quot;system packages&quot;) there may be a namespace-defining package that provides an __init__.py.  For example, I believe Debian (system) packages peak.util this way, even though there are many separately distributed peak.util.* (python) packages.</div>
<div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">&gt; With PEP 402, those owning packages are the only ones that would have<br>
&gt; to change.<br>
<br>
</div>No. In setuptools namespace packages, each portion of the namespace<br>
(i.e. each distribution) will have it&#39;s own __init__.py; which of them<br>
gets actually used is arbitrary but also irrelevant since they all look<br>
the same.<br>
<br>
So &quot;only those&quot; is actually &quot;all of them&quot;.<br></blockquote><div><br></div><div>Nick is speaking again about system packages released by OS distributors.  A naive system package built with setuptools of a namespace package will not contain an __init__.py, but only a .nspkg.pth file used to make the __init__.py unnecessary.</div>
<div><br></div><div>(In this sense, the existing setuptools namespace package implementation  for system-installed packages is actually a primitive partial implementation of PEP 402.)</div><div><br></div><div>In summary: some system packages are built with an owning package, some aren&#39;t.  Those with an owning package will need to drop the __init__.py (from that one package), and the others do not, because they don&#39;t have an __init__.py.  In either case, PEP 402 leaves the directory layout alone.  A version of setuptools intended for PEP 402 support would drop the nspkg.pth inclusion, and a version of &quot;packaging&quot; intended for PEP 402 would simply not add one.</div>
</div>