Skip to content

Commit 5dd3238

Browse files
author
Xing Han Lu
authored
Refactor dash_vtk.util to import vtkmodules instead of vtk (#21)
* Update vtk.py * vtk -> vtkmodules import * Fix vtk to 8.* in demos requirements.txt * vtk==8.* -> vtk>=8.2.* * Add vtk to root requirements.txt * Add try-except for vtkmodules importing * Relax requirements * Relax base requirement * Change circleci caching behavior * Update requirements * dash[dev] >= 1.15.0 * oops * Add message about using vtkmodules * Update pip version
1 parent f93d4a2 commit 5dd3238

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

.circleci/config.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- checkout
1313

1414
- restore_cache:
15-
key: deps1-{{ .Branch }}-{{ checksum "package.json" }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}
15+
key: deps1-{{ .Branch }}-{{ checksum "package.json" }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}-{{ checksum "demos/requirements.txt" }}
1616

1717
- run:
1818
name: Create virtualenv
@@ -23,6 +23,7 @@ jobs:
2323
name: Install requirements
2424
command: |
2525
. venv/bin/activate
26+
pip install --upgrade pip
2627
pip install -r requirements.txt --quiet
2728
pip install -r tests/requirements.txt --quiet
2829
@@ -33,7 +34,7 @@ jobs:
3334
npm i
3435
3536
- save_cache:
36-
key: deps1-{{ .Branch }}-{{ checksum "package.json" }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}
37+
key: deps1-{{ .Branch }}-{{ checksum "package.json" }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}-{{ checksum "demos/requirements.txt" }}
3738
paths:
3839
- node_modules
3940

@@ -57,7 +58,7 @@ jobs:
5758
- checkout
5859

5960
- restore_cache:
60-
key: deps1-{{ .Branch }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}
61+
key: deps1-{{ .Branch }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}-{{ checksum "demos/requirements.txt" }}
6162

6263
- run:
6364
name: Create virtualenv
@@ -68,11 +69,12 @@ jobs:
6869
name: Install requirements
6970
command: |
7071
. venv/bin/activate
72+
pip install --upgrade pip
7173
pip install -r requirements.txt --quiet
7274
pip install -r tests/requirements.txt --quiet
7375
7476
- save_cache:
75-
key: deps1-{{ .Branch }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}
77+
key: deps1-{{ .Branch }}-{{ checksum "tests/requirements.txt" }}-{{ checksum "requirements.txt" }}-{{ checksum "demos/requirements.txt" }}
7678
paths:
7779
- "venv"
7880

dash_vtk/utils/vtk.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import dash_vtk
2-
3-
from vtk.util.numpy_support import vtk_to_numpy
4-
from vtk.vtkFiltersGeometry import vtkGeometryFilter
2+
try:
3+
# v9 and above
4+
from vtkmodules.util.numpy_support import vtk_to_numpy
5+
from vtkmodules.vtkFiltersGeometry import vtkGeometryFilter
6+
except:
7+
# v8.1.2 and below
8+
print("Can't import vtkmodules. Falling back to importing vtk.")
9+
from vtk.util.numpy_support import vtk_to_numpy
10+
from vtk.vtkFiltersGeometry import vtkGeometryFilter
511

612
# Numpy to JS TypedArray
713
to_js_type = {

demos/pyvista-point-cloud/requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
dash-vtk
33
pyvista
44
numpy
5+
vtk

requirements.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# dash is required to call `build:py`
22
dash[dev]>=1.15.0
3-
-e .
3+
-e .
4+
vtk

0 commit comments

Comments
 (0)