PySimultan 0.2.7__tar.gz → 0.2.9__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 (109) hide show
  1. {pysimultan-0.2.7/src/PySimultan.egg-info → pysimultan-0.2.9}/PKG-INFO +1 -1
  2. {pysimultan-0.2.7 → pysimultan-0.2.9}/pyproject.toml +1 -1
  3. {pysimultan-0.2.7 → pysimultan-0.2.9}/setup.py +1 -1
  4. {pysimultan-0.2.7 → pysimultan-0.2.9/src/PySimultan.egg-info}/PKG-INFO +1 -1
  5. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/object_mapper.py +7 -0
  6. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/simultan_object.py +19 -0
  7. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_calculate_steady_state_temperature.py +6 -3
  8. {pysimultan-0.2.7 → pysimultan-0.2.9}/LICENSE.txt +0 -0
  9. {pysimultan-0.2.7 → pysimultan-0.2.9}/MANIFEST.in +0 -0
  10. {pysimultan-0.2.7 → pysimultan-0.2.9}/README.md +0 -0
  11. {pysimultan-0.2.7 → pysimultan-0.2.9}/requirements.txt +0 -0
  12. {pysimultan-0.2.7 → pysimultan-0.2.9}/setup.cfg +0 -0
  13. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan.egg-info/SOURCES.txt +0 -0
  14. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan.egg-info/dependency_links.txt +0 -0
  15. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan.egg-info/not-zip-safe +0 -0
  16. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan.egg-info/requires.txt +0 -0
  17. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan.egg-info/top_level.txt +0 -0
  18. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/__init__.py +0 -0
  19. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/config.py +0 -0
  20. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/data_model.py +0 -0
  21. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/default_types.py +0 -0
  22. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/files.py +0 -0
  23. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/geometry/__init__.py +0 -0
  24. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/geometry/geometry_base.py +0 -0
  25. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/geometry/utils.py +0 -0
  26. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/multi_values.py +0 -0
  27. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/AssimpNet.dll +0 -0
  28. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/AvalonDock.dll +0 -0
  29. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/BruTile.dll +0 -0
  30. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/ClosedXML.dll +0 -0
  31. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
  32. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
  33. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
  34. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
  35. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/ControlzEx.dll +0 -0
  36. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
  37. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
  38. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
  39. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
  40. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Fluent.dll +0 -0
  41. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/GeometryViewer.dll +0 -0
  42. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/GeometryViewer.dll.config +0 -0
  43. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/GeometryViewer.xml +0 -0
  44. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  45. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  46. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  47. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
  48. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
  49. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
  50. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
  51. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  52. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  53. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
  54. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
  55. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
  56. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
  57. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
  58. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
  59. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
  60. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
  61. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
  62. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
  63. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
  64. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  65. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
  66. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
  67. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
  68. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  69. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
  70. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
  71. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
  72. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
  73. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
  74. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
  75. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
  76. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
  77. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
  78. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SharpDX.dll +0 -0
  79. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SitePlanner.dll +0 -0
  80. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SitePlanner.dll.config +0 -0
  81. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/SitePlanner.xml +0 -0
  82. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
  83. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/Sprache.dll +0 -0
  84. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
  85. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
  86. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
  87. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/__init__.py +0 -0
  88. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/assimp.dll +0 -0
  89. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/defaultsettings.xml +0 -0
  90. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/resources/setup.bat +0 -0
  91. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/taxonomy_maps.py +0 -0
  92. {pysimultan-0.2.7 → pysimultan-0.2.9}/src/PySimultan2/utils.py +0 -0
  93. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_calc_static_zone_temperature.py +0 -0
  94. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_create_geometry.py +0 -0
  95. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_files.py +0 -0
  96. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_files_load.py +0 -0
  97. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_load_geometry.py +0 -0
  98. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_load_multi_values.py +0 -0
  99. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_new_dll.py +0 -0
  100. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_new_project_creation.py +0 -0
  101. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_numeric_map.py +0 -0
  102. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_pythonnet.py +0 -0
  103. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_register_class.py +0 -0
  104. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_set_attr_property.py +0 -0
  105. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_set_dictionary.py +0 -0
  106. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_set_properties.py +0 -0
  107. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_taxonomie_maps.py +0 -0
  108. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_taxonomies.py +0 -0
  109. {pysimultan-0.2.7 → pysimultan-0.2.9}/tests/test_ui.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PySimultan
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Home-page:
5
5
  Author: Max Buehler
