| ▲ | Working to Make Python Lazy(iscinumpy.dev) | ||||||||||||||||
| 29 points by js2 2 days ago | 5 comments | |||||||||||||||||
| ▲ | dataflow an hour ago | parent | next [-] | ||||||||||||||||
> This pattern, for example, can’t be lazy: try: import numpy; except ModuleNotFoundError: ... Wait, that seems bad. These kinds of modules (especially numba) are often exactly the ones that you want to delay importing. Why not provide a way to check the existence at import time? How are you supposed to handle nonexistence in that case? | |||||||||||||||||
| |||||||||||||||||
| ▲ | yuriks an hour ago | parent | prev | next [-] | ||||||||||||||||
This feature seems really valuable for commandline tools! However this paragraph gave me pause: > Currently, disabling lazy imports disabled the syntax keyword, which means that you can’t use it for circular imports, type checking, etc. Imo this is a good thing, laziness shouldn't be semantically important. The ability to force disable laziness while maintaining semantics is important for linting and testing, and more often than not, circular imports are a sign of bad code structure. | |||||||||||||||||
| ▲ | mhashemi an hour ago | parent | prev [-] | ||||||||||||||||
I've got my reservations about lazy imports, but scipy in particular is such a memory hog, I've increasingly been vendoring smaller utilities out of it. Good lazy imports would be a big help. | |||||||||||||||||