Le 29/06/2012 17:59, Paul Moore a écrit :
On 29 June 2012 14:05, Benoît Bryon<[email protected]> wrote:
I agree that "foo.ext.bar" seems nice... but it uses 3
namespace levels. It breaks the "avoid deep nesting"
rule, which recommends not more than two levels.
So the PEP can't recommend this pattern, or we will also have
to reconsider the "avoid deep nesting" rule.
??? I thought the PEP was about distribution naming (i.e., things
published on PyPI.
It is about naming, limited to packaging, but not limited to things
published on PyPI.
If the package "foo" is published under that name
on PyPI, I see no reason it can't (good taste permitting) use
multi-level names like foo.bar.baz internally. That's a completely
different question than whether a distribution named foo.bar.baz
should be available for download from PyPI (presumably alongside
foo.bar.bip and foo.bop.boop...)
I understood the foo.ext.bar example as:
* foo is a namespace package
* foo.ext is a namespace package
* foo project invites users to publish contributions as foo.ext.*
If foo is a project without namespace packages, then, yes, the PEP
proposal doesn't cover its internal code organization.
Maybe I'm misunderstanding the conversation here. We need to be
*extremely* precise about the differences between distributions
(things published to somewhere like PyPI, which can be installed
independently, and have a version number, etc) and packages (which are
things you import in Python). I've been just as vague as everyone else
in this thread, so I'm not trying to blame anyone. But things are
definitely getting muddled.
The terminology reference used in the PEP proposal is
https://bitbucket.org/benoitbryon/cpython/src/doc-package-names/Doc/packaging/introduction.rst
(which is http://docs.python.org/dev/packaging/introduction.html + some
changes related to the PEP proposal).
The PEP proposal deals with :
* the "name" argument passed to packaging.core.setup() or
setuptools.setup(), i.e. project name
* names of packages or modules being distributed, as a consequence of
the "use a single name" rule
Benoit
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig