[Python-Dev] Breaking undocumented API

Fred Drake fdrake at acm.org
Thu Nov 18 14:47:05 CET 2010


On Thu, Nov 18, 2010 at 6:41 AM, Michael Foord
<fuzzyman at voidspace.org.uk> wrote:
> Along with the others +1

I agree with keeping these distinct and orthogonal as well.
> What is more important is that we have a clearly stated policy for new
> modules and adding names to existing modules so that we don't have to repeat
> this debate in five years time.

Agreed again.
> My suggestion, which fits in with the use of __all__ by the language and
> also the convention widely in use by the community already boils down to:
>> * If __all__ exists it is definitive

I think this is overly vague. :-)
Specifically, if something is mentioned in __all__, it's public.
Non-inclusion in __all__ doesn't imply privateness.
> * Names with leading underscores are private unless in __all__ (and if you
> want to export leading underscore names as part of a public API you should
> define __all__ or "import *" won't export them)

We shouldn't confuse non-export via "import *" with non-public, however.
  -Fred
--
Fred L. Drake, Jr.    <fdrake at acm.org>
"A storm broke loose in my mind."  --Albert Einstein


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /