PySimultan 0.5.5__tar.gz → 0.5.6__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- pysimultan-0.5.6/PKG-INFO +173 -0
- pysimultan-0.5.6/README.md +145 -0
- pysimultan-0.5.6/src/PySimultan2/__about__.py +1 -0
- pysimultan-0.5.5/PKG-INFO +0 -91
- pysimultan-0.5.5/README.md +0 -63
- pysimultan-0.5.5/src/PySimultan2/__about__.py +0 -1
- {pysimultan-0.5.5 → pysimultan-0.5.6}/.gitignore +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/LICENSE.txt +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/pyproject.toml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/CHANGELOG.md +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/data_model.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/default_types.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/files.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/geometry/geometry_base.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/object_mapper.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/componentmanager.user +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/simultan_object.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/taxonomy_maps.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/type_setter_lookup.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/utils.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/__init__.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/__init__.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/create_component.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/create_referenced_component.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/create_taxonomies.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/__init__.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/change_references_example.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/empty_project.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/example1.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/example2.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/example3.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/list_test.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_example3.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_example4.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_example_extend.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_reference_list.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/U5.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/U5_1.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/U5_orig.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/__init__.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/new_geometry_test.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/new_test_file.txt +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/new_test_file2.txt +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_file.yml +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_file_load.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_file_project.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_parameter_reference_project.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_set_dictionary.simultan +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_calculate_steady_state_temperature.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_circular_references.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_directory_and_files.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_files.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_files_load.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_new_dll.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_parameter_reference.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_register_class.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_register_decorator.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_set_dictionary.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_set_properties.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/test_ui.py +0 -0
- {pysimultan-0.5.5 → pysimultan-0.5.6}/tests/ui_minimal_example.py +0 -0
@@ -0,0 +1,173 @@
|
|
1
|
+
Metadata-Version: 2.3
|
2
|
+
Name: PySimultan
|
3
|
+
Version: 0.5.6
|
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.6'
|
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
|
pysimultan-0.5.5/README.md
DELETED
@@ -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
|
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.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/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
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll
RENAMED
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
RENAMED
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
RENAMED
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/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
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Collections.Immutable.dll
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Net.Http.Formatting.dll
RENAMED
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/src/PySimultan2/resources/System.Reflection.Metadata.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
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/create_component_with_taxonomy_slot.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/empty_project.simultan
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/example_extend_1.simultan
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_example_extend.yml
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/tests/readme_examples/resources/template_reference_list.yml
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
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_multi_value_big_table_load.simultan
RENAMED
File without changes
|
{pysimultan-0.5.5 → pysimultan-0.5.6}/tests/resources/test_parameter_reference_project.simultan
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
|