ansys-speos-core 0.3.0__tar.gz → 0.5.0__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 (46) hide show
  1. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/PKG-INFO +21 -12
  2. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/pyproject.toml +35 -12
  3. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/__init__.py +2 -1
  4. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/body.py +9 -0
  5. ansys_speos_core-0.5.0/src/ansys/speos/core/bsdf.py +1131 -0
  6. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/face.py +10 -0
  7. ansys_speos_core-0.5.0/src/ansys/speos/core/generic/constants.py +40 -0
  8. ansys_speos_core-0.5.0/src/ansys/speos/core/generic/general_methods.py +232 -0
  9. ansys_speos_core-0.5.0/src/ansys/speos/core/generic/visualization_methods.py +289 -0
  10. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/client.py +76 -35
  11. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/launcher.py +91 -2
  12. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/logger.py +1 -1
  13. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/lxp.py +35 -14
  14. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/opt_prop.py +18 -3
  15. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/part.py +9 -0
  16. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/project.py +88 -13
  17. ansys_speos_core-0.5.0/src/ansys/speos/core/py.typed +0 -0
  18. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/sensor.py +237 -6
  19. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/source.py +24 -6
  20. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/speos.py +36 -6
  21. ansys_speos_core-0.3.0/src/ansys/speos/core/generic/general_methods.py +0 -64
  22. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/LICENSE +0 -0
  23. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/README.rst +0 -0
  24. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/geo_ref.py +0 -0
  25. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/intensity.py +0 -0
  26. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/__init__.py +0 -0
  27. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/body.py +0 -0
  28. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/crud.py +0 -0
  29. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/face.py +0 -0
  30. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/intensity_template.py +0 -0
  31. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/job.py +0 -0
  32. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/part.py +0 -0
  33. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/proto_message_utils.py +0 -0
  34. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/scene.py +0 -0
  35. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/sensor_template.py +0 -0
  36. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/simulation_template.py +0 -0
  37. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/sop_template.py +0 -0
  38. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/source_template.py +0 -0
  39. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/spectrum.py +0 -0
  40. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/kernel/vop_template.py +0 -0
  41. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/proto_message_utils.py +0 -0
  42. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/simulation.py +0 -0
  43. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/spectrum.py +0 -0
  44. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/workflow/__init__.py +0 -0
  45. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/workflow/combine_speos.py +0 -0
  46. {ansys_speos_core-0.3.0 → ansys_speos_core-0.5.0}/src/ansys/speos/core/workflow/open_result.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: ansys-speos-core
3
- Version: 0.3.0
3
+ Version: 0.5.0
4
4
  Summary: A Python wrapper for Ansys Speos
5
5
  Author-email: "ANSYS, Inc." <pyansys.core@ansys.com>
6
6
  Maintainer-email: "ANSYS, Inc." <pyansys.core@ansys.com>
@@ -19,14 +19,15 @@ Classifier: Programming Language :: Python :: 3.13
19
19
  Classifier: Topic :: Software Development :: Libraries
20
20
  Classifier: Topic :: Scientific/Engineering :: Physics
21
21
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
22
- Requires-Dist: protobuf>=3.20,<6
22
+ License-File: LICENSE
23
+ Requires-Dist: protobuf>=3.20,<7
23
24
  Requires-Dist: grpcio>=1.50.0,<1.71
24
25
  Requires-Dist: grpcio-health-checking>=1.45.0,<1.68
25
26
  Requires-Dist: ansys-api-speos==0.14.2
27
+ Requires-Dist: ansys-tools-path>=0.3.1
26
28
  Requires-Dist: numpy>=1.20.3,<3
27
- Requires-Dist: pyvista>=0.40.0,<0.45
28
29
  Requires-Dist: comtypes>=1.4,<1.5
29
- Requires-Dist: ansys-sphinx-theme==1.3.3 ; extra == "doc"
30
+ Requires-Dist: ansys-sphinx-theme==1.4.4 ; extra == "doc"
30
31
  Requires-Dist: numpydoc==1.8.0 ; extra == "doc"
31
32
  Requires-Dist: Sphinx==8.1.3 ; extra == "doc"
32
33
  Requires-Dist: sphinx-copybutton==0.5.2 ; extra == "doc"
@@ -36,19 +37,26 @@ Requires-Dist: sphinx-jinja==2.0.2 ; extra == "doc"
36
37
  Requires-Dist: sphinxcontrib-mermaid==1.0.0 ; extra == "doc"
37
38
  Requires-Dist: myst-parser==4.0.1 ; extra == "doc"
38
39
  Requires-Dist: nbsphinx==0.9.7 ; extra == "doc"
