solidipes-solid-mech-plugin 0.0.14__tar.gz → 0.0.15__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/PKG-INFO +2 -2
  2. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/pyproject.toml +1 -1
  3. solidipes_solid_mech_plugin-0.0.15/solidipes_solid_mech_plugin/config.py +8 -0
  4. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/PKG-INFO +2 -2
  5. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/requires.txt +1 -1
  6. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/scm_file_list.json +25 -25
  7. solidipes_solid_mech_plugin-0.0.15/solidipes_solid_mech_plugin.egg-info/scm_version.json +8 -0
  8. solidipes_solid_mech_plugin-0.0.15/tests/test_pyvista_plotter.py +59 -0
  9. solidipes_solid_mech_plugin-0.0.14/solidipes_solid_mech_plugin/config.py +0 -5
  10. solidipes_solid_mech_plugin-0.0.14/solidipes_solid_mech_plugin.egg-info/scm_version.json +0 -8
  11. solidipes_solid_mech_plugin-0.0.14/tests/test_pyvista_plotter.py +0 -29
  12. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/.flake8 +0 -0
  13. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/.gitignore +0 -0
  14. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/.gitlab-ci.yml +0 -0
  15. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/.pre-commit-config.yaml +0 -0
  16. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/CHANGELOG.md +0 -0
  17. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/LICENSE +0 -0
  18. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/README.md +0 -0
  19. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/setup.cfg +0 -0
  20. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/__init__.py +0 -0
  21. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/__init__.py +0 -0
  22. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/abaqus.py +0 -0
  23. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/abaqus_python_code.py +0 -0
  24. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/geo_msh.py +0 -0
  25. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/geof_mesh.py +0 -0
  26. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/meshio.py +0 -0
  27. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/parse_inp.py +0 -0
  28. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/pyvista_mesh.py +0 -0
  29. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/xdmf.py +0 -0
  30. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.py +0 -0
  31. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/viewers/__init__.py +0 -0
  32. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/viewers/pyvista_plotter.py +0 -0
  33. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/viewers/xdmf.py +0 -0
  34. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/SOURCES.txt +0 -0
  35. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/dependency_links.txt +0 -0
  36. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/entry_points.txt +0 -0
  37. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/top_level.txt +0 -0
  38. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/generate_assets.py +0 -0
  39. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/pyvista_mesh.vtu +0 -0
  40. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/pyvista_mesh_no_fields.vtu +0 -0
  41. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/pyvista_plot.png +0 -0
  42. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/test_mesh_loaded.png +0 -0
  43. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/xdmf_mesh.h5 +0 -0
  44. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/xdmf_mesh.xdmf +0 -0
  45. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/conftest.py +0 -0
  46. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/helpers/utils.py +0 -0
  47. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/test_load_modules.py +0 -0
  48. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/test_ontologies.py +0 -0
  49. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/test_pyvista_mesh.py +0 -0
  50. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/test_streamlit_pyvista.py +0 -0
  51. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/tests/test_xdmf_mesh.py +0 -0
  52. {solidipes_solid_mech_plugin-0.0.14 → solidipes_solid_mech_plugin-0.0.15}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: solidipes-solid-mech-plugin
3
- Version: 0.0.14
3
+ Version: 0.0.15
4
4
  Summary: Plugin for Solidipes with solid mechanics components
5
5
  Author-email: Son Pham-Ba <son.phamba@epfl.ch>, Guillaume Anciaux <guillaume.anciaux@epfl.ch>
6
6
  License: GPL-3.0-or-later
@@ -13,7 +13,7 @@ Requires-Dist: mergedeep~=1.3.4
13
13
  Requires-Dist: meshio[all]~=5.3.5
14
14
  Requires-Dist: streamlit~=1.45.0
15
15
  Requires-Dist: trame~=3.5.2
16
- Requires-Dist: streamlit-pyvista==0.0.20rc0
16
+ Requires-Dist: streamlit-pyvista==0.0.21
17
17
  Requires-Dist: h5py~=3.13.0
18
18
  Provides-Extra: dev
19
19
  Requires-Dist: pillow~=10.4.0; extra == "dev"
@@ -17,7 +17,7 @@ dependencies = [
17
17
  "meshio[all]~=5.3.5",
18
18
  "streamlit~=1.45.0",
19
19
  "trame~=3.5.2",
20
- "streamlit-pyvista==0.0.20rc0",
20
+ "streamlit-pyvista==0.0.21",
21
21
  "h5py~=3.13.0",
22
22
  ]
23
23
 
