solidipes-solid-mech-plugin 0.0.13__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.13 → solidipes_solid_mech_plugin-0.0.15}/PKG-INFO +2 -2
  2. {solidipes_solid_mech_plugin-0.0.13 → 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.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.py +1 -5
  5. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/PKG-INFO +2 -2
  6. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/SOURCES.txt +2 -1
  7. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin.egg-info/requires.txt +1 -1
  8. solidipes_solid_mech_plugin-0.0.15/solidipes_solid_mech_plugin.egg-info/scm_file_list.json +43 -0
  9. solidipes_solid_mech_plugin-0.0.15/solidipes_solid_mech_plugin.egg-info/scm_version.json +8 -0
  10. solidipes_solid_mech_plugin-0.0.15/tests/test_pyvista_plotter.py +59 -0
  11. solidipes_solid_mech_plugin-0.0.13/solidipes_solid_mech_plugin/config.py +0 -5
  12. solidipes_solid_mech_plugin-0.0.13/solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.yaml +0 -18
  13. solidipes_solid_mech_plugin-0.0.13/tests/test_pyvista_plotter.py +0 -29
  14. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/.flake8 +0 -0
  15. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/.gitignore +0 -0
  16. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/.gitlab-ci.yml +0 -0
  17. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/.pre-commit-config.yaml +0 -0
  18. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/CHANGELOG.md +0 -0
  19. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/LICENSE +0 -0
  20. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/README.md +0 -0
  21. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/setup.cfg +0 -0
  22. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/__init__.py +0 -0
  23. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/__init__.py +0 -0
  24. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/abaqus.py +0 -0
  25. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/abaqus_python_code.py +0 -0
  26. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/geo_msh.py +0 -0
  27. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/geof_mesh.py +0 -0
  28. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/meshio.py +0 -0
  29. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/parse_inp.py +0 -0
  30. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/pyvista_mesh.py +0 -0
  31. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/loaders/xdmf.py +0 -0
  32. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/viewers/__init__.py +0 -0
  33. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/viewers/pyvista_plotter.py +0 -0
  34. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/solidipes_solid_mech_plugin/viewers/xdmf.py +0 -0
  35. {solidipes_solid_mech_plugin-0.0.13 → 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.13 → 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.13 → 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.13 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/generate_assets.py +0 -0
  39. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/pyvista_mesh.vtu +0 -0
  40. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/pyvista_mesh_no_fields.vtu +0 -0
  41. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/pyvista_plot.png +0 -0
  42. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/test_mesh_loaded.png +0 -0
  43. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/xdmf_mesh.h5 +0 -0
  44. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/assets/xdmf_mesh.xdmf +0 -0
  45. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/conftest.py +0 -0
  46. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/helpers/utils.py +0 -0
  47. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/test_load_modules.py +0 -0
  48. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/test_ontologies.py +0 -0
  49. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/test_pyvista_mesh.py +0 -0
  50. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/test_streamlit_pyvista.py +0 -0
  51. {solidipes_solid_mech_plugin-0.0.13 → solidipes_solid_mech_plugin-0.0.15}/tests/test_xdmf_mesh.py +0 -0
  52. {solidipes_solid_mech_plugin-0.0.13 → 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.13
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,5 @@
1
1
  from pydantic import Field, model_validator
2
2
  from solidipes.ontologies.solidipes import File, build_ontology_model
3
- from solidipes.ontologies.solidipes import entity_classes as base_entity_classes
4
3
  from solidipes.utils.utils import string_to_regex_pattern as regexify
5
4
 
6
5
 
@@ -41,7 +40,4 @@ custom_entity_classes = [
41
40
  OutputMesh,
42
41
  ]
43
42
 
44
- entity_classes = custom_entity_classes + base_entity_classes
45
-
46
-
47
- ROCrateMetadata = build_ontology_model(entity_classes)
43
+ ROCrateMetadata = build_ontology_model(custom_entity_classes)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: solidipes-solid-mech-plugin
3
- Version: 0.0.13
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"
@@ -14,6 +14,8 @@ solidipes_solid_mech_plugin.egg-info/SOURCES.txt
14
14
  solidipes_solid_mech_plugin.egg-info/dependency_links.txt
15
15
  solidipes_solid_mech_plugin.egg-info/entry_points.txt
16
16
  solidipes_solid_mech_plugin.egg-info/requires.txt
17
+ solidipes_solid_mech_plugin.egg-info/scm_file_list.json
18
+ solidipes_solid_mech_plugin.egg-info/scm_version.json
17
19
  solidipes_solid_mech_plugin.egg-info/top_level.txt
18
20
  solidipes_solid_mech_plugin/loaders/__init__.py
19
21
  solidipes_solid_mech_plugin/loaders/abaqus.py
@@ -25,7 +27,6 @@ solidipes_solid_mech_plugin/loaders/parse_inp.py
25
27
  solidipes_solid_mech_plugin/loaders/pyvista_mesh.py
26
28
  solidipes_solid_mech_plugin/loaders/xdmf.py
27
29
  solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.py
28
- solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.yaml
29
30
  solidipes_solid_mech_plugin/viewers/__init__.py
30
31
  solidipes_solid_mech_plugin/viewers/pyvista_plotter.py
31
32
  solidipes_solid_mech_plugin/viewers/xdmf.py
@@ -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]
@@ -0,0 +1,43 @@
1
+ {
2
+ "files": [
3
+ ".flake8",
4
+ ".gitignore",
5
+ ".gitlab-ci.yml",
6
+ ".pre-commit-config.yaml",
7
+ "CHANGELOG.md",
8
+ "LICENSE",
9
+ "README.md",
10
+ "pyproject.toml",
11
+ "solidipes_solid_mech_plugin/__init__.py",
12
+ "solidipes_solid_mech_plugin/config.py",
13
+ "solidipes_solid_mech_plugin/loaders/__init__.py",
14
+ "solidipes_solid_mech_plugin/loaders/abaqus.py",
15
+ "solidipes_solid_mech_plugin/loaders/abaqus_python_code.py",
16
+ "solidipes_solid_mech_plugin/loaders/geo_msh.py",
17
+ "solidipes_solid_mech_plugin/loaders/geof_mesh.py",
18
+ "solidipes_solid_mech_plugin/loaders/meshio.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",
23
+ "solidipes_solid_mech_plugin/viewers/__init__.py",
24
+ "solidipes_solid_mech_plugin/viewers/pyvista_plotter.py",
25
+ "solidipes_solid_mech_plugin/viewers/xdmf.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
+ ]
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,18 +0,0 @@
1
- id: https://gitlab.com/solidipes/solidipes-solid-mech-plugin/-/raw/main/solidipes_solid_mech_plugin/ontologies/solidipes_solid_mech.yaml
2
- name: solidipes_solid_mech
3
- prefixes:
4
- solidipes: https://gitlab.com/solidipes/solidipes/-/raw/ontology-validation/solidipes/ontologies/
5
- imports:
6
- - solidipes:solidipes
7
- default_range: string
8
-
9
- classes:
10
- MeshFile:
11
- is_a: File
12
- attributes:
13
- has_displacement_field:
14
- range: bool
15
- recommended: true
16
- ontology_class:
17
- pattern: "^solidipes_solid_mech_plugin.loaders.pyvista_mesh.PyvistaMesh$"
18
- required: true
@@ -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