Imported names should always be considered an implementation detail
When I have
# b.py
import c
x = 1
and I create
# a.py
import b
b. # intellisense shows c and x, but c should be considered an implementation detail
I don't actually mind that c is shown, because I expect some code doesn't consider imports an implementation detail, e.g. __init__.py, but I think it would be more useful if all the imported names were at the bottom of the list.
PEP-8 mentions
When I have
and I create
I don't actually mind that
c
is shown, because I expect some code doesn't consider imports an implementation detail, e.g.__init__.py
, but I think it would be more useful if all the imported names were at the bottom of the list.Perhaps the order could be something like this:
__all__
Even better would be if the names intellisense thinks might be private are greyed slightly (It could be a good way to solve https://github.com/microsoft/python-language-server/issues/619)