From 77e4ff514787d6a6eff13a735766e088e22e664e Mon Sep 17 00:00:00 2001 From: Fabrice Normandin Date: Thu, 10 Aug 2023 09:45:49 -0400 Subject: [PATCH] Faster import (lazy numpy) (#285) Co-authored-by: Anirudh Vegesana --- simple_parsing/helpers/hparams/priors.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/simple_parsing/helpers/hparams/priors.py b/simple_parsing/helpers/hparams/priors.py index d082f620..8817a2d7 100644 --- a/simple_parsing/helpers/hparams/priors.py +++ b/simple_parsing/helpers/hparams/priors.py @@ -14,13 +14,16 @@ overload, ) -numpy_installed = False -try: - import numpy as np +import importlib.util - numpy_installed = True -except ImportError: - pass +class _np_lazy: + def __getattr__(self, attr): + global np + import numpy as np + return getattr(np, attr) + +np = _np_lazy() +numpy_installed = importlib.util.find_spec("numpy") is not None T = TypeVar("T")