PySimultan 0.7.2__tar.gz → 0.7.4__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.
- {pysimultan-0.7.2 → pysimultan-0.7.4}/.gitignore +2 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/PKG-INFO +1 -1
 - pysimultan-0.7.4/src/PySimultan2/__about__.py +1 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/data_model.py +4 -2
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/multi_values.py +23 -1
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/object_mapper.py +13 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/type_setter_lookup.py +3 -1
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/utils.py +4 -2
 - pysimultan-0.7.4/tests/resources/new_test_file_1.txt +1 -0
 - pysimultan-0.7.4/tests/resources/new_test_file_2.txt +1 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_set_properties.py +7 -1
 - pysimultan-0.7.2/src/PySimultan2/__about__.py +0 -1
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/LICENSE.txt +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/README.md +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/pyproject.toml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/CHANGELOG.md +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/__init__.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/default_types.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/files.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/geometry/__init__.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/geometry/geometry_base.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/geometry/utils.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/ClosedXML.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/ControlzEx.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Fluent.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Sprache.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/__init__.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/simultan_object.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/taxonomy_maps.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/RoomAcoustics_V02.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/__init__.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/__init__.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/create_component.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/create_referenced_component.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/create_taxonomies.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/__init__.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_example3.yml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_example4.yml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_example_extend.yml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_reference_list.yml +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/resources/__init__.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/resources/new_test_file.txt +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/resources/new_test_file2.txt +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_calc_static_zone_temperature.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_calculate_steady_state_temperature.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_circular_references.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_create_geometry.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_default_component.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_directory_and_files.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_files.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_files_load.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_load_geometry.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_load_multi_values.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_new_dll.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_new_project_creation.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_numeric_map.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_numpy.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_parameter_reference.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_pythonnet.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_register_class.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_register_decorator.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_set_attr_property.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_set_dictionary.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_taxonomie_maps.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_taxonomies.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/test_ui.py +0 -0
 - {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/ui_minimal_example.py +0 -0
 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Metadata-Version: 2.4
         
     | 
| 
       2 
2 
     | 
    
         
             
            Name: PySimultan
         
     | 
| 
       3 
     | 
    
         
            -
            Version: 0.7. 
     | 
| 
      
 3 
     | 
    
         
            +
            Version: 0.7.4
         
     | 
| 
       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.7.4'
         
     | 
| 
         @@ -975,9 +975,12 @@ class DataModel: 
     | 
|
| 
       975 
975 
     | 
    
         
             
                    return self.component_dict
         
     | 
| 
       976 
976 
     | 
    
         | 
| 
       977 
977 
     | 
    
         
             
                def get_component_by_id(self,
         
     | 
| 
       978 
     | 
    
         
            -
                                        item_id: SimId,
         
     | 
| 
      
 978 
     | 
    
         
            +
                                        item_id: Union[SimId, int],
         
     | 
| 
       979 
979 
     | 
    
         
             
                                        search_subcomponents=False) -> Union[SimComponent, None]:
         
     | 
| 
       980 
980 
     | 
    
         | 
| 
      
 981 
     | 
    
         
            +
                    if isinstance(item_id, int):
         
     | 
| 
      
 982 
     | 
    
         
            +
                        item_id = SimId(self.project.GlobalID, item_id)
         
     | 
| 
      
 983 
     | 
    
         
            +
             
     | 
| 
       981 
984 
     | 
    
         
             
                    # print(item_id.GlobalId, item_id.LocalId)
         
     | 
| 
       982 
985 
     | 
    
         
             
                    # _ = [print((x.Id.GlobalId, x.Id.LocalId)) for x in self.data.Items]
         
     | 
| 
       983 
986 
     | 
    
         | 
| 
         @@ -1023,7 +1026,6 @@ class DataModel: 
     | 
|
| 
       1023 
1026 
     | 
    
         
             
                                       f'Please check if the project is loaded correctly.')
         
     | 
| 
       1024 
1027 
     | 
    
         
             
                        # try to reload the file infos
         
     | 
| 
       1025 
1028 
     | 
    
         
             
                        self.get_file_infos_cached.cache_clear()
         
     | 
| 
       1026 
     | 
    
         
            -
                        file_infos = self.get_file_infos_cached()
         
     | 
| 
       1027 
1029 
     | 
    
         | 
| 
       1028 
1030 
     | 
    
         
             
                    return self.get_file_infos_cached()
         
     | 
| 
       1029 
1031 
     | 
    
         | 
| 
         @@ -16,6 +16,18 @@ from pandas import DataFrame 
     | 
|
| 
       16 
16 
     | 
    
         
             
            import System
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
            class SimultanPandasDataFrame(pd.DataFrame):
         
     | 
