<br><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 2, 2017, 12:30 Barry Warsaw, <<a href="mailto:barry@python.org">barry@python.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Oct 2, 2017, at 14:56, Brett Cannon <<a href="mailto:brett@python.org" target="_blank">brett@python.org</a>> wrote:<br>
<br>
> So Mercurial specifically is an odd duck because they already do lazy importing (in fact they are using the lazy loading support from importlib). In terms of all of this discussion of tweaking import to be lazy, I think the best approach would be providing an opt-in solution that CLI tools can turn on ASAP while the default stays eager. That way everyone gets what they want while the stdlib provides a shared solution that's maintained alongside import itself to make sure it functions appropriately.<br>
<br>
The problem I think is that to get full benefit of lazy loading, it has to be turned on globally for bare ‘import’ statements.  A typical application has tons of dependencies and all those libraries are also doing module global imports, so unless lazy loading somehow covers them, it’ll be an incomplete gain.  But of course it’ll take forever for all your dependencies to use whatever new API we come up with, and if it’s not as convenient to write as ‘import foo’ then I suspect it won’t much catch on anyway.<br></blockquote></div><div><br></div><div>My approach supports global "switch" to make it transparent (see the notebook for details). I'm just saying you could also support a function for lazy importing when you have only a module or two you to be lazy about while being eager otherwise.</div><div><br></div><div>-Brett</div><div><br></div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-Barry<br>
<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org" target="_blank">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/brett%40python.org" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/brett%40python.org</a><br>
</blockquote></div>