PySimultan 0.4.1__tar.gz → 0.4.2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. {pysimultan-0.4.1 → pysimultan-0.4.2}/PKG-INFO +1 -1
  2. pysimultan-0.4.2/src/PySimultan2/__about__.py +1 -0
  3. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/__init__.py +6 -0
  4. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/data_model.py +3 -3
  5. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/files.py +4 -4
  6. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/geometry/geometry_base.py +4 -4
  7. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/object_mapper.py +6 -6
  8. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/simultan_object.py +5 -5
  9. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/utils.py +8 -9
  10. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_calculate_steady_state_temperature.py +2 -2
  11. pysimultan-0.4.1/src/PySimultan2/__about__.py +0 -1
  12. {pysimultan-0.4.1 → pysimultan-0.4.2}/.gitignore +0 -0
  13. {pysimultan-0.4.1 → pysimultan-0.4.2}/LICENSE.txt +0 -0
  14. {pysimultan-0.4.1 → pysimultan-0.4.2}/README.md +0 -0
  15. {pysimultan-0.4.1 → pysimultan-0.4.2}/pyproject.toml +0 -0
  16. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/default_types.py +0 -0
  17. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/geometry/__init__.py +0 -0
  18. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/geometry/utils.py +0 -0
  19. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/multi_values.py +0 -0
  20. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/AssimpNet.dll +0 -0
  21. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/AvalonDock.dll +0 -0
  22. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/BruTile.dll +0 -0
  23. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/ClosedXML.dll +0 -0
  24. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
  25. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
  26. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
  27. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
  28. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/ControlzEx.dll +0 -0
  29. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
  30. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
  31. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
  32. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
  33. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Fluent.dll +0 -0
  34. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/GeometryViewer.dll +0 -0
  35. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/GeometryViewer.dll.config +0 -0
  36. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/GeometryViewer.xml +0 -0
  37. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  38. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  39. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  40. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
  41. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
  42. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
  43. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
  44. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  45. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  46. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
  47. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
  48. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
  49. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
  50. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
  51. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
  52. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
  53. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
  54. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
  55. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
  56. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
  57. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  58. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
  59. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
  60. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
  61. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  62. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
  63. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
  64. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
  65. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
  66. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
  67. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
  68. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
  69. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
  70. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
  71. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SharpDX.dll +0 -0
  72. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SitePlanner.dll +0 -0
  73. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SitePlanner.dll.config +0 -0
  74. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/SitePlanner.xml +0 -0
  75. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
  76. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/Sprache.dll +0 -0
  77. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
  78. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
  79. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
  80. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/__init__.py +0 -0
  81. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/assimp.dll +0 -0
  82. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/defaultsettings.xml +0 -0
  83. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/resources/setup.bat +0 -0
  84. {pysimultan-0.4.1 → pysimultan-0.4.2}/src/PySimultan2/taxonomy_maps.py +0 -0
  85. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/__init__.py +0 -0
  86. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/__init__.py +0 -0
  87. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/create_component.py +0 -0
  88. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
  89. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/create_referenced_component.py +0 -0
  90. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/create_taxonomies.py +0 -0
  91. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/__init__.py +0 -0
  92. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/change_references_example.simultan +0 -0
  93. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/empty_project.simultan +0 -0
  94. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
  95. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/example1.simultan +0 -0
  96. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/example2.simultan +0 -0
  97. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/example3.simultan +0 -0
  98. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
  99. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
  100. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/list_test.simultan +0 -0
  101. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/template_example3.yml +0 -0
  102. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/template_example4.yml +0 -0
  103. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
  104. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
  105. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/template_example_extend.yml +0 -0
  106. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
  107. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/readme_examples/resources/template_reference_list.yml +0 -0
  108. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/U5.simultan +0 -0
  109. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/U5_1.simultan +0 -0
  110. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/U5_orig.simultan +0 -0
  111. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/__init__.py +0 -0
  112. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/new_geometry_test.simultan +0 -0
  113. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/test_file.yml +0 -0
  114. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/test_file_load.simultan +0 -0
  115. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/test_file_project.simultan +0 -0
  116. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
  117. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_calc_static_zone_temperature.py +0 -0
  118. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_circular_references.py +0 -0
  119. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_create_geometry.py +0 -0
  120. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_files.py +0 -0
  121. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_files_load.py +0 -0
  122. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_load_geometry.py +0 -0
  123. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_load_multi_values.py +0 -0
  124. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_new_dll.py +0 -0
  125. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_new_project_creation.py +0 -0
  126. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_numeric_map.py +0 -0
  127. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_pythonnet.py +0 -0
  128. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_register_class.py +0 -0
  129. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_set_attr_property.py +0 -0
  130. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_set_dictionary.py +0 -0
  131. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_set_properties.py +0 -0
  132. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_taxonomie_maps.py +0 -0
  133. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_taxonomies.py +0 -0
  134. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/test_ui.py +0 -0
  135. {pysimultan-0.4.1 → pysimultan-0.4.2}/tests/ui_minimal_example.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: PySimultan
