On 7/26/2019 2:50 PM, Anders Hovmöller wrote:


On 26 Jul 2019, at 20:34, Serhiy Storchaka <storch...@gmail.com> 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

I think breaking a whole lot of existing code is a bad idea. This just isn't a big problem in practice. We've typically said that the documentation is the final word on what's public, and that we can change anything else.

Eric
_______________________________________________
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/5W7S5FAHLJ7TTXLEEZ54EG64ONO4I2YK/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to