PySimultan 0.7.0__tar.gz → 0.7.1__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 (122) hide show
  1. {pysimultan-0.7.0 → pysimultan-0.7.1}/.gitignore +1 -0
  2. {pysimultan-0.7.0 → pysimultan-0.7.1}/PKG-INFO +4 -3
  3. {pysimultan-0.7.0 → pysimultan-0.7.1}/README.md +3 -0
  4. {pysimultan-0.7.0 → pysimultan-0.7.1}/pyproject.toml +0 -2
  5. pysimultan-0.7.1/src/PySimultan2/__about__.py +1 -0
  6. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/data_model.py +26 -5
  7. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/object_mapper.py +3 -3
  8. pysimultan-0.7.1/tests/resources/new_test_file.txt +1 -0
  9. pysimultan-0.7.1/tests/resources/new_test_file2.txt +1 -0
  10. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_files.py +1 -2
  11. pysimultan-0.7.0/src/PySimultan2/__about__.py +0 -1
  12. pysimultan-0.7.0/src/PySimultan2/resources/AssimpNet.dll +0 -0
  13. pysimultan-0.7.0/src/PySimultan2/resources/AvalonDock.dll +0 -0
  14. pysimultan-0.7.0/src/PySimultan2/resources/BruTile.dll +0 -0
  15. pysimultan-0.7.0/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
  16. pysimultan-0.7.0/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  17. pysimultan-0.7.0/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  18. pysimultan-0.7.0/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  19. pysimultan-0.7.0/src/PySimultan2/resources/HelixToolkit.dll +0 -0
  20. pysimultan-0.7.0/src/PySimultan2/resources/Python.Runtime.dll +0 -0
  21. pysimultan-0.7.0/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  22. pysimultan-0.7.0/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -16226
  23. pysimultan-0.7.0/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
  24. pysimultan-0.7.0/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
  25. pysimultan-0.7.0/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
  26. pysimultan-0.7.0/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
  27. pysimultan-0.7.0/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
  28. pysimultan-0.7.0/src/PySimultan2/resources/SharpDX.dll +0 -0
  29. pysimultan-0.7.0/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
  30. pysimultan-0.7.0/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
  31. pysimultan-0.7.0/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
  32. pysimultan-0.7.0/src/PySimultan2/resources/assimp.dll +0 -0
  33. pysimultan-0.7.0/src/PySimultan2/resources/componentmanager.user +0 -0
  34. pysimultan-0.7.0/src/PySimultan2/resources/defaultsettings.xml +0 -0
  35. pysimultan-0.7.0/src/PySimultan2/resources/setup.bat +0 -1
  36. pysimultan-0.7.0/tests/resources/new_test_file.txt +0 -1
  37. pysimultan-0.7.0/tests/resources/new_test_file2.txt +0 -1
  38. {pysimultan-0.7.0 → pysimultan-0.7.1}/LICENSE.txt +0 -0
  39. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/CHANGELOG.md +0 -0
  40. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/__init__.py +0 -0
  41. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/default_types.py +0 -0
  42. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/files.py +0 -0
  43. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/geometry/__init__.py +0 -0
  44. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/geometry/geometry_base.py +0 -0
  45. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/geometry/utils.py +0 -0
  46. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/multi_values.py +0 -0
  47. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/ClosedXML.dll +0 -0
  48. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/ControlzEx.dll +0 -0
  49. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
  50. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
  51. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
  52. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Fluent.dll +0 -0
  53. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
  54. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
  55. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
  56. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  57. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  58. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
  59. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
  60. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
  61. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
  62. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
  63. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
  64. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
  65. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  66. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
  67. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
  68. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
  69. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
  70. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
  71. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
  72. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
  73. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/Sprache.dll +0 -0
  74. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
  75. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
  76. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
  77. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/resources/__init__.py +0 -0
  78. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/simultan_object.py +0 -0
  79. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/taxonomy_maps.py +0 -0
  80. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/type_setter_lookup.py +0 -0
  81. {pysimultan-0.7.0 → pysimultan-0.7.1}/src/PySimultan2/utils.py +0 -0
  82. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/RoomAcoustics_V02.py +0 -0
  83. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/__init__.py +0 -0
  84. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/__init__.py +0 -0
  85. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/create_component.py +0 -0
  86. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
  87. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/create_referenced_component.py +0 -0
  88. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/create_taxonomies.py +0 -0
  89. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/__init__.py +0 -0
  90. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
  91. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/template_example3.yml +0 -0
  92. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/template_example4.yml +0 -0
  93. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
  94. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
  95. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/template_example_extend.yml +0 -0
  96. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
  97. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/readme_examples/resources/template_reference_list.yml +0 -0
  98. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/resources/__init__.py +0 -0
  99. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_calc_static_zone_temperature.py +0 -0
  100. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_calculate_steady_state_temperature.py +0 -0
  101. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_circular_references.py +0 -0
  102. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_create_geometry.py +0 -0
  103. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_default_component.py +0 -0
  104. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_directory_and_files.py +0 -0
  105. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_files_load.py +0 -0
  106. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_load_geometry.py +0 -0
  107. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_load_multi_values.py +0 -0
  108. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_new_dll.py +0 -0
  109. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_new_project_creation.py +0 -0
  110. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_numeric_map.py +0 -0
  111. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_numpy.py +0 -0
  112. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_parameter_reference.py +0 -0
  113. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_pythonnet.py +0 -0
  114. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_register_class.py +0 -0
  115. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_register_decorator.py +0 -0
  116. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_set_attr_property.py +0 -0
  117. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_set_dictionary.py +0 -0
  118. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_set_properties.py +0 -0
  119. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_taxonomie_maps.py +0 -0
  120. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_taxonomies.py +0 -0
  121. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/test_ui.py +0 -0
  122. {pysimultan-0.7.0 → pysimultan-0.7.1}/tests/ui_minimal_example.py +0 -0