| 
      
 20 
     | 
    
         
            +
                # temporary properties
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                # normal properties
         
     | 
| 
      
 23 
     | 
    
         
            +
                _metadata = ["SimultanField"]
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                @property
         
     | 
| 
      
 26 
     | 
    
         
            +
                def _constructor(self):
         
     | 
| 
      
 27 
     | 
    
         
            +
                    return SimultanPandasDataFrame
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       19 
31 
     | 
    
         
             
            def numpy_to_simultan_multi_value_field_3d(array: np.ndarray,
         
     | 
| 
       20 
32 
     | 
    
         
             
                                                       name: str = 'UnnamedField',
         
     | 
| 
       21 
33 
     | 
    
         
             
                                                       x_axis: list = None,
         
     | 
| 
         @@ -124,7 +136,8 @@ def simultan_multi_value_big_table_to_pandas(field: SimMultiValueBigTable) -> pd 
     | 
|
| 
       124 
136 
     | 
    
         
             
                for i in range(field.RowHeaders.Count):
         
     | 
| 
       125 
137 
     | 
    
         
             
                    data[i, :] = list(field.GetRow(i))
         
     | 
| 
       126 
138 
     | 
    
         | 
| 
       127 
     | 
    
         
            -
                df =  
     | 
| 
      
 139 
     | 
    
         
            +
                df = SimultanPandasDataFrame(data, columns=[x.Name for x in field.ColumnHeaders], index=[x.Name for x in field.RowHeaders])
         
     | 
| 
      
 140 
     | 
    
         
            +
                df.SimultanField = {'id': field.Id, 'name': field.Name}
         
     | 
| 
       128 
141 
     | 
    
         | 
| 
       129 
142 
     | 
    
         
             
                return df
         
     | 
| 
       130 
143 
     | 
    
         | 
| 
         @@ -224,8 +237,16 @@ def set_parameter_to_value_field(parameter: SimDoubleParameter, 
     | 
|
| 
       224 
237 
     | 
    
         
             
                    #
         
     | 
| 
       225 
238 
     | 
    
         
             
                    # source = SimMultiValueField3DParameterSource(value_field, x_ax_val, y_ax_val, z_ax_val)
         
     | 
| 
       226 
239 
     | 
    
         
             
                    source = default_value_source(value_field, x_ax_val, y_ax_val, z_ax_val)
         
     | 
| 
      
 240 
     | 
    
         
            +
                elif isinstance(value, SimultanPandasDataFrame):
         
     | 
| 
      
 241 
     | 
    
         
            +
                    field = next(x for x in data_model.value_fields if x.Id.Equals(value.SimultanField['id']))  # check if field is in data model
         
     | 
| 
      
 242 
     | 
    
         
            +
                    value_field = pandas_to_simultan_multi_value_big_table(value,
         
     | 
| 
      
 243 
     | 
    
         
            +
                                                                           name=field_name if field_name is not None else str(
         
     | 
| 
      
 244 
     | 
    
         
            +
                                                                           parameter.Id) + '_field')
         
     | 
| 
      
 245 
     | 
    
         
            +
                    field.ReplaceData(value_field)
         
     | 
| 
      
 246 
     | 
    
         
            +
                    source = SimMultiValueBigTableParameterSource(field, 0, 0)
         
     | 
| 
       227 
247 
     | 
    
         | 
| 
       228 
248 
     | 
    
         
             
                elif isinstance(value, pd.DataFrame):
         
     | 
| 
      
 249 
     | 
    
         
            +
                    value.__class__ = SimultanPandasDataFrame  # change class to add temporary properties
         
     | 
| 
       229 
250 
     | 
    
         
             
                    value_field = pandas_to_simultan_multi_value_big_table(value,
         
     | 
| 
       230 
251 
     | 
    
         
             
                                                                           name=field_name if field_name is not None else str(
         
     | 
| 
       231 
252 
     | 
    
         
             
                                                                               parameter.Id) + '_field')
         
     | 
| 
         @@ -233,6 +254,7 @@ def set_parameter_to_value_field(parameter: SimDoubleParameter, 
     | 
|
| 
       233 
254 
     | 
    
         
             
                        data_model.add_field(value_field)
         
     | 
| 
       234 
255 
     | 
    
         | 
| 
       235 
256 
     | 
    
         
             
                    source = SimMultiValueBigTableParameterSource(value_field, 0, 0)
         
     | 
| 
      
 257 
     | 
    
         
            +
                    value.SimultanField = {'id': value_field.Id, 'name': value_field.Name}
         
     | 
| 
       236 
258 
     | 
    
         | 
| 
       237 
259 
     | 
    
         
             
                else:
         
     | 
| 
       238 
260 
     | 
    
         
             
                    raise ValueError('The value of the field parameter must be a numpy array or a DataFrame.')
         
     | 
| 
         @@ -13,6 +13,7 @@ from .geometry.utils import create_python_geometry 
     | 
|
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            from SIMULTAN.Data.Geometry import (Layer, Vertex, Edge, PEdge, Face, Volume, EdgeLoop)
         
     | 
| 
       15 
15 
     | 
    
         
             
            from SIMULTAN.Data.Components import SimComponent
         
     | 
| 
      
 16 
     | 
    
         
            +
            from SIMULTAN.Data import SimId
         
     | 
| 
       16 
17 
     | 
    
         
             
            from .geometry.geometry_base import (SimultanLayer, SimultanVertex, SimultanEdge, SimultanEdgeLoop, SimultanFace,
         
     | 
| 
       17 
18 
     | 
    
         
             
                                                 SimultanVolume)
         
     | 
| 
       18 
19 
     | 
    
         | 
| 
         @@ -457,6 +458,18 @@ class PythonMapper(object): 
     | 
|
| 
       457 
458 
     | 
    
         
             
                    except IndexError:
         
     | 
| 
       458 
459 
     | 
    
         
             
                        return None
         
     | 
| 
       459 
460 
     | 
    
         | 
| 
      
 461 
     | 
    
         
            +
                def get_mapped_object_by_id(self,
         
     | 
| 
      
 462 
     | 
    
         
            +
                                            component_id: Union[SimId, int],
         
     | 
| 
      
 463 
     | 
    
         
            +
                                            data_model: 'DataModel',
         
     | 
| 
      
 464 
     | 
    
         
            +
                                            search_subcomponents: bool = True) -> Optional[SimultanObject]:
         
     | 
| 
      
 465 
     | 
    
         
            +
             
     | 
| 
      
 466 
     | 
    
         
            +
                    component = data_model.get_component_by_id(component_id, search_subcomponents=search_subcomponents)
         
     | 
| 
      
 467 
     | 
    
         
            +
                    if component is None:
         
     | 
| 
      
 468 
     | 
    
         
            +
                        logger.error(f'Component with id {id} not found in the data model')
         
     | 
| 
      
 469 
     | 
    
         
            +
                        return None
         
     | 
| 
      
 470 
     | 
    
         
            +
                    typed_object = self.create_python_object(component, data_model=data_model)
         
     | 
| 
      
 471 
     | 
    
         
            +
                    return typed_object
         
     | 
| 
      
 472 
     | 
    
         
            +
             
     | 
| 
       460 
473 
     | 
    
         
             
                def __repr__(self):
         
     | 
| 
       461 
474 
     | 
    
         
             
                    return f'PythonMapper(module={self.module}, {len(self.registered_classes)} registered classes)'
         
     | 
| 
       462 
475 
     | 
    
         | 
| 
         @@ -12,6 +12,7 @@ from .utils import (SimComponent, SimDoubleParameter, SimIntegerParameter, SimSt 
     | 
|
| 
       12 
12 
     | 
    
         
             
            from .simultan_object import SimultanObject, MetaMock
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            from .default_types import ComponentList, ComponentDictionary
         
     | 
| 
      
 15 
     | 
    
         
            +
            from .multi_values import SimultanPandasDataFrame
         
     | 
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
            from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolParameter, SimDoubleParameter,
         
     | 
| 
       17 
18 
     | 
    
         
             
                                                  SimEnumParameter, SimIntegerParameter, SimStringParameter, ComponentMapping,
         
     | 
| 
         @@ -50,7 +51,8 @@ class TypeSetterFcnLookupDict(object): 
     | 
|
| 
       50 
51 
     | 
    
         
             
                               ComponentDictionary: set_property_to_sim_component,
         
     | 
| 
       51 
52 
     | 
    
         
             
                               ComponentList: set_property_to_list,
         
     | 
| 
       52 
53 
     | 
    
         
             
                               np.ndarray: set_property_to_value_field,
         
     | 
| 
       53 
     | 
    
         
            -
                               pd.DataFrame: set_property_to_value_field 
     | 
| 
      
 54 
     | 
    
         
            +
                               pd.DataFrame: set_property_to_value_field,
         
     | 
| 
      
 55 
     | 
    
         
            +
                               SimultanPandasDataFrame: set_property_to_value_field}
         
     | 
| 
       54 
56 
     | 
    
         | 
| 
       55 
57 
     | 
    
         
             
                def __getitem__(self, item: type):
         
     | 
| 
       56 
58 
     | 
    
         
             
                    bases = [item, *inspect.getmro(type(item))]
         
     | 
| 
         @@ -27,7 +27,7 @@ from SIMULTAN.Data.Assets import (ResourceEntry, ResourceFileEntry, ContainedRes 
     | 
|
| 
       27 
27 
     | 
    
         
             
            from SIMULTAN.Data.Geometry import Face, Edge, Vertex, Volume
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
            from .multi_values import (simultan_multi_value_field_3d_to_numpy, set_parameter_to_value_field,
         
     | 
| 
       30 
     | 
    
         
            -
                                       create_field_parameter, simultan_multi_value_big_table_to_pandas)
         
     | 
| 
      
 30 
     | 
    
         
            +
                                       create_field_parameter, simultan_multi_value_big_table_to_pandas, SimultanPandasDataFrame)
         
     | 
| 
       31 
31 
     | 
    
         
             
            from .files import FileInfo, remove_asset_from_component, add_asset_to_component, DirectoryInfo
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
            if TYPE_CHECKING:
         
     | 
| 
         @@ -1442,9 +1442,11 @@ def add_properties(prop_name: str, 
     | 
|
| 
       1442 
1442 
     | 
    
         
             
                def getx(self):
         
     | 
| 
       1443 
1443 
     | 
    
         | 
| 
       1444 
1444 
     | 
    
         
             
                    cache_value = self.__property_cache__.get(content.text_or_key, Empty)
         
     | 
| 
      
 1445 
     | 
    
         
            +
                    if isinstance(cache_value, SimultanPandasDataFrame):
         
     | 
| 
      
 1446 
     | 
    
         
            +
                        cache_value = Empty
         
     | 
| 
       1445 
1447 
     | 
    
         | 
| 
       1446 
1448 
     | 
    
         
             
                    if cache_value is not Empty:
         
     | 
| 
       1447 
     | 
    
         
            -
                        return  
     | 
| 
      
 1449 
     | 
    
         
            +
                        return cache_value
         
     | 
| 
       1448 
1450 
     | 
    
         | 
| 
       1449 
1451 
     | 
    
         
             
                    val = get_property(component=self,
         
     | 
| 
       1450 
1452 
     | 
    
         
             
                                       text_or_key=content.text_or_key,
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            This is the content of the file 1.
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            This is the content of the file 2.
         
     | 
| 
         @@ -121,6 +121,12 @@ def test_set_value_field(test_component): 
     | 
|
| 
       121 
121 
     | 
    
         
             
                test_component.mapped_property = df
         
     | 
| 
       122 
122 
     | 
    
         
             
                assert np.array_equal(test_component.mapped_property.values, df.values)
         
     | 
| 
       123 
123 
     | 
    
         | 
| 
      
 124 
     | 
    
         
            +
                df['A'] = df['A'] * 2
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
                test_component.value2 = df
         
     | 
| 
      
 127 
     | 
    
         
            +
                assert np.array_equal(test_component.value2.values, df.values)
         
     | 
| 
      
 128 
     | 
    
         
            +
                assert np.array_equal(test_component.mapped_property.values, df.values)
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
       124 
130 
     | 
    
         | 
| 
       125 
131 
     | 
    
         
             
            def set_referenced_component(test_component):
         
     | 
| 
       126 
132 
     | 
    
         
             
                referenced_component = mapped_cls_2(name='referenced_component',
         
     | 
| 
         @@ -152,7 +158,7 @@ if __name__ == '__main__': 
     | 
|
| 
       152 
158 
     | 
    
         
             
                test_set_set_file(component)
         
     | 
| 
       153 
159 
     | 
    
         
             
                test_set_value_field(component)
         
     | 
| 
       154 
160 
     | 
    
         
             
                set_referenced_component(component)
         
     | 
| 
       155 
     | 
    
         
            -
                set_new_component(component)
         
     | 
| 
      
 161 
     | 
    
         
            +
                # set_new_component(component)
         
     | 
| 
       156 
162 
     | 
    
         
             
                data_model.save()
         
     | 
| 
       157 
163 
     | 
    
         | 
| 
       158 
164 
     | 
    
         
             
            data_model.cleanup()
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            version = '0.7.2'
         
     | 
| 
         
            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.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
    RENAMED
    
    | 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
    RENAMED
    
    | 
         
            File without changes
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll
    RENAMED
    
    | 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
    RENAMED
    
    | 
         
            File without changes
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.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
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/src/PySimultan2/resources/System.Net.Http.Formatting.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
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/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
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/tests/readme_examples/resources/template_example_extend.yml
    RENAMED
    
    | 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
    
        {pysimultan-0.7.2 → pysimultan-0.7.4}/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
         
     | 
| 
         
            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
         
     |