[Python-Dev] Breaking undocumented API
Hrvoje Niksic
hrvoje.niksic at avl.com
Fri Nov 12 10:49:48 CET 2010
On 11/11/2010 11:24 PM, Greg Ewing wrote:
> Nick Coghlan wrote:
>
>> My personal opinion is that we should be trying to get the standard
>> library to the point where __all__ definitions are unnecessary - if a
>> name isn't in __all__, it should start with an underscore (and if that
>> is true, then the __all__ definition becomes effectively redundant).
>
> What about names imported from other modules that are used by
> the module, but not intended for re-export? How would you
> prevent them from turning up in help() etc. without using
> __all__?
import foo as _foo
I believe I am not the only one who finds that practice ugly, but I find
it just as ugly to underscore-ize every non-public helper function.
__all__ is there for a reason, let's use it. Maybe help() could
automatically ignore stuff not in __all__, or display it but warn the
user of non-public identifiers?
More information about the Python-Dev
mailing list