At 10:31 AM 4/5/2011 -0400, Barry Warsaw wrote:
On Mar 25, 2011, at 03:52 AM, Ãric Araujo wrote: >I am not sure we should advertise setuptools namespace packages, given >that standardization is under way (PEP 382). On one hand it would be >childish not to acknowledge that setuptools is widely used, on the other >hand in this particular time and place I think we should wait for >official namespace packages to be implemented and talk about those.
Just as an FYI, "official" namespace packages have existed since Python 2.3; they are implemented using pkgutil.extend_path() -- added, IIRC, back when Guido and Barry were both working at Zope Corp. ;-)
Setuptools and PEP 382 are simply enhanced implementations of the concept.
>> #. For modules which live inside a namespace package, the sub-package >> name SHOULD include the ``__version__`` attribute. >I think this works with both setuptools and PEP 382 namespace packages, >which is nice (see above questioning). > >> The namespace module itself SHOULD NOT include its own >> ``__version__`` attribute. >I guess this makes sense for setuptools namespace packages, but from my >understanding of PEP 382, it is possible to have a Python package that >is a namespace package and has submodules. (I hope Martin will correct >me if needed.) This thing (âportionâ in PEP 382 lingo) should be >allowed to declare a version IMO. Agreed, if that is true. I kind of hope it's *not* true though! Anyway, this is a SHOULD NOT not MUST NOT so I think it's safe.
In principle, if you simply *must* have a non-empty __init__ module in a namespace package, and you really need to have a __version__ of that, then I suppose its __version__ should match the version of the project that supplies it.
But yeah, I think it should still be considered a poor practice to put stuff in a namespace's __init__, even if/when PEP 382 makes it practical to implement non-empty __init__'s.
_______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
