Those are called namespace packages. Zope and Plone (ab)use them<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
extensively. The intended usage is to break up a big, monolithic package<br>
[0] in parts that can be distributed independently. To implement a<br>
namespace package, you need an empty __init__.py file with only these<br>
lines [1]:<br>
<br>
from pkgutil import extend_path<br>
__path__ = extend_path(__path__, __name__)<br>
<br>
But think carefully if you really need namespace packages; they solve a<br>
specific problem, aren't a general purpose technique. See [2] for a<br>
discussion.<br>
<br>
[0] Think of a huge behemoth with a "Z O P E" sign on both sides :)<br>
[1] <a href="http://docs.python.org/library/pkgutil.html" target="_blank">http://docs.python.org/library/pkgutil.html</a><br>
[2] <a href="http://weblion.psu.edu/news/are-we-overusing-namespace-packages" target="_blank">http://weblion.psu.edu/news/are-we-overusing-namespace-packages</a><div><div></div><div class="h5"><br clear="all"></div></div>
</blockquote></div><br>Hm.. We are using pkg_resources.declare_namespace(__name__) but I think pkgutil is much better. <br>And we are using buildout so the omelette might help me. Link [2] very interesting.<br>Thank you, Gabrial.<br>
<br>-- <br>Andrew Degtiariov<br>DA-RIPE<br>