Skip to content

Commit 70134ad

Browse files
committed
Reduce import time
Defer loading of VTK/PyVista modules to speed up import time
1 parent 7b50d2c commit 70134ad

File tree

2 files changed

+9
-21
lines changed

2 files changed

+9
-21
lines changed

caelus/config/jinja2wrappers.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
# -*- coding: utf-8 -*-
2+
# pylint: disable=import-outside-toplevel
23

34
"""
45
Utilities for working with Jinja2 templates
56
"""
67

78
import os
89

9-
from jinja2 import Environment, FileSystemLoader
10-
1110
from ..utils import osutils
1211
from ..version import version
1312
from . import config
@@ -41,6 +40,8 @@ def __init__(self, template_dirs=None):
4140
Args:
4241
template_dirs (list): Absolute path to template directories
4342
"""
43+
from jinja2 import Environment, FileSystemLoader
44+
4445
tmpl1 = template_dirs or []
4546
tmpl2 = get_template_dirs()
4647
all_templates = tmpl1 + tmpl2

caelus/utils/vtk_helpers.py

+6-19
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,20 @@
11
# -*- coding: utf-8 -*-
2+
# pylint: disable=import-outside-toplevel
23

34
"""\
45
Wrappers for VTK/pyvista
56
"""
67

7-
try:
8-
import vtk as _vtk
9-
10-
_has_vtk = True
11-
except ImportError: # pragma: no cover
12-
_has_vtk = False
13-
14-
try:
15-
import pyvista as _pyvista
16-
17-
_has_pyvista = True
18-
except ImportError: # pragma: no cover
19-
_has_pyvista = False
20-
218

229
def vtk():
2310
"""Return the vtk module"""
24-
if not _has_vtk: # pragma: no cover
25-
raise ModuleNotFoundError("Cannot locate vtk module")
11+
import vtk as _vtk
12+
2613
return _vtk
2714

2815

2916
def pyvista():
3017
"""Return the pyvista module"""
31-
if not _has_pyvista: # pragma: no cover
32-
raise ModuleNotFoundError("Cannot locate pyvista module")
33-
return _pyvista
18+
import pyvista as pv
19+
20+
return pv

0 commit comments

Comments
 (0)