PySimultan 0.2.3__tar.gz → 0.2.5__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pysimultan-0.2.3 → pysimultan-0.2.5}/LICENSE.txt +17 -17
- {pysimultan-0.2.3 → pysimultan-0.2.5}/MANIFEST.in +9 -9
- {pysimultan-0.2.3/src/PySimultan.egg-info → pysimultan-0.2.5}/PKG-INFO +9 -1
- {pysimultan-0.2.3 → pysimultan-0.2.5}/README.md +5 -5
- {pysimultan-0.2.3 → pysimultan-0.2.5}/pyproject.toml +4 -1
- {pysimultan-0.2.3 → pysimultan-0.2.5}/requirements.txt +14 -14
- {pysimultan-0.2.3 → pysimultan-0.2.5}/setup.py +1 -1
- {pysimultan-0.2.3 → pysimultan-0.2.5/src/PySimultan.egg-info}/PKG-INFO +9 -1
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan.egg-info/SOURCES.txt +1 -0
- pysimultan-0.2.5/src/PySimultan.egg-info/requires.txt +8 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan.egg-info/top_level.txt +1 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/data_model.py +19 -15
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/object_mapper.py +1 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/simultan_object.py +5 -2
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/utils.py +5 -2
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_calculate_steady_state_temperature.py +39 -17
- {pysimultan-0.2.3 → pysimultan-0.2.5}/setup.cfg +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan.egg-info/dependency_links.txt +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan.egg-info/not-zip-safe +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/config.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/default_types.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/files.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/geometry/geometry_base.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/GeometryViewer.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/GeometryViewer.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/GeometryViewer.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SitePlanner.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SitePlanner.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SitePlanner.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/taxonomy_maps.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_files.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_files_load.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_new_dll.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_register_class.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_set_dictionary.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_set_properties.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.5}/tests/test_ui.py +0 -0
@@ -1,17 +1,17 @@
|
|
1
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
2
|
-
of this software and associated documentation files (the "Software"), to
|
3
|
-
deal in the Software without restriction, including without limitation the
|
4
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
5
|
-
sell copies of the Software, and to permit persons to whom the Software is
|
6
|
-
furnished to do so, subject to the following conditions:
|
7
|
-
|
8
|
-
The above copyright notice and this permission notice shall be included in
|
9
|
-
all copies or substantial portions of the Software.
|
10
|
-
|
11
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
12
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
13
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
14
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
15
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
16
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
17
|
-
IN THE SOFTWARE.
|
1
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
2
|
+
of this software and associated documentation files (the "Software"), to
|
3
|
+
deal in the Software without restriction, including without limitation the
|
4
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
5
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
6
|
+
furnished to do so, subject to the following conditions:
|
7
|
+
|
8
|
+
The above copyright notice and this permission notice shall be included in
|
9
|
+
all copies or substantial portions of the Software.
|
10
|
+
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
12
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
13
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
14
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
15
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
16
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
17
|
+
IN THE SOFTWARE.
|
@@ -1,9 +1,9 @@
|
|
1
|
-
include README.rst
|
2
|
-
include LICENSE.txt
|
3
|
-
include requirements.txt
|
4
|
-
|
5
|
-
graft src/py_plot_tools/resources
|
6
|
-
graft src/py_plot_tools/basic_geometries/gui_adaptions/infos/generated
|
7
|
-
graft src/py_plot_tools/generated
|
8
|
-
recursive-exclude src/tests *
|
9
|
-
recursive-include src/resources *
|
1
|
+
include README.rst
|
2
|
+
include LICENSE.txt
|
3
|
+
include requirements.txt
|
4
|
+
|
5
|
+
graft src/py_plot_tools/resources
|
6
|
+
graft src/py_plot_tools/basic_geometries/gui_adaptions/infos/generated
|
7
|
+
graft src/py_plot_tools/generated
|
8
|
+
recursive-exclude src/tests *
|
9
|
+
recursive-include src/resources *
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.5
|
4
4
|
Home-page:
|
5
5
|
Author: Max Buehler
|
6
6
|
Author-email: Max Bühler <maximilian.buehler@tuwien.ac.at>
|
@@ -28,6 +28,14 @@ Classifier: Operating System :: OS Independent
|
|
28
28
|
Requires-Python: >=3.10
|
29
29
|
Description-Content-Type: text/markdown
|
30
30
|
License-File: LICENSE.txt
|
31
|
+
Requires-Dist: six
|
32
|
+
Requires-Dist: numpy
|
33
|
+
Requires-Dist: pythonnet
|
34
|
+
Requires-Dist: colorlog
|
35
|
+
Requires-Dist: ruamel.yaml
|
36
|
+
Requires-Dist: tqdm
|
37
|
+
Requires-Dist: pandas
|
38
|
+
Requires-Dist: pyarrow
|
31
39
|
|
32
40
|
===================================================
|
33
41
|
geometry_utils: Several tools to work with geometry
|
@@ -1,5 +1,5 @@
|
|
1
|
-
===================================================
|
2
|
-
geometry_utils: Several tools to work with geometry
|
3
|
-
===================================================
|
4
|
-
|
5
|
-
Python library with several tools to work with geometry
|
1
|
+
===================================================
|
2
|
+
geometry_utils: Several tools to work with geometry
|
3
|
+
===================================================
|
4
|
+
|
5
|
+
Python library with several tools to work with geometry
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "PySimultan"
|
3
|
-
version = "0.2.
|
3
|
+
version = "0.2.5"
|
4
4
|
authors = [
|
5
5
|
{name = "Max Bühler", email = "maximilian.buehler@tuwien.ac.at"}
|
6
6
|
]
|
@@ -12,6 +12,9 @@ classifiers = [
|
|
12
12
|
"Operating System :: OS Independent"
|
13
13
|
]
|
14
14
|
license = {file = "LICENSE.txt"}
|
15
|
+
dynamic = ["dependencies"]
|
16
|
+
[tool.setuptools.dynamic]
|
17
|
+
dependencies = {file = ["requirements.txt"]}
|
15
18
|
|
16
19
|
[build-system]
|
17
20
|
requires = ["setuptools", "wheel"]
|
@@ -1,14 +1,14 @@
|
|
1
|
-
#
|
2
|
-
# This file is autogenerated by pip-compile
|
3
|
-
# To update, run:
|
4
|
-
#
|
5
|
-
# pip-compile requirements.in
|
6
|
-
#
|
7
|
-
six
|
8
|
-
numpy
|
9
|
-
pythonnet
|
10
|
-
colorlog
|
11
|
-
ruamel.yaml
|
12
|
-
tqdm
|
13
|
-
pandas
|
14
|
-
pyarrow
|
1
|
+
#
|
2
|
+
# This file is autogenerated by pip-compile
|
3
|
+
# To update, run:
|
4
|
+
#
|
5
|
+
# pip-compile requirements.in
|
6
|
+
#
|
7
|
+
six
|
8
|
+
numpy
|
9
|
+
pythonnet
|
10
|
+
colorlog
|
11
|
+
ruamel.yaml
|
12
|
+
tqdm
|
13
|
+
pandas
|
14
|
+
pyarrow
|
@@ -8,7 +8,7 @@ project_dir = Path(__file__).parent
|
|
8
8
|
|
9
9
|
setuptools.setup(
|
10
10
|
name="PySimultan",
|
11
|
-
version="0.2.
|
11
|
+
version="0.2.5",
|
12
12
|
description="Integrate SIMULTAN into Python",
|
13
13
|
# Allow UTF-8 characters in README with encoding argument.
|
14
14
|
long_description=project_dir.joinpath("README.md").read_text(encoding="utf-8"),
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.5
|
4
4
|
Home-page:
|
5
5
|
Author: Max Buehler
|
6
6
|
Author-email: Max Bühler <maximilian.buehler@tuwien.ac.at>
|
@@ -28,6 +28,14 @@ Classifier: Operating System :: OS Independent
|
|
28
28
|
Requires-Python: >=3.10
|
29
29
|
Description-Content-Type: text/markdown
|
30
30
|
License-File: LICENSE.txt
|
31
|
+
Requires-Dist: six
|
32
|
+
Requires-Dist: numpy
|
33
|
+
Requires-Dist: pythonnet
|
34
|
+
Requires-Dist: colorlog
|
35
|
+
Requires-Dist: ruamel.yaml
|
36
|
+
Requires-Dist: tqdm
|
37
|
+
Requires-Dist: pandas
|
38
|
+
Requires-Dist: pyarrow
|
31
39
|
|
32
40
|
===================================================
|
33
41
|
geometry_utils: Several tools to work with geometry
|
@@ -9,6 +9,7 @@ src/PySimultan.egg-info/PKG-INFO
|
|
9
9
|
src/PySimultan.egg-info/SOURCES.txt
|
10
10
|
src/PySimultan.egg-info/dependency_links.txt
|
11
11
|
src/PySimultan.egg-info/not-zip-safe
|
12
|
+
src/PySimultan.egg-info/requires.txt
|
12
13
|
src/PySimultan.egg-info/top_level.txt
|
13
14
|
src/PySimultan2/__init__.py
|
14
15
|
src/PySimultan2/config.py
|
@@ -8,7 +8,7 @@ from weakref import WeakSet, WeakValueDictionary
|
|
8
8
|
from . import config
|
9
9
|
from .utils import *
|
10
10
|
from pathlib import PosixPath, WindowsPath
|
11
|
-
from typing import Union, Tuple
|
11
|
+
from typing import Union, Tuple, TYPE_CHECKING
|
12
12
|
|
13
13
|
|
14
14
|
# from SIMULTAN import Projects
|
@@ -17,7 +17,7 @@ from SIMULTAN.Projects import ExtendedProjectData
|
|
17
17
|
# noinspection PyUnresolvedReferences
|
18
18
|
from SIMULTAN import Utils
|
19
19
|
# noinspection PyUnresolvedReferences
|
20
|
-
from SIMULTAN.Data import Users
|
20
|
+
from SIMULTAN.Data import Users as SimultanUsers
|
21
21
|
# from SIMULTAN.Serializer import Projects
|
22
22
|
from SIMULTAN.Serializer.SimGeo import *
|
23
23
|
from SIMULTAN.Serializer.Projects import *
|
@@ -44,10 +44,14 @@ from System.Text import *
|
|
44
44
|
from .files import add_tag_to_resource
|
45
45
|
|
46
46
|
|
47
|
+
if TYPE_CHECKING:
|
48
|
+
from .object_mapper import PythonMapper
|
49
|
+
|
50
|
+
|
47
51
|
logger = getLogger('PySimultan')
|
48
52
|
|
49
53
|
|
50
|
-
class IAuthenticationServiceNew(
|
54
|
+
class IAuthenticationServiceNew(SimultanUsers.IAuthenticationService):
|
51
55
|
__namespace__ = "authenticate_namespace"
|
52
56
|
|
53
57
|
user_name = None
|
@@ -88,13 +92,13 @@ class DataModel:
|
|
88
92
|
|
89
93
|
passwordArray = Encoding.UTF8.GetBytes(password)
|
90
94
|
encryptionKey = RandomNumberGenerator.GetBytes(32)
|
91
|
-
encryptedEncryptionKey =
|
92
|
-
passwordHash =
|
93
|
-
initialUser =
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
95
|
+
encryptedEncryptionKey = SimultanUsers.SimUsersManager.EncryptEncryptionKey(encryptionKey, passwordArray)
|
96
|
+
passwordHash = SimultanUsers.SimUsersManager.HashPassword(passwordArray)
|
97
|
+
initialUser = SimultanUsers.SimUser(Guid.NewGuid(),
|
98
|
+
user_name,
|
99
|
+
passwordHash,
|
100
|
+
encryptedEncryptionKey,
|
101
|
+
SimultanUsers.SimUserRole.ADMINISTRATOR)
|
98
102
|
|
99
103
|
tempPath = Path.GetTempPath()
|
100
104
|
projectFile = FileInfo(project_path)
|
@@ -151,7 +155,7 @@ class DataModel:
|
|
151
155
|
self.i_aut_service.user_name = self.user_name
|
152
156
|
self.i_aut_service.password = self.password
|
153
157
|
|
154
|
-
self.service_provider.AddService[
|
158
|
+
self.service_provider.AddService[SimultanUsers.IAuthenticationService](self.i_aut_service())
|
155
159
|
|
156
160
|
# self.serv = GeometryViewerService([], self.service_provider)
|
157
161
|
# self.service_provider.AddService[IGeometryViewerService](self.serv)
|
@@ -249,13 +253,13 @@ class DataModel:
|
|
249
253
|
self._project_data_manager = value
|
250
254
|
|
251
255
|
@property
|
252
|
-
def user(self) ->
|
256
|
+
def user(self) -> SimultanUsers.SimUserRole:
|
253
257
|
if self._user is None:
|
254
|
-
self._user =
|
258
|
+
self._user = SimultanUsers.SimUserRole.ADMINISTRATOR
|
255
259
|
return self._user
|
256
260
|
|
257
261
|
@user.setter
|
258
|
-
def user(self, value:
|
262
|
+
def user(self, value: SimultanUsers.SimUserRole):
|
259
263
|
if value != self._user:
|
260
264
|
self.project_data_manager = None
|
261
265
|
self._project = None
|
@@ -279,7 +283,7 @@ class DataModel:
|
|
279
283
|
def project(self, value):
|
280
284
|
self._project = value
|
281
285
|
|
282
|
-
def get_typed_data(self, mapper, create_all=False) -> list[SimultanObject]:
|
286
|
+
def get_typed_data(self, mapper: 'PythonMapper', create_all=False) -> list[SimultanObject]:
|
283
287
|
"""
|
284
288
|
Return the typed data from the project
|
285
289
|
:param mapper:
|
@@ -66,6 +66,7 @@ class PythonMapper(object):
|
|
66
66
|
new_class_dict = {'__init__': new_init,
|
67
67
|
'__name__': cls.__name__,
|
68
68
|
'_taxonomy': taxonomy,
|
69
|
+
'_cls_instances': WeakSet(),
|
69
70
|
'_taxonomy_map': self.taxonomy_maps.get(taxonomy, None),
|
70
71
|
'_base': bases,
|
71
72
|
'_object_mapper': self}
|
@@ -102,6 +102,10 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
102
102
|
_cls_instances_dict_cache = None
|
103
103
|
__type_view__ = None # ui view cls
|
104
104
|
|
105
|
+
@classmethod
|
106
|
+
def get_instance_by_id(cls, id: SimId) -> 'SimultanObject':
|
107
|
+
return cls._cls_instances_dict.get(id, None)
|
108
|
+
|
105
109
|
@classproperty
|
106
110
|
def _cls_instances_dict(cls) -> dict[SimId, 'SimultanObject']:
|
107
111
|
return dict(zip([x.id for x in cls._cls_instances], [x for x in cls._cls_instances]))
|
@@ -109,7 +113,6 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
109
113
|
@classproperty
|
110
114
|
def cls_instances(cls) -> list['SimultanObject']:
|
111
115
|
try:
|
112
|
-
_ = cls._cls_instances
|
113
116
|
return list(cls._cls_instances)
|
114
117
|
except Exception as e:
|
115
118
|
logger.error(f'Error getting cls_instances: {e}')
|
@@ -123,7 +126,7 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
123
126
|
|
124
127
|
def __new__(cls, *args, **kwargs):
|
125
128
|
instance = super().__new__(cls)
|
126
|
-
if not
|
129
|
+
if "_cls_instances" not in cls.__dict__:
|
127
130
|
cls._cls_instances = WeakSet()
|
128
131
|
try:
|
129
132
|
cls._cls_instances.add(instance)
|
@@ -5,7 +5,7 @@ from enum import Enum
|
|
5
5
|
from functools import lru_cache
|
6
6
|
import numpy as np
|
7
7
|
import pandas as pd
|
8
|
-
from typing import List as TypeList, Union, Optional
|
8
|
+
from typing import List as TypeList, Union, Optional, Type
|
9
9
|
from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolParameter, SimDoubleParameter,
|
10
10
|
SimEnumParameter, SimIntegerParameter, SimStringParameter, ComponentMapping,
|
11
11
|
SimSlot, SimComponentVisibility, SimChildComponentEntry, SimDefaultSlots,
|
@@ -55,7 +55,7 @@ class CircularReferenceResolver(object):
|
|
55
55
|
circ_ref_resolver = CircularReferenceResolver()
|
56
56
|
|
57
57
|
|
58
|
-
def create_python_object(wrapped_obj: SimComponent, cls: SimultanObject, *args, **kwargs):
|
58
|
+
def create_python_object(wrapped_obj: SimComponent, cls: Type[SimultanObject], *args, **kwargs):
|
59
59
|
"""
|
60
60
|
Create a new mapped python object from a wrapped object
|
61
61
|
:param wrapped_obj: wrapped object to create the python object from
|
@@ -1143,6 +1143,7 @@ def set_property_to_value_field(value: Union[np.ndarray, pd.DataFrame],
|
|
1143
1143
|
data_model=component._data_model)
|
1144
1144
|
|
1145
1145
|
if parameter_idx is None:
|
1146
|
+
|
1146
1147
|
param = create_field_parameter(field_name=str(component.id) + '_' + prop_name,
|
1147
1148
|
value=value,
|
1148
1149
|
slot=taxonomy_entry,
|
@@ -1264,6 +1265,8 @@ def add_properties(prop_name: str,
|
|
1264
1265
|
SimStringParameter: set_property_to_parameter,
|
1265
1266
|
SimBoolParameter: set_property_to_parameter,
|
1266
1267
|
SimEnumParameter: set_property_to_parameter,
|
1268
|
+
SimMultiValueField3D: set_property_to_value_field,
|
1269
|
+
SimMultiValueBigTable: set_property_to_value_field,
|
1267
1270
|
int: set_property_to_parameter,
|
1268
1271
|
float: set_property_to_parameter,
|
1269
1272
|
str: set_property_to_parameter,
|
@@ -1,14 +1,14 @@
|
|
1
|
-
from PySimultan2 import FileInfo
|
2
|
-
from PySimultan2 import DataModel
|
3
|
-
from PySimultan2 import PythonMapper
|
4
|
-
from PySimultan2.taxonomy_maps import TaxonomyMap, Content
|
1
|
+
from src.PySimultan2 import FileInfo
|
2
|
+
from src.PySimultan2 import DataModel
|
3
|
+
from src.PySimultan2 import PythonMapper
|
4
|
+
from src.PySimultan2.taxonomy_maps import TaxonomyMap, Content
|
5
5
|
|
6
6
|
from typing import List
|
7
7
|
|
8
8
|
from tests import resources
|
9
|
-
from PySimultan2.geometry.geometry_base import (GeometryModel, SimultanLayer, SimultanVertex, SimultanEdge,
|
9
|
+
from src.PySimultan2.geometry.geometry_base import (GeometryModel, SimultanLayer, SimultanVertex, SimultanEdge,
|
10
10
|
SimultanEdgeLoop, SimultanFace, SimultanVolume)
|
11
|
-
from PySimultan2.geometry.utils import create_cube
|
11
|
+
from src.PySimultan2.geometry.utils import create_cube
|
12
12
|
|
13
13
|
try:
|
14
14
|
import importlib.resources as pkg_resources
|
@@ -20,17 +20,12 @@ with pkg_resources.path(resources, 'new_geometry_test.simultan') as r_path:
|
|
20
20
|
project_path = str(r_path)
|
21
21
|
|
22
22
|
|
23
|
-
|
24
|
-
user_name='admin',
|
25
|
-
password='admin')
|
26
|
-
|
27
|
-
|
28
|
-
def create_geometry_model(name='new_geometry_test'):
|
23
|
+
def create_geometry_model(name='new_geometry_test', data_model=None):
|
29
24
|
return GeometryModel(name=name,
|
30
25
|
data_model=data_model)
|
31
26
|
|
32
27
|
|
33
|
-
def create_classes() -> dict[str, type]:
|
28
|
+
def create_classes() -> tuple[dict[str, type], PythonMapper]:
|
34
29
|
|
35
30
|
class Source(object):
|
36
31
|
def __init__(self, *args, **kwargs):
|
@@ -400,16 +395,21 @@ def create_mapped_classes(classes: dict[str, type]) -> dict[str, type]:
|
|
400
395
|
'HeatFluxBoundaryCondition': mapped_heat_flux_bc_cls,
|
401
396
|
'Source': mapped_source_cls}
|
402
397
|
|
403
|
-
return mapped_cls_dict
|
398
|
+
return mapped_cls_dict, mapper
|
404
399
|
|
405
400
|
|
406
|
-
|
407
|
-
|
401
|
+
def create_model():
|
402
|
+
data_model = DataModel.create_new_project(project_path=project_path,
|
403
|
+
user_name='admin',
|
404
|
+
password='admin')
|
405
|
+
|
406
|
+
geo_model = create_geometry_model(name='new_geometry_test',
|
407
|
+
data_model=data_model)
|
408
408
|
|
409
409
|
cube = create_cube(data_model, geo_model, scale=10)
|
410
410
|
|
411
411
|
classes = create_classes()
|
412
|
-
mapped_classes = create_mapped_classes(classes)
|
412
|
+
mapped_classes, mapper = create_mapped_classes(classes)
|
413
413
|
|
414
414
|
Material = mapped_classes['Material']
|
415
415
|
WallLayer = mapped_classes['Layer']
|
@@ -510,3 +510,25 @@ if __name__ == '__main__':
|
|
510
510
|
|
511
511
|
data_model.save()
|
512
512
|
data_model.cleanup()
|
513
|
+
mapper.clear()
|
514
|
+
|
515
|
+
|
516
|
+
def load_model():
|
517
|
+
|
518
|
+
mapped_cls_dict, mapper = create_mapped_classes(create_classes())
|
519
|
+
data_model = DataModel(project_path=project_path,
|
520
|
+
user_name='admin',
|
521
|
+
password='admin')
|
522
|
+
typed_data = data_model.get_typed_data(mapper=mapper)
|
523
|
+
zone_cls = mapper.get_mapped_class('Zone')
|
524
|
+
zone1 = zone_cls.cls_instances[0]
|
525
|
+
zone1.calculate_steady_state_temperature()
|
526
|
+
return typed_data
|
527
|
+
|
528
|
+
|
529
|
+
if __name__ == '__main__':
|
530
|
+
|
531
|
+
#create_model()
|
532
|
+
typed_data = load_model()
|
533
|
+
|
534
|
+
pass
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll
RENAMED
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
RENAMED
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
RENAMED
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.5}/src/PySimultan2/resources/System.Net.Http.Formatting.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|