@@ -23,6 +23,7 @@ simultan_exception*
23
23
  /PySimultan2/tests/readme_examples/resources/~*
24
24
  /tests/readme_examples/resources/*.codxf
25
25
  *.creds
26
+ *.env
26
27
 
27
28
  *.AppImage
28
29
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySimultan
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Project-URL: Documentation, https://github.com/Bühler Maximilian/PySimultan2#readme
5
5
  Project-URL: Issues, https://github.com/Bühler Maximilian/PySimultan2/issues
6
6
  Project-URL: Source, https://github.com/Bühler Maximilian/PySimultan2
@@ -14,8 +14,6 @@ Classifier: Programming Language :: Python :: 3.9
14
14
  Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
- Classifier: Programming Language :: Python :: 3.13
18
- Classifier: Programming Language :: Python :: 3.14
19
17
  Classifier: Programming Language :: Python :: Implementation :: CPython
20
18
  Classifier: Programming Language :: Python :: Implementation :: PyPy
21
19
  Requires-Python: >=3.8
@@ -168,6 +166,9 @@ print(instances[0].param_1)
168
166
 
169
167
 
170
168
  # Change Log
169
+ ## [0.6.4] - 2025-06-06
170
+ Updated SIMULTAN version to 0.7.18
171
+
171
172
  ## [0.5.9.7] - 2025-01-09
172
173
  - Added default component support to Mapper: if a default component is not present in the datamodel, it is automatically added
173
174
  - Fixed content naming bug: Content.name is now used for the name of the TaxonomyEntry in SIMULTAN
@@ -137,6 +137,9 @@ print(instances[0].param_1)
137
137
 
138
138
 
139
139
  # Change Log
140
+ ## [0.6.4] - 2025-06-06
141
+ Updated SIMULTAN version to 0.7.18
142
+
140
143
  ## [0.5.9.7] - 2025-01-09
141
144
  - Added default component support to Mapper: if a default component is not present in the datamodel, it is automatically added
142
145
  - Fixed content naming bug: Content.name is now used for the name of the TaxonomyEntry in SIMULTAN
@@ -21,8 +21,6 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.10",
22
22
  "Programming Language :: Python :: 3.11",
23
23
  "Programming Language :: Python :: 3.12",
24
- "Programming Language :: Python :: 3.13",
25
- "Programming Language :: Python :: 3.14",
26
24
  "Programming Language :: Python :: Implementation :: CPython",
27
25
  "Programming Language :: Python :: Implementation :: PyPy",
28
26
  ]
@@ -0,0 +1 @@
1
+ version = '0.7.1'
@@ -284,7 +284,7 @@ class DataModel:
284
284
  self.data = self.project_data_manager.Components
285
285
 
286
286
  self.create_component_dict.cache_clear()
287
- self.get_component_by_id.cache_clear()
287
+ self.get_component_by_id_cached.cache_clear()
288
288
 
289
289
  return self.data
290
290
 
@@ -357,7 +357,7 @@ class DataModel:
357
357
  self.data.RemoveItem(index)
358
358
 
359
359
  self.create_component_dict.cache_clear()
360
- self.get_component_by_id.cache_clear()
360
+ self.get_component_by_id_cached.cache_clear()
361
361
 
362
362
  def remove_component(self,
363
363
  component: Union[SimComponent, SimultanObject] = None,
@@ -380,7 +380,7 @@ class DataModel:
380
380
  self.data.RemoveItem(index)
381
381
 
382
382
  self.create_component_dict.cache_clear()
383
- self.get_component_by_id.cache_clear()
383
+ self.get_component_by_id_cached.cache_clear()
384
384
 
385
385
  def save(self):
386
386
  """
@@ -464,7 +464,7 @@ class DataModel:
464
464
  self.data.RemoveItem(index)
465
465
 
466
466
  self.create_component_dict.cache_clear()
467
- self.get_component_by_id.cache_clear()
467
+ self.get_component_by_id_cached.cache_clear()
468
468
 
469
469
  def add_new_geometry_model(self, file_name: str, model_name: str = None, return_resource=False):
470
470
  """
@@ -601,7 +601,11 @@ class DataModel:
601
601
 
602
602
  existing_files = [x.current_full_path for x in self.project_data_manager.AssetManager.Resources]
603
603
  try:
604
- act_filename = filename.replace('\\', os.sep)
604
+ if isinstance(filename, (PosixPath, WindowsPath)):
605
+ # convert to SystemFileInfo
606
+ act_filename = str(filename)
607
+ else:
608
+ act_filename = filename.replace('\\', os.sep)
605
609
  except TypeError:
606
610
  act_filename = filename
607
611
 
@@ -978,6 +982,23 @@ class DataModel:
978
982
  # print(item_id.GlobalId, item_id.LocalId)
979
983
  # _ = [print((x.Id.GlobalId, x.Id.LocalId)) for x in self.data.Items]
980
984
 
985
+ component = self.get_component_by_id_cached(item_id=item_id,
986
+ search_subcomponents=search_subcomponents)
987
+ if component is None:
988
+ self.get_component_by_id_cached.cache_clear()
989
+ component = self.get_component_by_id_cached(item_id=item_id,
990
+ search_subcomponents=search_subcomponents)
991
+
992
+ return component
993
+
994
+ @lru_cache()
995
+ def get_component_by_id_cached(self,
996
+ item_id: SimId,
997
+ search_subcomponents=False) -> Union[SimComponent, None]:
998
+
999
+ # print(item_id.GlobalId, item_id.LocalId)
1000
+ # _ = [print((x.Id.GlobalId, x.Id.LocalId)) for x in self.data.Items]
1001
+
981
1002
  component = next((x for x in self.data.Items if x.Id.Equals(item_id)), None)
982
1003
 
983
1004
  if component is None and search_subcomponents:
@@ -104,9 +104,9 @@ class PythonMapper(object):
104
104
  def register(self,
105
105
  taxonomy: str,
106
106
  cls: Type[Any],
107
- re_register=True,
108
- update_in_other_mappers=False,
109
- taxonomy_map=None):
107
+ taxonomy_map: TaxonomyMap,
108
+ re_register: bool = True,
109
+ update_in_other_mappers: bool = False):
110
110
 
111
111
  # print(f'Registering {taxonomy} with {cls} {hash(cls)}')
112
112
 
@@ -0,0 +1 @@
1
+ This is the content of the file.
@@ -0,0 +1 @@
1
+ This is the content of the file 2.
@@ -118,6 +118,7 @@ def test_add_resource_file():
118
118
  f.write('This is the content of the already existing file 2.')
119
119
 
120
120
  file = data_model.add_resource_file(file_path)
121
+ file = data_model.add_resource(file_path)
121
122
  print(file)
122
123
 
123
124
  file_path = os.path.join(str(data_model.project.ProjectUnpackFolder), 'already_exising_3.txt')
@@ -133,8 +134,6 @@ def test_add_resource_file():
133
134
  file_value_2=file_info)
134
135
 
135
136
 
136
-
137
-
138
137
  if __name__ == '__main__':
139
138
  new_resource = test_create_resource()
140
139
  test_create_resource_from_string()
@@ -1 +0,0 @@
1
- version = '0.7.0'