On Mon, Nov 1, 2010 at 7:53 AM, Michael Foord <fuzzy...@voidspace.org.uk> wrote: > On 01/11/2010 14:48, Steven Bethard wrote: >> >> I think the easiest and most sensible way to address >> http://bugs.python.org/issue9353 is to simply remove the __all__ >> definition from argparse - everything that doesn't start with an >> underscore in the module is already meant to be exposed. >> >> But then I wonder - is __all__ considered part of the public API of a >> module? Or is it okay to just remove it and assume that no one should >> have been accessing it directly anyway? > > Isn't it better to add the missing elements - what is the problem with that > approach?
Agreed, that's what I would do. > Not defining __all__ will mean that "from argparse import *" will also > export all the modules you import (copy, os, re, sys, textwrap). Well, the copy of argparse.py that I have carefully renames those to _copy, _os etc. to avoid this. You never know. It is also possible to write automated tests that flag likely missing symbols in __all__ (as well as symbols in __all__ missing from the module). -- --Guido van Rossum (python.org/~guido) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com