3
- Version: 0.4.1
3
+ Version: 0.4.2
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
@@ -0,0 +1 @@
1
+ version = '0.4.2'
@@ -91,6 +91,12 @@ class Config:
91
91
  def get_default_mapper(self, *args, **kwargs):
92
92
  return self._default_mapper
93
93
 
94
+ def set_default_data_model(self, data_model):
95
+ self._default_data_model = data_model
96
+
97
+ def set_default_mapper(self, mapper):
98
+ self._default_mapper = mapper
99
+
94
100
 
95
101
  config = Config()
96
102
 
@@ -119,7 +119,7 @@ class DataModel:
119
119
  def __new__(cls, *args, **kwargs):
120
120
 
121
121
  instance = super().__new__(cls)
122
- config.default_data_model = instance
122
+ config.set_default_data_model(instance)
123
123
  try:
124
124
  data_models.add(instance)
125
125
  except Exception as e:
@@ -378,8 +378,8 @@ class DataModel:
378
378
  data_models = WeakSet()
379
379
  data_models_dict = WeakValueDictionary()
380
380
 
381
- if config.default_data_model is self:
382
- config.default_data_model = None
381
+ if config.get_default_data_model() is self:
382
+ config.set_default_data_model(None)
383
383
 
384
384
  del self
385
385
 
@@ -20,7 +20,7 @@ from SIMULTAN.Data.Components import SimComponent, ComponentMapping
20
20
 
21
21
  # from .config import default_data_model
22
22
 
23
- from . import config
23
+ from . import config, logger
24
24
 
25
25
  from typing import TYPE_CHECKING
26
26
  if TYPE_CHECKING:
@@ -197,7 +197,7 @@ class FileInfo(object, metaclass=MetaMock):
197
197
  :return: FileInfo
