I think I agree with Serhiy, but I don't think Anders' suggestion is 
workable since it's very common in __init__.py to do exactly this (import * 
from local modules in order to re-export them), and you definitely don't 
want to explitly foo=foo for everything.  That's the whole reason you 
"import *".  For example, 
https://github.com/numpy/numpy/blob/master/numpy/linalg/__init__.py

Best,

Neil

On Friday, July 26, 2019 at 2:53:23 PM UTC-4, Anders Hovmöller wrote:
>
>
>
> > On 26 Jul 2019, at 20:34, Serhiy Storchaka <stor...@gmail.com 
> <javascript:>> wrote: 
> > 
> > 26.07.19 21:10, Anders Hovmöller пише: 
> >> This doesn't really solve the problem imo. Imported symbols shouldn't 
> be i portable elsewhere. Not by import * or explicitly. That's the problem. 
> > 
> > I do not think that this is always a problem. It is common to refactor 
> the code by defining names in submodules and then importing them in the 
> main module. For example, in `json/__init__.py`: 
> > 
> >    from .decoder import JSONDecoder, JSONDecodeError 
> >    from .encoder import JSONEncoder 
> > 
> > It is possible even to use a star import. 
> > 
> > So this change would break much more code. 
>
> I believe I covered that in my last email. I'll repeat it here for 
> clarity: if you indent to re-export you can do that explicitly: 
>
> from foo import bar 
> bar = bar 
>
> For "from x import *" you'd need to iterate over __import_dict__ (or 
> whatever we call it) and set them all. 
>
> / Anders 
>    
> _______________________________________________
> Python-ideas mailing list -- python...@python.org <javascript:>
> To unsubscribe send an email to python-id...@python.org <javascript:>
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-ideas@python.org/message/EP3PK3C4ZPJSBIYT4OLFIBREOW7RX67Y/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/R7A2NFZD6NKWBYSJUEZOHBNGGGUP47OU/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to