PySimultan 0.5.5__tar.gz → 0.5.7__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. pysimultan-0.5.7/PKG-INFO +173 -0
  2. pysimultan-0.5.7/README.md +145 -0
  3. pysimultan-0.5.7/src/PySimultan2/__about__.py +1 -0
  4. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/taxonomy_maps.py +13 -1
  5. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/type_setter_lookup.py +4 -1
  6. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/utils.py +2 -2
  7. pysimultan-0.5.5/PKG-INFO +0 -91
  8. pysimultan-0.5.5/README.md +0 -63
  9. pysimultan-0.5.5/src/PySimultan2/__about__.py +0 -1
  10. {pysimultan-0.5.5 → pysimultan-0.5.7}/.gitignore +0 -0
  11. {pysimultan-0.5.5 → pysimultan-0.5.7}/LICENSE.txt +0 -0
  12. {pysimultan-0.5.5 → pysimultan-0.5.7}/pyproject.toml +0 -0
  13. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/CHANGELOG.md +0 -0
  14. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/__init__.py +0 -0
  15. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/data_model.py +0 -0
  16. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/default_types.py +0 -0
  17. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/files.py +0 -0
  18. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/geometry/__init__.py +0 -0
  19. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/geometry/geometry_base.py +0 -0
  20. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/geometry/utils.py +0 -0
  21. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/multi_values.py +0 -0
  22. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/object_mapper.py +0 -0
  23. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/AssimpNet.dll +0 -0
  24. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/AvalonDock.dll +0 -0
  25. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/BruTile.dll +0 -0
  26. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/ClosedXML.dll +0 -0
  27. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
  28. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
  29. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
  30. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
  31. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/ControlzEx.dll +0 -0
  32. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
  33. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
  34. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
  35. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
  36. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Fluent.dll +0 -0
  37. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  38. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  39. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  40. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
  41. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
  42. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
  43. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
  44. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  45. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  46. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
  47. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
  48. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
  49. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
  50. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
  51. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
  52. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
  53. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
  54. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
  55. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
  56. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
  57. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  58. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
  59. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
  60. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
  61. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  62. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
  63. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
  64. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
  65. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
  66. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
  67. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
  68. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
  69. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
  70. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
  71. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/SharpDX.dll +0 -0
  72. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
  73. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/Sprache.dll +0 -0
  74. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
  75. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
  76. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
  77. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
  78. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
  79. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
  80. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/__init__.py +0 -0
  81. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/assimp.dll +0 -0
  82. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/componentmanager.user +0 -0
  83. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/defaultsettings.xml +0 -0
  84. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/resources/setup.bat +0 -0
  85. {pysimultan-0.5.5 → pysimultan-0.5.7}/src/PySimultan2/simultan_object.py +0 -0
  86. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/__init__.py +0 -0
  87. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/__init__.py +0 -0
  88. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/create_component.py +0 -0
  89. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
  90. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/create_referenced_component.py +0 -0
  91. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/create_taxonomies.py +0 -0
  92. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/__init__.py +0 -0
  93. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/change_references_example.simultan +0 -0
  94. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/empty_project.simultan +0 -0
  95. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
  96. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/example1.simultan +0 -0
  97. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/example2.simultan +0 -0
  98. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/example3.simultan +0 -0
  99. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
  100. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
  101. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/list_test.simultan +0 -0
  102. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/template_example3.yml +0 -0
  103. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/template_example4.yml +0 -0
  104. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
  105. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
  106. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/template_example_extend.yml +0 -0
  107. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
  108. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/readme_examples/resources/template_reference_list.yml +0 -0
  109. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/U5.simultan +0 -0
  110. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/U5_1.simultan +0 -0
  111. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/U5_orig.simultan +0 -0
  112. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/__init__.py +0 -0
  113. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/new_geometry_test.simultan +0 -0
  114. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/new_test_file.txt +0 -0
  115. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/new_test_file2.txt +0 -0
  116. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/test_file.yml +0 -0
  117. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/test_file_load.simultan +0 -0
  118. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/test_file_project.simultan +0 -0
  119. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
  120. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/test_parameter_reference_project.simultan +0 -0
  121. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/resources/test_set_dictionary.simultan +0 -0
  122. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_calc_static_zone_temperature.py +0 -0
  123. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_calculate_steady_state_temperature.py +0 -0
  124. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_circular_references.py +0 -0
  125. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_create_geometry.py +0 -0
  126. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_directory_and_files.py +0 -0
  127. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_files.py +0 -0
  128. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_files_load.py +0 -0
  129. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_load_geometry.py +0 -0
  130. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_load_multi_values.py +0 -0
  131. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_new_dll.py +0 -0
  132. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_new_project_creation.py +0 -0
  133. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_numeric_map.py +0 -0
  134. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_parameter_reference.py +0 -0
  135. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_pythonnet.py +0 -0
  136. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_register_class.py +0 -0
  137. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_register_decorator.py +0 -0
  138. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_set_attr_property.py +0 -0
  139. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_set_dictionary.py +0 -0
  140. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_set_properties.py +0 -0
  141. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_taxonomie_maps.py +0 -0
  142. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_taxonomies.py +0 -0
  143. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/test_ui.py +0 -0
  144. {pysimultan-0.5.5 → pysimultan-0.5.7}/tests/ui_minimal_example.py +0 -0