@@ -0,0 +1,8 @@
1
+ import os
2
+
3
+ from solidipes.utils import config
4
+ from solidipes.utils.utils import get_read_write_dir
5
+
6
+ streamlit_pyvista_cache_dir_name = get_read_write_dir(
7
+ os.path.join(config.solidipes_dirname, ".streamlit-pyvista-cache")
8
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: solidipes-solid-mech-plugin
3
- Version: 0.0.14
3
+ Version: 0.0.15
4
4
  Summary: Plugin for Solidipes with solid mechanics components
5
5
  Author-email: Son Pham-Ba <son.phamba@epfl.ch>, Guillaume Anciaux <guillaume.anciaux@epfl.ch>
6
6
  License: GPL-3.0-or-later
@@ -13,7 +13,7 @@ Requires-Dist: mergedeep~=1.3.4
13
13
  Requires-Dist: meshio[all]~=5.3.5
14
14
  Requires-Dist: streamlit~=1.45.0
15
15
  Requires-Dist: trame~=3.5.2
16
- Requires-Dist: streamlit-pyvista==0.0.20rc0
16
+ Requires-Dist: streamlit-pyvista==0.0.21
17
17
  Requires-Dist: h5py~=3.13.0
18
18
  Provides-Extra: dev
19
19
  Requires-Dist: pillow~=10.4.0; extra == "dev"
@@ -4,7 +4,7 @@ mergedeep~=1.3.4
4
4
  meshio[all]~=5.3.5
5
5
  streamlit~=1.45.0
6
6
  trame~=3.5.2
7
- streamlit-pyvista==0.0.20rc0
7
+ streamlit-pyvista==0.0.21
8
8
  h5py~=3.13.0
9
9
 
10
10
  [dev]
@@ -1,43 +1,43 @@
1
1
  {
2
2
  "files": [
3
+ ".flake8",
3
4
  ".gitignore",
4
5
  ".gitlab-ci.yml",
5
6
  ".pre-commit-config.yaml",
6
7
  "CHANGELOG.md",
7
- ".flake8",
8
+ "LICENSE",
8
9
  "README.md",
9
- "uv.lock",
10
10
  "pyproject.toml",
11
- "LICENSE",
12
- "tests/test_pyvista_mesh.py",
13
- "tests/conftest.py",
14
- "tests/test_ontologies.py",
15
- "tests/test_load_modules.py",
16
- "tests/test_streamlit_pyvista.py",
17
- "tests/test_pyvista_plotter.py",
18
- "tests/test_xdmf_mesh.py",
19
- "tests/helpers/utils.py",
20
- "tests/assets/xdmf_mesh.h5",
21
- "tests/assets/test_mesh_loaded.png",
22
- "tests/assets/pyvista_mesh.vtu",
23
- "tests/assets/generate_assets.py",
24
- "tests/assets/pyvista_plot.png",
25
- "tests/assets/pyvista_mesh_no_fields.vtu",
26
- "tests/assets/xdmf_mesh.xdmf",
27
11
  "solidipes_solid_mech_plugin/__init__.py",
28
12
  "solidipes_solid_mech_plugin/config.py",
29
- "solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.py",
30
- "solidipes_solid_mech_plugin/loaders/parse_inp.py",
13
+ "solidipes_solid_mech_plugin/loaders/__init__.py",
31
14
  "solidipes_solid_mech_plugin/loaders/abaqus.py",
15
+ "solidipes_solid_mech_plugin/loaders/abaqus_python_code.py",
32
16
  "solidipes_solid_mech_plugin/loaders/geo_msh.py",
33
- "solidipes_solid_mech_plugin/loaders/pyvista_mesh.py",
34
- "solidipes_solid_mech_plugin/loaders/__init__.py",
35
17
  "solidipes_solid_mech_plugin/loaders/geof_mesh.py",
36
- "solidipes_solid_mech_plugin/loaders/xdmf.py",
37
18
  "solidipes_solid_mech_plugin/loaders/meshio.py",
38
- "solidipes_solid_mech_plugin/loaders/abaqus_python_code.py",
19
+ "solidipes_solid_mech_plugin/loaders/parse_inp.py",
20
+ "solidipes_solid_mech_plugin/loaders/pyvista_mesh.py",
21
+ "solidipes_solid_mech_plugin/loaders/xdmf.py",
22
+ "solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.py",
39
23
  "solidipes_solid_mech_plugin/viewers/__init__.py",
24
+ "solidipes_solid_mech_plugin/viewers/pyvista_plotter.py",
40
25
  "solidipes_solid_mech_plugin/viewers/xdmf.py",
41
- "solidipes_solid_mech_plugin/viewers/pyvista_plotter.py"
26
+ "tests/assets/generate_assets.py",
27
+ "tests/assets/pyvista_mesh.vtu",
28
+ "tests/assets/pyvista_mesh_no_fields.vtu",
29
+ "tests/assets/pyvista_plot.png",
30
+ "tests/assets/test_mesh_loaded.png",
31
+ "tests/assets/xdmf_mesh.h5",
32
+ "tests/assets/xdmf_mesh.xdmf",
33
+ "tests/conftest.py",
34
+ "tests/helpers/utils.py",
35
+ "tests/test_load_modules.py",
36
+ "tests/test_ontologies.py",
37
+ "tests/test_pyvista_mesh.py",
38
+ "tests/test_pyvista_plotter.py",
39
+ "tests/test_streamlit_pyvista.py",
40
+ "tests/test_xdmf_mesh.py",
41
+ "uv.lock"
42
42
  ]
43
43
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.0.15",
3
+ "distance": 0,
4
+ "node": "ga12975d0d2f87c7ff3ca90a7e0ee41139cb9148c",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-14"
8
+ }
@@ -0,0 +1,59 @@
1
+ import solidipes as sp
2
+ import utils
3
+ from PIL import Image
4
+ from pixelmatch.contrib.PIL import pixelmatch
5
+
6
+ image_name = "pyvista_plot.png"
7
+ image_size = (1024, 768)
8
+
9
+
10
+ def start_xvfb(wait=3, window_size=None):
11
+ """Start the virtual framebuffer Xvfb.
12
+
13
+ Parameters
14
+ ----------
15
+ wait : float, optional
16
+ Time to wait for the virtual framebuffer to start. Set to 0
17
+ to disable wait.
18
+
19
+ window_size : list, optional
20
+ Window size of the virtual frame buffer. Defaults to ``[1024, 768]``.
21
+ """
22
+ import os
23
+ import time
24
+
25
+ if os.name != "posix":
26
+ raise OSError("`start_xvfb` is only supported on Linux")
27
+
28
+ if os.system("which Xvfb > /dev/null"):
29
+ raise OSError("Xvfb is not installed. Install it with: apt-get install xvfb libgl1-mesa-glx")
30
+
31
+ if window_size is None:
32
+ window_size = [1024, 768]
33
+ window_size_parm = f"{window_size[0]:d}x{window_size[1]:d}x24"
34
+ display_num = ":99"
35
+ os.system(f"Xvfb {display_num} -screen 0 {window_size_parm} > /dev/null 2>&1 &")
36
+ os.environ["DISPLAY"] = display_num
37
+ if wait:
38
+ time.sleep(wait)
39
+
40
+
41
+ def test_plotter(study_dir):
42
+ pyvista_file = sp.load_file(utils.get_asset_path("pyvista_mesh.vtu"))
43
+ test_image_path = study_dir / image_name
44
+ reference_image_path = utils.get_asset_path(image_name)
45
+
46
+ # Start virtual frame buffer, otherwise segfault
47
+ start_xvfb()
48
+
49
+ # Create a plotter and save the image
50
+ plotter = sp.viewer.PyvistaPlotter(off_screen=True)
51
+ plotter.add_mesh(pyvista_file)
52
+ plotter.show() # Not shown because off_screen=True
53
+ plotter.save(test_image_path)
54
+
55
+ test_image = Image.open(test_image_path)
56
+ reference_image = Image.open(reference_image_path)
57
+ diff = Image.new("RGB", image_size)
58
+ mismatch = pixelmatch(test_image, reference_image, diff)
59
+ assert mismatch == 0
@@ -1,5 +0,0 @@
1
- import os
2
-
3
- from solidipes.utils import config
4
-
5
- streamlit_pyvista_cache_dir_name = os.path.join(config.solidipes_dirname, ".streamlit-pyvista-cache")
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "0.0.14",
3
- "distance": 0,
4
- "node": "g4aaaaddd25e776aa0f6e5b366083dd26b7da5c7d",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-05-21"
8
- }
@@ -1,29 +0,0 @@
1
- import pyvista as pv
2
- import solidipes as sp
3
- import utils
4
- from PIL import Image
5
- from pixelmatch.contrib.PIL import pixelmatch
6
-
7
- image_name = "pyvista_plot.png"
8
- image_size = (1024, 768)
9
-
10
-
11
- def test_plotter(study_dir):
12
- pyvista_file = sp.load_file(utils.get_asset_path("pyvista_mesh.vtu"))
13
- test_image_path = study_dir / image_name
14
- reference_image_path = utils.get_asset_path(image_name)
15
-
16
- # Start virtual frame buffer, otherwise segfault
17
- pv.start_xvfb()
18
-
19
- # Create a plotter and save the image
20
- plotter = sp.viewer.PyvistaPlotter(off_screen=True)
21
- plotter.add_mesh(pyvista_file)
22
- plotter.show() # Not shown because off_screen=True
23
- plotter.save(test_image_path)
24
-
25
- test_image = Image.open(test_image_path)
26
- reference_image = Image.open(reference_image_path)
27
- diff = Image.new("RGB", image_size)
28
- mismatch = pixelmatch(test_image, reference_image, diff)
29
- assert mismatch == 0