Comment #3 on issue 2216 by [email protected]: Module names are imported with from sympy import *
http://code.google.com/p/sympy/issues/detail?id=2216

__all__ defines which names in module/package should be considered public and should be set when the rule "everything that doesn't start with an underscore is public" doesn't work. It's used by 'import *' and by pydoc (help() uses pydoc).

I'm not sure it should be used here. If we removed e.g. 'ode' from sympy.solvers.__all__[*], it would make 'ode' a private attribute of sympy.solvers (which means that end-users wouldn't be supposed to ever write 'sympy.solvers.ode'), and would basically mean that sympy.solvers pretends to be a module instead of a package.

Concerning your docstring, I would just replace "help(ode.ode_hintname)" with "`help(sympy.solvers.ode.ode_hintname)`". We should neither encourage our users to do 'from sympy import *' nor assume that they have done so.

[*]: By 'sympy.solvers', I mean the package corresponding to the directory sympy/solvers. Currently, however, sympy.solvers is the module corresponding to sympy/solvers/solvers.py - due to the problem under discussion.

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en.

Reply via email to