PEP 690: Lazy Imports

While everyone in this thread seems to be generally on board with lazy imports, I’m not clear why so far. It seems like this thread is nothing but confusion over the implementation and ramifications, and every answer is complex and raises more questions. I consider myself an expert in Python, I can’t imagine the trouble less experienced users are going to have with understanding this change and any issues it might cause.

Another thing I’m worried about is what this means to me as a maintainer of Flask, Jinja, Click, etc. I’ve already experienced tons of extra work and frustration attempting to support asyncio and typing. Both of these were huge changes but had a huge marketing push behind them, so users were constantly asking for more and more support for them even though I had limited time to understand them and make the required changes and the benefits weren’t clear. I really hope this doesn’t add a third huge workload to my list of things to juggle as a maintainer.

I guess my two concerns are:

  • How is this going to be communicated to users, and what will they have to do to take advantage of it?
  • What extra work will maintainers have to do, including learning, one time changes, and ongoing testing/maintenance?
4 Likes