Re: PEP 420: Implicit Namespace Packages

Antoine Pitrou <[email protected]>
Newsgroups gmane.comp.python.import
Message-ID <[email protected]>
On Sat, 5 May 2012 23:55:23 +1000
Nick Coghlan <[email protected]> wrote:
> 
> A clean collaborative namespace system also helps with the evolution
> of informal taxonomies on PyPI. You can see this on CPAN, where file
> related modules are all in File::, email related ones are in Email::,
> etc. At the moment, pretty much everything ends up being a top-level
> module on PyPI, *because* namespace packages are so awkward and
> unintuitive.

"Flat is better than nested" would indicate this is a virtue.

The stdlib's experiments with nested namespaces (e.g. urllib.request)
have turned out quite unpractical and clumsy IMHO.

Also, namespace packages have an authority problem: what happens if two
namespaces packages both define e.g. "foo/bar.py"? It works when you
have a central body, such as Zope or Eric's companies, but otherwise?

> If those of us that do stdlib backports like contextlib2, unittest2
> and distutils2 could just as easily publish backports.contextlib,
> backports.unittest and backports.packaging, that would make it *much*
> clearer to the world what is going on.

Would it? Why would it go into the "backports" package? Why favour this
category over another (e.g. "testing.unittest")?
You're soon gonna re-discover the limitations of hierarchical
classification :-)

> None of us are willing to do
> that at the moment, because we'd have to coordinate the installation
> of backports.__init__, instead of being able to just include an
> additional directory in our path names.

Would you? You could just settle on the standard pkgutil boilerplate in
__init__.py.

Regards

Antoine.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.