39
- Requires-Dist: jupytext==1.16.7 ; extra == "doc"
40
- Requires-Dist: jupyterlab==4.3.6 ; extra == "doc"
41
- Requires-Dist: jupyter-server==2.15.0 ; extra == "doc"
40
+ Requires-Dist: jupytext==1.17.1 ; extra == "doc"
41
+ Requires-Dist: jupyterlab==4.4.2 ; extra == "doc"
42
+ Requires-Dist: jupyter-server==2.16.0 ; extra == "doc"
42
43
  Requires-Dist: nbconvert==7.16.6 ; extra == "doc"
43
- Requires-Dist: pyvista[jupyter]>=0.43,<0.45 ; extra == "doc"
44
+ Requires-Dist: pyvista[jupyter]>=0.43,<0.46 ; extra == "doc"
45
+ Requires-Dist: ansys-tools-visualization-interface>=0.8.3 ; extra == "doc"
46
+ Requires-Dist: pyvista>=0.40.0,<0.46 ; extra == "graphics"
47
+ Requires-Dist: ansys-tools-visualization-interface>=0.8.3 ; extra == "graphics"
44
48
  Requires-Dist: matplotlib ; extra == "jupyter"
45
49
  Requires-Dist: jupyterlab>=3 ; extra == "jupyter"
46
50
  Requires-Dist: ipywidgets ; extra == "jupyter"
47
- Requires-Dist: pyvista[jupyter]>=0.43,<0.45 ; extra == "jupyter"
48
- Requires-Dist: notebook==7.3.3 ; extra == "jupyter"
51
+ Requires-Dist: pyvista[jupyter]>=0.43,<0.46 ; extra == "jupyter"
52
+ Requires-Dist: ansys-tools-visualization-interface>=0.8.3 ; extra == "jupyter"
53
+ Requires-Dist: notebook==7.4.2 ; extra == "jupyter"
54
+ Requires-Dist: psutil==7.0.0 ; extra == "tests"
49
55
  Requires-Dist: pytest==8.3.5 ; extra == "tests"
56
+ Requires-Dist: pyvista>=0.40.0,<0.46 ; extra == "tests"
57
+ Requires-Dist: ansys-tools-visualization-interface>=0.8.3 ; extra == "tests"
50
58
  Requires-Dist: ansys-platform-instancemanagement>=1.0.3 ; extra == "tests"
51
- Requires-Dist: pytest-cov==6.0.0 ; extra == "tests"
59
+ Requires-Dist: pytest-cov==6.1.1 ; extra == "tests"
52
60
  Project-URL: Changelog, https://github.com/ansys/pyspeos/blob/main/doc/source/changelog.rst
53
61
  Project-URL: Discussions, https://github.com/ansys/pyspeos/discussions
54
62
  Project-URL: Documentation, https://speos.docs.pyansys.com/
@@ -56,6 +64,7 @@ Project-URL: Issues, https://github.com/ansys/pyspeos/issues
56
64
  Project-URL: Releases, https://github.com/ansys/pyspeos/releases
57
65
  Project-URL: Source, https://github.com/ansys/pyspeos
58
66
  Provides-Extra: doc
67
+ Provides-Extra: graphics
59
68
  Provides-Extra: jupyter
60
69
  Provides-Extra: tests
61
70
 
@@ -1,10 +1,10 @@
1
1
  [build-system]
2
- requires = ["flit_core >=3.2,<3.11"] # THIS SHOULD BE REVERTED TO '["flit_core >=3.2,<4"]'
2
+ requires = ["flit_core >=3.2,<4"]
3
3
  build-backend = "flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name = "ansys-speos-core"
7
- version = "0.3.0"
7
+ version = "0.5.0"
8
8
  description = "A Python wrapper for Ansys Speos"
9
9
  readme = "README.rst"
10
10
  requires-python = ">=3.10"
@@ -27,30 +27,38 @@ classifiers=[
27
27
  "Topic :: Scientific/Engineering :: Information Analysis",
28
28
  ]
29
29
  dependencies=[
30
- "protobuf>=3.20,<6",
30
+ "protobuf>=3.20,<7",
31
31
  "grpcio>=1.50.0,<1.71",
32
32
  "grpcio-health-checking>=1.45.0,<1.68",
33
33
  "ansys-api-speos==0.14.2",
34
+ "ansys-tools-path>=0.3.1",
34
35
  "numpy>=1.20.3,<3",
35
- "pyvista>=0.40.0,<0.45",
36
36
  "comtypes>=1.4,<1.5",
37
37
  ]
38
38
 
39
39
  [project.optional-dependencies]
40
+ graphics = [
41
+ "pyvista>=0.40.0,<0.46",
42
+ "ansys-tools-visualization-interface>=0.8.3",
43
+ ]
40
44
  tests = [
45
+ "psutil==7.0.0",
41
46
  "pytest==8.3.5",
47
+ "pyvista>=0.40.0,<0.46",
48
+ "ansys-tools-visualization-interface>=0.8.3",
42
49
  "ansys-platform-instancemanagement>=1.0.3",
43
- "pytest-cov==6.0.0",
50
+ "pytest-cov==6.1.1",
44
51
  ]