@@ -0,0 +1,173 @@
1
+ Metadata-Version: 2.3
2
+ Name: PySimultan
3
+ Version: 0.5.7
4
+ Project-URL: Documentation, https://github.com/Bühler Maximilian/PySimultan2#readme
5
+ Project-URL: Issues, https://github.com/Bühler Maximilian/PySimultan2/issues
6
+ Project-URL: Source, https://github.com/Bühler Maximilian/PySimultan2
7
+ Author-email: Bühler Maximilian <maximilian.buehler@tuwien.ac.at>
8
+ License: MIT
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Programming Language :: Python
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: Implementation :: CPython
17
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
18
+ Requires-Python: >=3.8
19
+ Requires-Dist: colorlog
20
+ Requires-Dist: numpy
21
+ Requires-Dist: pandas
22
+ Requires-Dist: pyarrow
23
+ Requires-Dist: pythonnet
24
+ Requires-Dist: ruamel-yaml
25
+ Requires-Dist: six
26
+ Requires-Dist: tqdm
27
+ Description-Content-Type: text/markdown
28
+
29
+ # pysimultan
30
+
31
+ [![PyPI - Version](https://img.shields.io/pypi/v/pysimultan.svg)](https://pypi.org/project/pysimultan)
32
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pysimultan.svg)](https://pypi.org/project/pysimultan)
33
+
34
+ PySimultan is a Python library designed to facilitate the creation, manipulation, and management of SIMULTAN data models, taxonomies, and templates. It provides a structured way to define and interact with complex data structures, making it particularly useful for applications that require detailed data organization and templating.
35
+ Key Features:
36
+ - Data Models: Create and manage data SIMULTAN models with ease.
37
+ - Taxonomies: Define and use taxonomies to categorize and structure data.
38
+ - File and Directory Management: Handle files and directories within the data models.
39
+ - Mapping of Python objects to SIMULTAN data models: Map Python objects to SIMULTAN data models for easy data creation and manipulation.
40
+ - Simple integration in existing Python projects: Easily integrate PySimultan into existing Python projects to enhance data management capabilities.
41
+
42
+
43
+ -----
44
+
45
+ ## Table of Contents
46
+
47
+ - [Installation](#installation)
48
+ - [License](#license)
49
+ - [Usage](#usage)
50
+ - [Change Log](#change-log)
51
+
52
+ ## Installation
53
+
54
+ ```console
55
+ pip install PySimultan
56
+ ```
57
+
58
+ ## License
59
+
60
+ `PySimultan` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
61
+
62
+
63
+ # Usage
64
+
65
+ ### Data Models
66
+
67
+ Create a new data model:
68
+ ```python
69
+ from PySimultan2 import DataModel
70
+
71
+ # Create a new data model
72
+ data_model = DataModel.create_new_project(project_path='my_project.simultan',
73
+ user_name='admin',
74
+ password='admin')
75
+ ```
76
+
77
+ Load an existing data model:
78
+ ```python
79
+ from PySimultan2 import DataModel
80
+
81
+ # Load an existing data model
82
+ data_model = DataModel(project_path='my_project.simultan',
83
+ user_name='admin',
84
+ password='admin')
85
+ ```
86
+
87
+ save the data model:
88
+ ```python
89
+ data_model.save()
90
+ ```
91
+
92
+ close and cleanup the data model:
93
+ ```python
94
+ data_model.cleanup()
95
+ ```
96
+
97
+
98
+ ### Mapping python to SIMULTAN
99
+
100
+ #### Create a mapped class:
101
+ ```python
102
+ from PySimultan2 import DataModel, TaxonomyMap, Content, PythonMapper
103
+
104
+ mapper = PythonMapper()
105
+
106
+ class TestComponent(object):
107
+ def __init__(self, *args, **kwargs):
108
+ self.param_1 = kwargs.get('param_1')
109
+ self.param_2 = kwargs.get('param_2')
110
+
111
+ content0 = Content(text_or_key='param_1', # text or key of the content/parameter/property
112
+ property_name='param_1', # name of the generated property
113
+ type=None, # type of the content/parameter/property
114
+ unit=None, # unit of the content/parameter/property
115
+ documentation='param_1 to test')
116
+
117
+ content1 = Content(text_or_key='param_2', # text or key of the content/parameter/property
118
+ property_name='param_2', # name of the generated property
119
+ type=None, # type of the content/parameter/property
120
+ unit=None, # unit of the content/parameter/property
121
+ documentation='param_2 to test')
122
+
123
+ test_component_map = TaxonomyMap(taxonomy_name='PySimultan',
124
+ taxonomy_key='Test',
125
+ taxonomy_entry_name='test_component',
126
+ taxonomy_entry_key='test_component',
127
+ content=[content0, content1],
128
+ )
129
+
130
+ mapper.register(test_component_map.taxonomy_entry_key, TestComponent, taxonomy_map=test_component_map)
131
+ ```
132
+
133
+ #### Create an instance of the mapped class:
134
+ ```python
135
+ # get the mapped class
136
+ mapped_test_component_cls = mapper.get_mapped_class('test_component')
137
+
138
+ # create an instance of the mapped class
139
+ mapped_test_component = mapped_test_component_cls(param_1='value1',
140
+ param_2='value2',
141
+ data_model=data_model)
142
+
143
+ # save the data_model
144
+ data_model.save()
145
+
146
+ # cleanup the data_model
147
+ data_model.cleanup()
148
+ ```
149
+
150
+ #### Load an instance of the mapped class:
151
+ ```python
152
+ # load the data_model
153
+ data_model = DataModel(project_path='my_project.simultan',
154
+ user_name='admin',
155
+ password='admin')
156
+
157
+ # get the mapped class
158
+ mapped_test_component_cls = mapper.get_mapped_class('test_component')
159
+
160
+ # get the instances of the mapped class
161
+ instances = mapped_test_component_cls.cls_instaces
162
+
163
+ print(instances[0].param_1)
164
+ ```
165
+
166
+
167
+ # Change Log
168
+
169
+ ## [0.4.20] - 2024-07-01
170
+ - Fixed Bug in nested dictionary creation
171
+
172
+ ## [0.4.19] - 2024-07-01
173
+ - Refactored dictionaries
@@ -0,0 +1,145 @@
1
+ # pysimultan
2
+
3
+ [![PyPI - Version](https://img.shields.io/pypi/v/pysimultan.svg)](https://pypi.org/project/pysimultan)
4
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pysimultan.svg)](https://pypi.org/project/pysimultan)
5
+
6
+ PySimultan is a Python library designed to facilitate the creation, manipulation, and management of SIMULTAN data models, taxonomies, and templates. It provides a structured way to define and interact with complex data structures, making it particularly useful for applications that require detailed data organization and templating.
7
+ Key Features:
8
+ - Data Models: Create and manage data SIMULTAN models with ease.
9
+ - Taxonomies: Define and use taxonomies to categorize and structure data.
10
+ - File and Directory Management: Handle files and directories within the data models.
11
+ - Mapping of Python objects to SIMULTAN data models: Map Python objects to SIMULTAN data models for easy data creation and manipulation.
12
+ - Simple integration in existing Python projects: Easily integrate PySimultan into existing Python projects to enhance data management capabilities.
13
+
14
+
15
+ -----
16
+
17
+ ## Table of Contents
18
+
19
+ - [Installation](#installation)
20
+ - [License](#license)
21
+ - [Usage](#usage)
22
+ - [Change Log](#change-log)
23
+
24
+ ## Installation
25
+
26
+ ```console
27
+ pip install PySimultan
28
+ ```
29
+
30
+ ## License
31
+
32
+ `PySimultan` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
33
+
34
+
35
+ # Usage
36
+
37
+ ### Data Models
38
+
39
+ Create a new data model:
40
+ ```python
41
+ from PySimultan2 import DataModel
42
+
43
+ # Create a new data model
44
+ data_model = DataModel.create_new_project(project_path='my_project.simultan',
45
+ user_name='admin',
46
+ password='admin')
47
+ ```
48
+
49
+ Load an existing data model:
50
+ ```python
51
+ from PySimultan2 import DataModel
52
+
53
+ # Load an existing data model
54
+ data_model = DataModel(project_path='my_project.simultan',
55
+ user_name='admin',
56
+ password='admin')
57
+ ```
58
+
59
+ save the data model:
60
+ ```python
61
+ data_model.save()
62
+ ```
63
+
64
+ close and cleanup the data model:
65
+ ```python
66
+ data_model.cleanup()
67
+ ```
68
+
69
+
70
+ ### Mapping python to SIMULTAN
71
+
72
+ #### Create a mapped class:
73
+ ```python
74
+ from PySimultan2 import DataModel, TaxonomyMap, Content, PythonMapper
75
+
76
+ mapper = PythonMapper()
77
+
78
+ class TestComponent(object):
79
+ def __init__(self, *args, **kwargs):
80
+ self.param_1 = kwargs.get('param_1')
81
+ self.param_2 = kwargs.get('param_2')
82
+
83
+ content0 = Content(text_or_key='param_1', # text or key of the content/parameter/property
84
+ property_name='param_1', # name of the generated property
85
+ type=None, # type of the content/parameter/property
86
+ unit=None, # unit of the content/parameter/property
87
+ documentation='param_1 to test')
88
+
89
+ content1 = Content(text_or_key='param_2', # text or key of the content/parameter/property
90
+ property_name='param_2', # name of the generated property
91
+ type=None, # type of the content/parameter/property
92
+ unit=None, # unit of the content/parameter/property
93
+ documentation='param_2 to test')
94
+
95
+ test_component_map = TaxonomyMap(taxonomy_name='PySimultan',
96
+ taxonomy_key='Test',
97
+ taxonomy_entry_name='test_component',
98
+ taxonomy_entry_key='test_component',
99
+ content=[content0, content1],
100
+ )
101
+
102
+ mapper.register(test_component_map.taxonomy_entry_key, TestComponent, taxonomy_map=test_component_map)
103
+ ```
104
+
105
+ #### Create an instance of the mapped class:
106
+ ```python
107
+ # get the mapped class
108
+ mapped_test_component_cls = mapper.get_mapped_class('test_component')
109
+
110
+ # create an instance of the mapped class
111
+ mapped_test_component = mapped_test_component_cls(param_1='value1',
112
+ param_2='value2',
113
+ data_model=data_model)
114
+
115
+ # save the data_model
116
+ data_model.save()
117
+
118
+ # cleanup the data_model
119
+ data_model.cleanup()
120
+ ```
121
+
122
+ #### Load an instance of the mapped class:
123
+ ```python
124
+ # load the data_model
125
+ data_model = DataModel(project_path='my_project.simultan',
126
+ user_name='admin',
127
+ password='admin')
128
+
129
+ # get the mapped class
130
+ mapped_test_component_cls = mapper.get_mapped_class('test_component')
131
+
132
+ # get the instances of the mapped class
133
+ instances = mapped_test_component_cls.cls_instaces
134
+
135
+ print(instances[0].param_1)
136
+ ```
137
+
138
+
139
+ # Change Log
140
+
141
+ ## [0.4.20] - 2024-07-01
142
+ - Fixed Bug in nested dictionary creation
143
+
144
+ ## [0.4.19] - 2024-07-01
145
+ - Refactored dictionaries
@@ -0,0 +1 @@
1
+ version = '0.5.7'
@@ -46,6 +46,8 @@ class Content(object):
46
46
  self._taxonomy_entries = {}
47
47
  self._taxonomy_map = kwargs.get('taxonomy_map', None)
48
48
 
49
+ self.taxonomy_key = kwargs.get('taxonomy_key')
50
+
49
51
  add_kwargs = kwargs.copy()
50
52
  _ = [add_kwargs.pop(key, None) for key in ['taxonomy_name', 'taxonomy_key', 'taxonomy_entry_name',
51
53
  'taxonomy_entry_key', 'content', 'documentation', 'python_mapper',
@@ -54,10 +56,20 @@ class Content(object):
54
56
 
55
57
  self.additional_attributes = add_kwargs
56
58
 
59
+ self.taxonomy_key = kwargs.get('taxonomy_key')
60
+ self.taxonomy_name = kwargs.get('taxonomy_name')
61
+
62
+
57
63
  def get_taxonomie_entry(self, data_model: 'DataModel'):
58
64
  if self._taxonomy_entries.get(data_model, None) is None:
59
65
 
60
- taxonomy = self._taxonomy_map.get_or_create_simultan_taxonomy(data_model=data_model, create=True)
66
+ if self.taxonomy_key is None:
67
+ taxonomy = self._taxonomy_map.get_or_create_simultan_taxonomy(data_model=data_model, create=True)
68
+ else:
69
+ taxonomy = data_model.get_or_create_taxonomy(taxonomy_name=self.taxonomy_name,
70
+ taxonomy_key=self.taxonomy_key,
71
+ create=True)
72
+
61
73
  self._taxonomy_entries[data_model] = data_model.get_or_create_taxonomy_entry(name=self.text_or_key,
62
74
  key=self.text_or_key,
63
75
  description=self.documentation,
@@ -20,7 +20,6 @@ from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolPara
20
20
 
21
21
 
22
22
  class TypeSetterFcnLookupDict(object):
23
-
24
23
  lookup_dict = {None: lambda x: None,
25
24
  SimComponent: set_property_to_sim_component,
26
25
  SimultanObject: set_property_to_sim_component,
@@ -32,7 +31,11 @@ class TypeSetterFcnLookupDict(object):
32
31
  SimMultiValueField3D: set_property_to_value_field,
33
32
  SimMultiValueBigTable: set_property_to_value_field,
34
33
  int: set_property_to_parameter,
34
+ np.int32: set_property_to_parameter,
35
+ np.int64: set_property_to_parameter,
35
36
  float: set_property_to_parameter,
37
+ np.float32: set_property_to_parameter,
38
+ np.float64: set_property_to_parameter,
36
39
  str: set_property_to_parameter,
37
40
  bool: set_property_to_parameter,
38
41
  FileInfo: set_property_to_file_info,
@@ -360,9 +360,9 @@ def create_parameter(value: Union[int, float, str, SimTaxonomyEntry] = 0,
360
360
  taxonomy_entry = get_default_slot(SimTaxonomyEntry)
361
361
 
362
362
  if parameter_type is None:
363
- if type(value) is float:
363
+ if type(value) in (float, np.float64, np.float32):
364
364
  parameter_type = float
365
- elif type(value) is int:
365
+ elif type(value) in (int, np.int64, np.int32):
366
366
  parameter_type = int
367
367
  elif type(value) is str:
368
368
  parameter_type = str
pysimultan-0.5.5/PKG-INFO DELETED
@@ -1,91 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: PySimultan
3
- Version: 0.5.5
4
- Project-URL: Documentation, https://github.com/Bühler Maximilian/PySimultan2#readme
5
- Project-URL: Issues, https://github.com/Bühler Maximilian/PySimultan2/issues
6
- Project-URL: Source, https://github.com/Bühler Maximilian/PySimultan2
7
- Author-email: Bühler Maximilian <maximilian.buehler@tuwien.ac.at>
8
- License: MIT
9
- Classifier: Development Status :: 4 - Beta
10
- Classifier: Programming Language :: Python
11
- Classifier: Programming Language :: Python :: 3.8
12
- Classifier: Programming Language :: Python :: 3.9
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: Implementation :: CPython
17
- Classifier: Programming Language :: Python :: Implementation :: PyPy
18
- Requires-Python: >=3.8
19
- Requires-Dist: colorlog
20
- Requires-Dist: numpy
21
- Requires-Dist: pandas
22
- Requires-Dist: pyarrow
23
- Requires-Dist: pythonnet
24
- Requires-Dist: ruamel-yaml
25
- Requires-Dist: six
26
- Requires-Dist: tqdm
27
- Description-Content-Type: text/markdown
28
-
29
- # pysimultan_api
30
-
31
- [![PyPI - Version](https://img.shields.io/pypi/v/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
32
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
33
-
34
- -----
35
-
36
- ## Table of Contents
37
-
38
- - [Installation](#installation)
39
- - [License](#license)
40
- - [Usage](#usage)
41
- - [FreeCAD support](#freecad-support)
42
- - [Change Log](#change-log)
43
-
44
- ## Installation
45
-
46
- ```console
47
- pip install PySimultan
48
- ```
49
-
50
- ## License
51
-
52
- `pysimultan-api` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
53
-
54
-
55
- ### Usage
56
-
57
- ```python
58
- from PySimultan2 import DataModel, Content, TaxonomyMap, PythonMapper
59
- ```
60
-
61
-
62
- ## FreeCAD support
63
-
64
- PySimultanUI looks for a FreeCAD version in C:\Program Files\FreeCAD. If you don't have FreeCAD installed, you can
65
- download it from the FreeCAD website or use the FreeCAD version provided in the FreeCAD-Bundle repository.
66
- Go to https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds and download the latest version
67
- of FreeCAD for your OS. The version must be compiled with the same python version you are using (e.g. py311).
68
-
69
- Extract the zip file to C:\Program Files\FreeCAD
70
-
71
- The directory structure should look like this:
72
-
73
- ```
74
- C:\Program Files\FreeCAD
75
- │ ...
76
- │ FreeCAD_weekly-builds-37730-conda-Windows-x86_64-py311
77
- │ │ bin
78
- │ │ lib
79
- │ │ ...
80
-
81
-
82
- ```
83
-
84
-
85
- # Change Log
86
-
87
- ## [0.4.20] - 2024-07-01
88
- - Fixed Bug in nested dictionary creation
89
-
90
- ## [0.4.19] - 2024-07-01
91
- - Refactored dictionaries
@@ -1,63 +0,0 @@
1
- # pysimultan_api
2
-
3
- [![PyPI - Version](https://img.shields.io/pypi/v/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
4
- [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
5
-
6
- -----
7
-
8
- ## Table of Contents
9
-
10
- - [Installation](#installation)
11
- - [License](#license)
12
- - [Usage](#usage)
13
- - [FreeCAD support](#freecad-support)
14
- - [Change Log](#change-log)
15
-
16
- ## Installation
17
-
18
- ```console
19
- pip install PySimultan
20
- ```
21
-
22
- ## License
23
-
24
- `pysimultan-api` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
25
-
26
-
27
- ### Usage
28
-
29
- ```python
30
- from PySimultan2 import DataModel, Content, TaxonomyMap, PythonMapper
31
- ```
32
-
33
-
34
- ## FreeCAD support
35
-
36
- PySimultanUI looks for a FreeCAD version in C:\Program Files\FreeCAD. If you don't have FreeCAD installed, you can
37
- download it from the FreeCAD website or use the FreeCAD version provided in the FreeCAD-Bundle repository.
38
- Go to https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds and download the latest version
39
- of FreeCAD for your OS. The version must be compiled with the same python version you are using (e.g. py311).
40
-
41
- Extract the zip file to C:\Program Files\FreeCAD
42
-
43
- The directory structure should look like this:
44
-
45
- ```
46
- C:\Program Files\FreeCAD
47
- │ ...
48
- │ FreeCAD_weekly-builds-37730-conda-Windows-x86_64-py311
49
- │ │ bin
50
- │ │ lib
51
- │ │ ...
52
-
53
-
54
- ```
55
-
56
-
57
- # Change Log
58
-
59
- ## [0.4.20] - 2024-07-01
60
- - Fixed Bug in nested dictionary creation
61
-
62
- ## [0.4.19] - 2024-07-01
63
- - Refactored dictionaries
@@ -1 +0,0 @@
1
- version = '0.5.5'
File without changes
File without changes
File without changes
File without changes
File without changes