Skip to content

Commit 590a0c2

Browse files
committed
Allow disabling of lazy import via environment variable. [ci skip]
1 parent 32e2f05 commit 590a0c2

2 files changed

Lines changed: 67 additions & 46 deletions

File tree

python/BioSimSpace/Sandpit/Exscientia/__init__.py

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@ def _isVerbose():
176176
except:
177177
pass
178178

179-
del _environ
180179
del _SireBase
181180

182181
_gmx_path = None
@@ -226,29 +225,18 @@ def _isVerbose():
226225
del _shlex
227226
del _subprocess
228227

229-
# Don't lazy load the submodules if not in a notebook.
230-
if _is_notebook:
231-
from . import Align
232-
from . import Box
233-
from . import Convert
234-
from . import FreeEnergy
235-
from . import Gateway
236-
from . import IO
237-
from . import Metadynamics
238-
from . import MD
239-
from . import Node
240-
from . import Notebook
241-
from . import Parameters
242-
from . import Process
243-
from . import Protocol
244-
from . import Solvent
245-
from . import Stream
246-
from . import Trajectory
247-
from . import Types
248-
from . import Units
249-
228+
# Whether to lazy load submodules.
229+
if (
230+
"SIRE_NO_LAZY_IMPORT" in _environ
231+
or "BSS_NO_LAZY_IMPORT" in _environ
232+
or _is_notebook
233+
):
234+
_can_lazy_import = False
250235
else:
251-
# Import the lazy import module.
236+
_can_lazy_import = True
237+
238+
# Lazy load submodules if possible.
239+
if _can_lazy_import:
252240
import lazy_import as _lazy_import
253241

254242
Align = _lazy_import.lazy_module("BioSimSpace.Sandpit.Exscientia.Align")
@@ -272,7 +260,29 @@ def _isVerbose():
272260
Types = _lazy_import.lazy_module("BioSimSpace.Sandpit.Exscientia.Types")
273261
Units = _lazy_import.lazy_module("BioSimSpace.Sandpit.Exscientia.Units")
274262

275-
del _lazy_import
263+
del _lazy_import
264+
else:
265+
from . import Align
266+
from . import Box
267+
from . import Convert
268+
from . import FreeEnergy
269+
from . import Gateway
270+
from . import IO
271+
from . import Metadynamics
272+
from . import MD
273+
from . import Node
274+
from . import Notebook
275+
from . import Parameters
276+
from . import Process
277+
from . import Protocol
278+
from . import Solvent
279+
from . import Stream
280+
from . import Trajectory
281+
from . import Types
282+
from . import Units
283+
284+
del _can_lazy_import
285+
del _environ
276286

277287
# Import Versioneer from the package root.
278288
from ... import _version

python/BioSimSpace/__init__.py

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@ def _isVerbose():
176176
except:
177177
pass
178178

179-
del _environ
180179
del _SireBase
181180

182181
_gmx_path = None
@@ -226,28 +225,18 @@ def _isVerbose():
226225
del _shlex
227226
del _subprocess
228227

229-
# Don't lazy load submodules if in a notebook environment.
230-
if _is_notebook:
231-
from . import Align
232-
from . import Box
233-
from . import Convert
234-
from . import FreeEnergy
235-
from . import Gateway
236-
from . import IO
237-
from . import Metadynamics
238-
from . import MD
239-
from . import Node
240-
from . import Notebook
241-
from . import Parameters
242-
from . import Process
243-
from . import Protocol
244-
from . import Solvent
245-
from . import Stream
246-
from . import Trajectory
247-
from . import Types
248-
from . import Units
249-
228+
# Whether to lazy load submodules.
229+
if (
230+
"SIRE_NO_LAZY_IMPORT" in _environ
231+
or "BSS_NO_LAZY_IMPORT" in _environ
232+
or _is_notebook
233+
):
234+
_can_lazy_import = False
250235
else:
236+
_can_lazy_import = True
237+
238+
# Lazy import submodules if possible.
239+
if _can_lazy_import:
251240
import lazy_import as _lazy_import
252241

253242
Align = _lazy_import.lazy_module("BioSimSpace.Align")
@@ -270,6 +259,28 @@ def _isVerbose():
270259
Units = _lazy_import.lazy_module("BioSimSpace.Units")
271260

272261
del _lazy_import
262+
else:
263+
from . import Align
264+
from . import Box
265+
from . import Convert
266+
from . import FreeEnergy
267+
from . import Gateway
268+
from . import IO
269+
from . import Metadynamics
270+
from . import MD
271+
from . import Node
272+
from . import Notebook
273+
from . import Parameters
274+
from . import Process
275+
from . import Protocol
276+
from . import Solvent
277+
from . import Stream
278+
from . import Trajectory
279+
from . import Types
280+
from . import Units
281+
282+
del _can_lazy_import
283+
del _environ
273284

274285
from . import _version
275286

0 commit comments

Comments
 (0)