198
198
  """
199
199
 
200
- data_model = kwargs.get('data_model', config.default_data_model)
200
+ data_model = kwargs.get('data_model', config.get_default_data_model())
201
201
  resource = create_asset_from_string(filename, content, *args, **kwargs)
202
202
 
203
203
  file_info = cls(resource_entry=resource,
@@ -241,8 +241,8 @@ class FileInfo(object, metaclass=MetaMock):
241
241
  def resource_entry(self) -> Union[ResourceFileEntry, ContainedResourceFileEntry, None]:
242
242
  if self._resource_entry is None:
243
243
  if self.data_model is None:
244
- logger.warning(f'No data model provided. Using default data model: {config.default_data_model.id}.')
245
- self.data_model = config.default_data_model
244
+ logger.warning(f'No data model provided. Using default data model: {config.get_default_data_model().id}.')
245
+ self.data_model = config.get_default_data_model()
246
246
  if self.data_model is not None:
247
247
  self.resource_entry = self.data_model.add_resource(self.file_path)
248
248
  return self._resource_entry
@@ -63,7 +63,7 @@ class BaseGeometry(object, metaclass=MetaMock):
63
63
  def __init__(self, *args, **kwargs):
64
64
  self._wrapped_object: Union[Vertex, Edge, Face, Volume, EdgeLoop, Layer] = kwargs.get('wrapped_object', None)
65
65
  self._geometry_model: Optional[GeometryModel] = kwargs.get('geometry_model', None)
66
- self._object_mapper = kwargs.get('object_mapper', config.default_mapper)
66
+ self._object_mapper = kwargs.get('object_mapper', config.get_default_mapper())
67
67
  self._data_model = kwargs.get('data_model', None)
68
68
 
69
69
  @property
@@ -537,7 +537,7 @@ class GeometryModel(object, metaclass=MetaMock):
537
537
  @classmethod
538
538
  def create_simultan_instance(cls, *args, **kwargs):
539
539
 
540
- data_model: DataModel = kwargs.get('data_model', config.default_data_model)
540
+ data_model: DataModel = kwargs.get('data_model', config.get_default_data_model())
541
541
  name: str = kwargs.get('name', 'GeometryModel')
542
542
 
543
543
  new_geo_model, resource = data_model.create_new_geometry_model(name=name)
@@ -549,8 +549,8 @@ class GeometryModel(object, metaclass=MetaMock):
549
549
 
550
550
  def __init__(self, *args, **kwargs):
551
551
  self._wrapped_object: NetGeometryModel = kwargs.get('wrapped_object', None)
552
- self._object_mapper = kwargs.get('object_mapper', config.default_mapper)
553
- self._data_model = kwargs.get('data_model', config.default_data_model)
552
+ self._object_mapper = kwargs.get('object_mapper', config.get_default_mapper())
553
+ self._data_model = kwargs.get('data_model', config.get_default_data_model())
554
554
 
555
555
  @property
556
556
  def name(self):
@@ -29,7 +29,7 @@ class PythonMapper(object):
29
29
 
30
30
  def __new__(cls, *args, **kwargs):
31
31
  instance = super(PythonMapper, cls).__new__(cls)
32
- config.default_mapper = instance
32
+ config.set_default_mapper(instance)
33
33
  return instance
34
34
 
35
35
  def __init__(self, *args, **kwargs):
@@ -143,8 +143,8 @@ class PythonMapper(object):
143
143
  return None
144
144
 
145
145
  if data_model is None:
146
- logger.warning(f'No data model provided. Using default data model: {config.default_data_model.id}.')
147
- data_model = config.default_data_model
146
+ logger.warning(f'No data model provided. Using default data model: {config.get_default_data_model().id}.')
147
+ data_model = config.get_default_data_model()
148
148
  data_model_id = data_model.id
149
149
  # data_model_id = list(data_models)[0].id
150
150
  # data_model = list(data_models)[0]
@@ -219,8 +219,8 @@ class PythonMapper(object):
219
219
  cls._cls_instances = WeakSet()
220
220
  cls.__property_cache__ = {}
221
221
 
222
- if config.default_mapper is self:
223
- config.default_mapper = None
222
+ if config.get_default_mapper() is self:
223
+ config.set_default_mapper(None)
224
224
 
225
225
  def copy(self):
226
226
  new_mapper = PythonMapper()
@@ -231,4 +231,4 @@ class PythonMapper(object):
231
231
 
232
232
 
233
233
  if config.get_default_mapper() is None:
234
- config._default_mapper = PythonMapper()
234
+ config.set_default_mapper(PythonMapper())
@@ -68,10 +68,10 @@ class MetaMock(type):
68
68
  data_model = list(data_models.data)[0]()
69
69
  kwargs['data_model'] = data_model
70
70
  else:
71
- if config.default_data_model is not None:
71
+ if config.get_default_data_model() is not None:
72
72
  logger.warning(
73
- f'No data model provided. Using default data model: {config.default_data_model.id}.')
74
- data_model = config.default_data_model
73
+ f'No data model provided. Using default data model: {config.get_default_data_model().id}')
74
+ data_model = config.get_default_data_model()
75
75
  kwargs['data_model'] = data_model
76
76
  else:
77
77
  raise TypeError((f'Error creating new instance of class {cls.__name__}:\n'
@@ -154,8 +154,8 @@ class SimultanObject(object, metaclass=MetaMock):
154
154
 
155
155
  self._wrapped_obj: Union[SimComponent, None] = kwargs.get('wrapped_obj', None)
156
156
  self.__obj_init__ = kwargs.get('__obj_init__', False)
157
- self._data_model: Union[DataModel, None] = kwargs.get('data_model', config.default_data_model)
158
- self._object_mapper: Union[PythonMapper, None] = kwargs.get('object_mapper', config.default_mapper)
157
+ self._data_model: Union[DataModel, None] = kwargs.get('data_model', config.get_default_data_model())
158
+ self._object_mapper: Union[PythonMapper, None] = kwargs.get('object_mapper', config.get_default_mapper())
159
159
  self.name = kwargs.get('name', None)
160
160
 
161
161
  self.__property_cache__ = {}
@@ -1,6 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- from . import config
4
3
  from enum import Enum
5
4
  from weakref import WeakSet
6
5
  import numpy as np
@@ -227,7 +226,7 @@ def get_default_slot(default_type: Union[SimTaxonomyEntryReference, SimTaxonomyE
227
226
  :return:
228
227
  """