45
52
  jupyter = [
46
53
  "matplotlib",
47
54
  "jupyterlab>=3",
48
55
  "ipywidgets",
49
- "pyvista[jupyter]>=0.43,<0.45",
50
- "notebook==7.3.3",
56
+ "pyvista[jupyter]>=0.43,<0.46",
57
+ "ansys-tools-visualization-interface>=0.8.3",
58
+ "notebook==7.4.2",
51
59
  ]
52
60
  doc = [
53
- "ansys-sphinx-theme==1.3.3",
61
+ "ansys-sphinx-theme==1.4.4",
54
62
  "numpydoc==1.8.0",
55
63
  "Sphinx==8.1.3",
56
64
  "sphinx-copybutton==0.5.2",
@@ -60,11 +68,12 @@ doc = [
60
68
  "sphinxcontrib-mermaid==1.0.0",
61
69
  "myst-parser==4.0.1",
62
70
  "nbsphinx==0.9.7",
63
- "jupytext==1.16.7",
64
- "jupyterlab==4.3.6",
65
- "jupyter-server==2.15.0",
71
+ "jupytext==1.17.1",
72
+ "jupyterlab==4.4.2",
73
+ "jupyter-server==2.16.0",
66
74
  "nbconvert==7.16.6",
67
- "pyvista[jupyter]>=0.43,<0.45",
75
+ "pyvista[jupyter]>=0.43,<0.46",
76
+ "ansys-tools-visualization-interface>=0.8.3",
68
77
  ]
69
78
 
70
79
  [project.urls]
@@ -78,6 +87,9 @@ Changelog = "https://github.com/ansys/pyspeos/blob/main/doc/source/changelog.rst
78
87
  [tool.flit.module]
79
88
  name = "ansys.speos.core"
80
89
 
90
+ [tool.flit.sdist]
91
+ include = ["ansys/speos/core/py.typed"]
92
+
81
93
  [tool.ruff]
82
94
  line-length = 100
83
95
  fix = true
@@ -136,6 +148,17 @@ minversion = "7.1"
136
148
  addopts = "-vvv --color=yes -ra --durations=25 --cov=ansys.speos --cov-report html:.cov/html --cov-report xml:.cov/xml --cov-report term"
137
149
  testpaths = ["tests"]
138
150
 
151
+ [tool.mypy]
152
+ python_version = "3.10"
153
+ disable_error_code = "type-abstract"
154
+ show_error_context = true
155
+ pretty = true
156
+
157
+ [[tool.mypy.overrides]]
158
+ module = [
159
+ "ansys.tools.visualization_interface",
160
+ ]
161
+
139
162
  [tool.towncrier]
140
163
  package = "ansys.speos.core"
141
164
  directory = "doc/changelog.d"
@@ -28,13 +28,14 @@ It gathers functionaties and tools of these APIs.
28
28
  try:
29
29
  import importlib.metadata as importlib_metadata
30
30
  except ModuleNotFoundError: # pragma: no cover
31
- import importlib_metadata
31
+ import importlib_metadata # type: ignore[no-redef]
32
32
 
33
33
  # Version
34
34
  __version__ = importlib_metadata.version("ansys-speos-core")
35
35
 
36
36
 
37
37
  from ansys.speos.core.body import Body
38
+ import ansys.speos.core.bsdf as bsdf
38
39
  from ansys.speos.core.face import Face
39
40
  from ansys.speos.core.geo_ref import GeoRef
40
41
  from ansys.speos.core.intensity import Intensity
@@ -29,6 +29,7 @@ from typing import List, Mapping, Optional, Union
29
29
 
30
30
  from ansys.speos.core import proto_message_utils
31
31
  import ansys.speos.core.face as face
32
+ from ansys.speos.core.geo_ref import GeoRef
32
33
  from ansys.speos.core.kernel.body import ProtoBody
33
34
  from ansys.speos.core.kernel.client import SpeosClient
34
35
  import ansys.speos.core.part as part
@@ -81,6 +82,14 @@ class Body:
81
82
 
82
83
  self._geom_features = []
83
84
 
85
+ @property
86
+ def geo_path(self) -> GeoRef:
87
+ """Geometry path to be used within other speos objects."""
88
+ geo_paths = [self._name]
89
+ if isinstance(self._parent_part, part.Part.SubPart):
90
+ geo_paths.insert(0, self._parent_part.geo_path.metadata["GeoPath"])
91
+ return GeoRef.from_native_link("/".join(geo_paths))
92
+
84
93
  def create_face(
85
94
  self,
86
95
  name: str,