Similar considerations potentially apply to other packages as well.
The __all__ attribute was added to 50 out of 138 __init__.py files
that didn't already have it. Obviously the top-level __init__.py is
the most significant though.

On Thu, 14 May 2020 at 20:23, Oscar Benjamin <oscar.j.benja...@gmail.com> wrote:
>
> On Thu, 14 May 2020 at 19:57, Jason Moore <moorepa...@gmail.com> wrote:
> >
> > Is it possible to give a blanket deprecation warning if anyone does an 
> > import with a `*`? It could warn the user that functionality will change in 
> > the next version such that modules are not accessible via star imports.
>
> I think that using "from sympy import *" should be fine. We should
> stop putting all of the names there and design and document a coherent
> way to import things from the different packages but as long as almost
> all the functions most users want are at top-level they should be able
> to use star import to get them. Many more users would be affected by
> deprecating star-import in general than by removing the submodules
> from the star import.
>
> If we want to be extra-cautious here then we could do this:
>
> 1. Explicitly import all of the packages like sympy.physics that are
> implicitly exported in 1.5 and add them to __all__ in
> sympy/__init__.py. Those would then continue to be imported by "from
> sympy import *".
>
> 2. Make a wrapper object for each of the sympy.x.y modules that are
> implicitly exported in 1.5 that gives a deprecation warning on access
> and add them to __all__ as well. Those would continue to be imported
> by "from sympy import *" but would give a warning when used e.g.:
>
> >>> from sympy import *
> >>> add.Add
> DeprecationWarning: Import the add module as "import sympy.core.add as
> add" or "from sympy.core import add" not "from sympy import *" or
> "from sympy import add".
>
> --
> Oscar

-- 
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 sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAHVvXxSA6enwE-e0u9h7vfSRDnz0%3DcDiqTpqdACNNFvm8ijFTg%40mail.gmail.com.

Reply via email to