There are many star imports in the code, we should work to remove them because:
it pollutes the namespace and may shadow other objects (from previous imports)
it's poor readability/debugging -it's not clear what's imported where
much static analysis is not available (either typing or other linting)
This is a relatively straight forward change to make (e.g. can use https://www.asmeurer.com/removestar/), but it has the potential for being a "breaking change" for imports from suds. Since many modules do from suds import *, this has the potential to mean that prior imports like from suds.builder import Webfault will no longer work.
Several undocumented internal imports were removed. One example is that os.errno is no longer available; use import errno directly instead. Note that such undocumented internal imports may be removed any time without notice, even in micro version releases.
There are many star imports in the code, we should work to remove them because:
This is a relatively straight forward change to make (e.g. can use https://www.asmeurer.com/removestar/), but it has the potential for being a "breaking change" for imports from suds. Since many modules do
from suds import *
, this has the potential to mean that prior imports likefrom suds.builder import Webfault
will no longer work.These internal imports are not documented, so in theory are not part of the public API. Python itself treats this as a non breaking change: https://docs.python.org/3/whatsnew/3.7.html#changes-in-the-python-api