[Python-Dev] Keeping init.py empty for Python packages used for module grouping. (original) (raw)

Brett Cannon brett at python.org
Tue Jan 25 00:09:01 CET 2011


On Mon, Jan 24, 2011 at 11:18, Georg Brandl <g.brandl at gmx.net> wrote:

Am 24.01.2011 20:04, schrieb Raymond Hettinger:

Looking at http://docs.python.org/dev/library/html.html#module-html it would appear that we've created a new module with a single trivial function.

In reality, there was already a python package, html, that served to group two loosely related modules, html.parser and html.entities. ISTM, that if we're going to use python packages as "namespace containers" for categorizing modules, then the top level init namespace should be left empty. Before the placement of html.escape() becomes set in stone, I think we should consider putting it somewhere else. To be honest, I don't see the issue.  I don't see stdlib packages as "namespace containers", but rather as a nice way of structuring functionality. And remember that flat is better than nested -- why should escape() be put away into a new submodule?

Importlib also acts as a precedent with importlib.import_module(). I honestly don't feel the need to treat packages as a namespace explicitly (but then again I also disagree with the argument that init.py needs to be left empty).



More information about the Python-Dev mailing list