229
228
 
230
- default_taxonomy_entry = SimDefaultSlotKeys.GetDefaultSlot(config.default_data_model.project_data_manager.Taxonomies,
229
+ default_taxonomy_entry = SimDefaultSlotKeys.GetDefaultSlot(config.get_default_data_model().project_data_manager.Taxonomies,
231
230
  SimDefaultSlotKeys.Undefined)
232
231
 
233
232
  if default_type is SimTaxonomyEntryReference:
@@ -604,7 +603,7 @@ def create_simultan_component_for_taxonomy(cls, *args, **kwargs) -> SimComponent
604
603
 
605
604
  data_model = kwargs.get('data_model', None)
606
605
  if data_model is None:
607
- data_model = config.default_data_model
606
+ data_model = config.get_default_data_model()
608
607
 
609
608
  # simultan_taxonomy = cls._taxonomy_map.get_or_create_simultan_taxonomy(data_model=data_model)
610
609
  # tayonomy_entry = cls._taxonomy_map.get_or_create_simultan_taxonomy_entry(data_model=data_model)
@@ -679,7 +678,7 @@ def get_property(prop_name: Optional[str] = None,
679
678
  data_model = component._data_model
680
679
  object_mapper = component._object_mapper
681
680
  else:
682
- data_model = config.default_data_model
681
+ data_model = config.get_default_data_model()
683
682
  obj = get_component_taxonomy_entry(wrapped_obj, text_or_key)
684
683
 
685
684
  return get_obj_value(obj, data_model=data_model, object_mapper=object_mapper)
@@ -877,7 +876,7 @@ def create_mapped_python_object(value: SimComponent,
877
876
  """
878
877
 
879
878
  if object_mapper is None:
880
- object_mapper = config.default_mapper
879
+ object_mapper = config.get_default_mapper()
881
880
 
882
881
  # logger.debug(f'Creating mapped python object for {value}.')
883
882
  if type(value) in object_mapper.registered_classes.values():
@@ -973,13 +972,13 @@ def set_property_to_list(value: Union[list, tuple, set, ComponentList],
973
972
 
974
973
  if 'ComponentList' in [x.Target.Key for x in component.Slots]:
975
974
  if not hasattr(component, '_object_mapper'):
976
- mapper = config.default_mapper
975
+ mapper = config.get_default_mapper()
977
976
  component._object_mapper = mapper
978
977
  else:
979
978
  mapper = component._object_mapper
980
979
 
981
980
  if not hasattr(component, '_data_model'):
982
- data_model = config.default_data_model
981
+ data_model = config.get_default_data_model()
983
982
  component._data_model = data_model
984
983
  else:
985
984
  data_model = component._data_model
@@ -1240,13 +1239,13 @@ def set_property_to_dict(value: dict,
1240
1239
 
1241
1240
  if 'ComponentDictionary' in [x.Target.Key for x in component.Slots]:
1242
1241
  if not hasattr(component, '_object_mapper'):
1243
- mapper = config.default_mapper
1242
+ mapper = config.get_default_mapper()
1244
1243
  component._object_mapper = mapper
1245
1244
  else:
1246
1245
  mapper = component._object_mapper
1247
1246
 
1248
1247
  if not hasattr(component, '_data_model'):
1249
- data_model = config.default_data_model
1248
+ data_model = config.get_default_data_model()
1250
1249
  component._data_model = data_model
1251
1250
  else:
1252
1251
  data_model = component._data_model
@@ -582,12 +582,12 @@ def test_loaded_model(project_name=None):
582
582
 
583
583
  from PySimultan2.src.PySimultan2 import config
584
584
 
585
- config.default_data_model
585
+ config.get_default_data_model()
586
586
 
587
587
 
588
588
  if __name__ == '__main__':
589
589
 
590
- for i in range(10):
590
+ for i in range(3):
591
591
  print(f'Iteration {i}')
592
592
  create_model()
593
593
  sleep(1)
@@ -1 +0,0 @@
1
- version = '0.4.1'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes