> Oscar, your idea looks helpful. It would resolve my concerns, but I'm not 
> sure how to evaluate if that is worth doing. My opinion is that if the effort 
> to deprecate isn't extreme, then we should do it. What "extreme" is defined 
> as, is certainly debatable.

I may be wrong on this, but I don't think Oscar's idea would actually
work. The issue is that there's no way to tell the difference between

from sympy import *
core

and

from sympy import core
core

where the latter still works and should work. We could make it not
work, but it's expected Python behavior to be able to import
submodules like this.

__all__ only affects import *, not explicit imports. To be sure, the
change in SymPy does remove some sub-submodules from the top level
(like "from sympy import add"), due to the fact that we no longer use
import * in the __init__.py files themselves.

(side comment: I think that it's a design mistake in Python that
submodules can be imported the same as explicitly exported names like
this. It creates a lot of potential confusion with relatively little
benefit. There are some technical reasons why it happens as well as
some instances where it is necessary, but it's by and large a bad
feature in my opinion.

Aaron Meurer

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6JjM4Y9XmwLoM%2BnnbpiJzAZBqfT%3DSKFhYvzZApPgMSM2g%40mail.gmail.com.

Reply via email to