6
6
  Author-email: Max Bühler <maximilian.buehler@tuwien.ac.at>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "PySimultan"
3
- version = "0.2.7"
3
+ version = "0.2.9"
4
4
  authors = [
5
5
  {name = "Max Bühler", email = "maximilian.buehler@tuwien.ac.at"}
6
6
  ]
@@ -8,7 +8,7 @@ project_dir = Path(__file__).parent
8
8
 
9
9
  setuptools.setup(
10
10
  name="PySimultan",
11
- version="0.2.7",
11
+ version="0.2.9",
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.7
3
+ Version: 0.2.9
4
4
  Home-page:
5
5
  Author: Max Buehler
6
6
  Author-email: Max Bühler <maximilian.buehler@tuwien.ac.at>
@@ -199,6 +199,13 @@ class PythonMapper(object):
199
199
  for cls in self.mapped_classes.values():
200
200
  cls._cls_instances = WeakSet()
201
201
 
202
+ def copy(self):
203
+ new_mapper = PythonMapper()
204
+ new_mapper.registered_classes = self.registered_classes
205
+ new_mapper.taxonomy_maps = self.taxonomy_maps
206
+ new_mapper.registered_geometry_classes = self.registered_geometry_classes
207
+ return new_mapper
208
+
202
209
 
203
210
  if config.default_mapper is None:
204
211
  config.default_mapper = PythonMapper()
@@ -364,6 +364,25 @@ class SimultanObject(object, metaclass=MetaMock):
364
364
  setattr(comp_prop, prop, value)
365
365
  return comp_prop
366
366
 
367
+ def copy(self):
368
+ """
369
+ Create a copy of the object including all properties. The properties are copied by reference.
370
+ :return:
371
+ """
372
+ new_copy = self.__class__(data_model=self._data_model,
373
+ object_mapper=self._object_mapper)
374
+
375
+ for content in self._taxonomy_map.content:
376
+ setattr(new_copy, content.property_name, getattr(self, content.property_name))
377
+
378
+ new_copy.name = f'Copy of {self.name}'
379
+
380
+ if self.associated_geometry:
381
+ for geo in self.associated_geometry:
382
+ new_copy.associate(geo)
383
+
384
+ return new_copy
385
+
367
386
 
368
387
  # def to_json(self):
369
388
  #
@@ -509,17 +509,20 @@ def create_model():
509
509
  print(steady_state_temperature)
510
510
 
511
511
  data_model.save()
512
+
512
513
  data_model.cleanup()
513
514
  mapper.clear()
514
515
 
515
516
 
516
517
  def load_model():
517
-
518
518
  mapped_cls_dict, mapper = create_mapped_classes(create_classes())
519
+
520
+ # create copy of the mapper to test mapper.copy
521
+ mapper_copy = mapper.copy()
519
522
  data_model = DataModel(project_path=project_path,
520
523
  user_name='admin',
521
524
  password='admin')
522
- typed_data = data_model.get_typed_data(mapper=mapper)
525
+ typed_data = data_model.get_typed_data(mapper=mapper_copy)
523
526
  zone_cls = mapper.get_mapped_class('Zone')
524
527
  zone1 = zone_cls.cls_instances[0]
525
528
  zone1.calculate_steady_state_temperature()
@@ -528,7 +531,7 @@ def load_model():
528
531
 
529
532
  if __name__ == '__main__':
530
533
 
531
- #create_model()
534
+ # create_model()
532
535
  typed_data = load_model()
533
536
 
534
537
  pass
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes