[Python-Dev] Add __exports__ to modules
Guido van Rossum
guido@python.org
Thu, 11 Jan 2001 10:58:55 -0500
> Please don't use __all__. At the moment, __all__ is the only way
> to easily tell whether a particular module object really represents
> a package, and the only way to get the list of submodule names.
>
> If __all__ is overloaded to also represent exportable symbols in
> modules, these two pieces of information will be impossible (or
> require much ugly hackery) to obtain.
Marc-Andre already explained that __all__ is not to be trusted.
If you want a reasonably good test for package-ness, use the presence
of __path__.
For a really good test, check whether __file__ ends in __init__.py[c].
--Guido van Rossum (home page: http://www.python.org/~guido/)