[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/)