PEP 690: Lazy Imports

At least until someone notices this, declares that import * is “bad practice”, submits a PR and causes enough commotion that it gets merged (this has happened before).

Now a “purely stylistic” change (we know it’s not, but within the scope of reasoning about the change, it is) has inadvertently broken [non-]users of this module.[1]

Add this to my reasons for preferring either complete transparency (which this is not), or completely explicit (which is already available as local imports).


  1. And it’s a side-issue, but worth considering that type checking is already in place and further discourages people from using import *. So we can’t really add a feature that in any way encourages it again without clearly explaining why the other feature “loses” here, and how users can decide which situation they’re in. ↩︎

1 Like