<div class="gmail_quote">On Thu, Nov 10, 2011 at 1:03 PM, "Martin v. Löwis" <span dir="ltr"><<a href="mailto:martin@v.loewis.de">martin@v.loewis.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">> Actually, scratch that part of my response. *Existing* namespace<br>
> packages that work properly already have a single owner<br>
<br>
</div>How so? The zope package certainly doesn't have a single owner. Instead,<br>
it's spread over a large number of subpackages.<br></blockquote><div><br></div><div>In distro packages (i.e. "system packages") 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">> With PEP 402, those owning packages are the only ones that would have<br>
> to change.<br>
<br>
</div>No. In setuptools namespace packages, each portion of the namespace<br>
(i.e. each distribution) will have it'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 "only those" is actually "all of them".<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'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'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 "packaging" intended for PEP 402 would simply not add one.</div>
</div>