Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
remove lazy importer, fix circular imports #1640
Given that everything is so circular, importing anything basically resulted in importing everything anyway, so there wasn't really a point to the lazy importer.
Moved some imports into the functions that need them in order to break circular imports. Only
Verified this by doing
Based on discussion in #2, I'm deprecating most of these top-level attributes in favor of direct imports. The docs have said to use direct imports for a long time, and the top-level attributes were somewhat scattershot, it wasn't clear why certain things weren't there, or why it was useful to have certain things there. Moving the deprecated attributes back into a lazy module prevents IDEs like PyCharm from preferring
After a bit more discussion, we're going to target the deprecation at a new 0.16 release, then remove the imports altogether for 1.0. There won't be much time between the two releases, but it will offer a slightly smoother upgrade path and will mean there won't be a bunch of deprecations hanging around in 1.0