PySimultan 0.4.13__py3-none-any.whl → 0.4.16__py3-none-any.whl
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.
- PySimultan2/__about__.py +1 -1
- PySimultan2/data_model.py +5 -9
- PySimultan2/files.py +1 -0
- PySimultan2/geometry/geometry_base.py +1 -1
- PySimultan2/object_mapper.py +7 -0
- PySimultan2/simultan_object.py +6 -7
- PySimultan2/utils.py +8 -8
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/METADATA +1 -1
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/RECORD +11 -11
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/WHEEL +0 -0
- {pysimultan-0.4.13.dist-info → pysimultan-0.4.16.dist-info}/licenses/LICENSE.txt +0 -0
    
        PySimultan2/__about__.py
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            version = '0.4. | 
| 1 | 
            +
            version = '0.4.16'
         | 
    
        PySimultan2/data_model.py
    CHANGED
    
    | @@ -127,10 +127,6 @@ class DataModel: | |
| 127 127 |  | 
| 128 128 | 
             
                    instance = super().__new__(cls)
         | 
| 129 129 | 
             
                    config.set_default_data_model(instance)
         | 
| 130 | 
            -
                    try:
         | 
| 131 | 
            -
                        default_data_model.set_default_data_model(instance)
         | 
| 132 | 
            -
                    except Exception as e:
         | 
| 133 | 
            -
                        logger.error(f'Error adding instance {instance} to data_models: {e}')
         | 
| 134 130 | 
             
                    return instance
         | 
| 135 131 |  | 
| 136 132 | 
             
                def __init__(self, *args, **kwargs):
         | 
| @@ -179,7 +175,7 @@ class DataModel: | |
| 179 175 | 
             
                @property
         | 
| 180 176 | 
             
                def models(self) -> dict[int, 'GeometryModel']:
         | 
| 181 177 | 
             
                    """
         | 
| 182 | 
            -
                    Return the  | 
| 178 | 
            +
                    Return the fc_geometry models of the project
         | 
| 183 179 | 
             
                    :return: dict[int, GeometryModel]
         | 
| 184 180 | 
             
                    """
         | 
| 185 181 |  | 
| @@ -437,9 +433,9 @@ class DataModel: | |
| 437 433 |  | 
| 438 434 | 
             
                def add_new_geometry_model(self, file_name: str, model_name: str = None, return_resource=False):
         | 
| 439 435 | 
             
                    """
         | 
| 440 | 
            -
                    Create and add a new  | 
| 436 | 
            +
                    Create and add a new fc_geometry model
         | 
| 441 437 | 
             
                    :param file_name: name of the created .simgeo file
         | 
| 442 | 
            -
                    :param model_name: name of the  | 
| 438 | 
            +
                    :param model_name: name of the fc_geometry model
         | 
| 443 439 | 
             
                    :param return_resource: return the resource
         | 
| 444 440 | 
             
                    :return: GeometryViewer.Model.GeometryModel, geo_resource
         | 
| 445 441 | 
             
                    """
         | 
| @@ -465,7 +461,7 @@ class DataModel: | |
| 465 461 |  | 
| 466 462 | 
             
                def add_geometry_resource(self, model_name: str):
         | 
| 467 463 | 
             
                    """
         | 
| 468 | 
            -
                    Add / create new  | 
| 464 | 
            +
                    Add / create new fc_geometry resource (.simgeo file)
         | 
| 469 465 | 
             
                    :param model_name: name of the new .simgeo file without file extension; Example: 'new_model'
         | 
| 470 466 | 
             
                    """
         | 
| 471 467 | 
             
                    self.service_provider.GetService[IGeometryViewerService]()
         | 
| @@ -654,7 +650,7 @@ class DataModel: | |
| 654 650 | 
             
                                                                          name,
         | 
| 655 651 | 
             
                                                                          f'{0} ({1})',
         | 
| 656 652 | 
             
                                                                          self.project.AllProjectDataManagers.DispatcherTimerFactory)
         | 
| 657 | 
            -
                    # Load the  | 
| 653 | 
            +
                    # Load the fc_geometry model
         | 
| 658 654 | 
             
                    model_to_work_with = SimGeoIO.Load(resource_file,
         | 
| 659 655 | 
             
                                                       self.project_data_manager,
         | 
| 660 656 | 
             
                                                       None)
         | 
    
        PySimultan2/files.py
    CHANGED
    
    | @@ -245,6 +245,7 @@ class FileInfo(object, metaclass=MetaMock): | |
| 245 245 | 
             
                            self.data_model = config.get_default_data_model()
         | 
| 246 246 | 
             
                        if self.data_model is not None:
         | 
| 247 247 | 
             
                            self.resource_entry = self.data_model.add_resource(self.file_path)
         | 
| 248 | 
            +
                            self.file_path = self.resource_entry.File.FullPath
         | 
| 248 249 | 
             
                    return self._resource_entry
         | 
| 249 250 |  | 
| 250 251 | 
             
                @resource_entry.setter
         | 
| @@ -108,7 +108,7 @@ class SimultanLayer(BaseGeometry): | |
| 108 108 | 
             
                @classmethod
         | 
| 109 109 | 
             
                def create_simultan_instance(cls, *args, **kwargs) -> 'SimultanLayer':
         | 
| 110 110 | 
             
                    """
         | 
| 111 | 
            -
                    Create a new SimultanLayer instance and add to the  | 
| 111 | 
            +
                    Create a new SimultanLayer instance and add to the fc_geometry model
         | 
| 112 112 | 
             
                    :keyword geometry_model: GeometryModel
         | 
| 113 113 | 
             
                    :keyword name: str
         | 
| 114 114 | 
             
                    :return: SimultanLayer
         | 
    
        PySimultan2/object_mapper.py
    CHANGED
    
    | @@ -300,6 +300,13 @@ class PythonMapper(object): | |
| 300 300 | 
             
                    if remove_from_default and config.get_default_mapper() is self:
         | 
| 301 301 | 
             
                        config.set_default_mapper(None)
         | 
| 302 302 |  | 
| 303 | 
            +
                def create_sim_component(self,
         | 
| 304 | 
            +
                                         obj,
         | 
| 305 | 
            +
                                         data_model: 'DataModel'):
         | 
| 306 | 
            +
                    from . utils import create_mapped_python_object
         | 
| 307 | 
            +
                    new_val = create_mapped_python_object(obj, self, data_model)
         | 
| 308 | 
            +
                    return new_val
         | 
| 309 | 
            +
             | 
| 303 310 | 
             
                def copy(self):
         | 
| 304 311 | 
             
                    new_mapper = PythonMapper()
         | 
| 305 312 | 
             
                    new_mapper.registered_classes = self.registered_classes
         | 
    
        PySimultan2/simultan_object.py
    CHANGED
    
    | @@ -6,7 +6,7 @@ from weakref import WeakSet | |
| 6 6 | 
             
            from . import utils
         | 
| 7 7 | 
             
            from numpy import ndarray
         | 
| 8 8 | 
             
            import colorlog
         | 
| 9 | 
            -
            from typing import Union, Optional
         | 
| 9 | 
            +
            from typing import Union, Optional, Any
         | 
| 10 10 |  | 
| 11 11 | 
             
            logger = colorlog.getLogger('PySimultan')
         | 
| 12 12 |  | 
| @@ -148,16 +148,15 @@ class SimultanObject(object, metaclass=MetaMock): | |
| 148 148 | 
             
                    """
         | 
| 149 149 |  | 
| 150 150 | 
             
                    self._wrapped_obj: Union[SimComponent, None] = kwargs.get('wrapped_obj', None)
         | 
| 151 | 
            -
                    self.__obj_init__ = kwargs.get('__obj_init__', False)
         | 
| 151 | 
            +
                    self.__obj_init__: bool = kwargs.get('__obj_init__', False)
         | 
| 152 152 | 
             
                    self._data_model: Union[DataModel, None] = kwargs.get('data_model', config.get_default_data_model())
         | 
| 153 153 | 
             
                    self._object_mapper: Union[PythonMapper, None] = kwargs.get('object_mapper', config.get_default_mapper())
         | 
| 154 | 
            -
                    self.name = kwargs.get('name',  | 
| 154 | 
            +
                    self.name: str = kwargs.get('name', '')
         | 
| 155 155 |  | 
| 156 156 | 
             
                    self.__property_cache__ = {}
         | 
| 157 | 
            -
             | 
| 158 157 | 
             
                    self._slot = None
         | 
| 159 158 |  | 
| 160 | 
            -
                def __getattribute__(self, attr):
         | 
| 159 | 
            +
                def __getattribute__(self, attr) -> Any:
         | 
| 161 160 |  | 
| 162 161 | 
             
                    try:
         | 
| 163 162 | 
             
                        return object.__getattribute__(self, attr)
         | 
| @@ -168,7 +167,7 @@ class SimultanObject(object, metaclass=MetaMock): | |
| 168 167 | 
             
                        else:
         | 
| 169 168 | 
             
                            raise KeyError
         | 
| 170 169 |  | 
| 171 | 
            -
                def __setattr__(self, attr, value):
         | 
| 170 | 
            +
                def __setattr__(self, attr, value) -> None:
         | 
| 172 171 | 
             
                    if hasattr(self, '_wrapped_obj'):
         | 
| 173 172 | 
             
                        if hasattr(self._wrapped_obj, attr) and (self._wrapped_obj is not None) and not self.__obj_init__:
         | 
| 174 173 | 
             
                            object.__setattr__(self._wrapped_obj, attr, value)
         | 
| @@ -330,7 +329,7 @@ class SimultanObject(object, metaclass=MetaMock): | |
| 330 329 | 
             
                def associate(self, other: 'ExtendedBaseGeometry'):
         | 
| 331 330 | 
             
                    """
         | 
| 332 331 | 
             
                    Associate this object with another object
         | 
| 333 | 
            -
                    :param other:  | 
| 332 | 
            +
                    :param other: fc_geometry object to associate with
         | 
| 334 333 | 
             
                    :return: None
         | 
| 335 334 | 
             
                    """
         | 
| 336 335 | 
             
                    other.associate(self)
         | 
    
        PySimultan2/utils.py
    CHANGED
    
    | @@ -4,7 +4,7 @@ from enum import Enum | |
| 4 4 | 
             
            from weakref import WeakSet
         | 
| 5 5 | 
             
            import numpy as np
         | 
| 6 6 | 
             
            import pandas as pd
         | 
| 7 | 
            -
            from typing import List as TypeList, Union, Optional, Type
         | 
| 7 | 
            +
            from typing import List as TypeList, Union, Optional, Type, Any, TYPE_CHECKING
         | 
| 8 8 | 
             
            from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolParameter, SimDoubleParameter,
         | 
| 9 9 | 
             
                                                  SimEnumParameter, SimIntegerParameter, SimStringParameter, ComponentMapping,
         | 
| 10 10 | 
             
                                                  SimSlot, SimComponentVisibility, SimChildComponentEntry, SimDefaultSlots,
         | 
| @@ -21,7 +21,6 @@ from .multi_values import (simultan_multi_value_field_3d_to_numpy, set_parameter | |
| 21 21 | 
             
                                       create_field_parameter, simultan_multi_value_big_table_to_pandas)
         | 
| 22 22 | 
             
            from .files import FileInfo, remove_asset_from_component, add_asset_to_component
         | 
| 23 23 |  | 
| 24 | 
            -
            from typing import TYPE_CHECKING
         | 
| 25 24 | 
             
            if TYPE_CHECKING:
         | 
| 26 25 | 
             
                from .default_types import ComponentList, ComponentDictionary
         | 
| 27 26 | 
             
                from .simultan_object import SimultanObject
         | 
| @@ -125,7 +124,7 @@ def create_python_object(wrapped_obj: SimComponent, cls: Type[SimultanObject], * | |
| 125 124 | 
             
                        logger.error(f'Error adding instance {obj} to _cls_instances: {e}')
         | 
| 126 125 |  | 
| 127 126 | 
             
                    if hasattr(cls, '__load_init__'):
         | 
| 128 | 
            -
                        obj. | 
| 127 | 
            +
                        obj.__load_init__(*args, **kwargs)
         | 
| 129 128 | 
             
                    #
         | 
| 130 129 | 
             
                    circ_ref_resolver.unresolved_objects.pop(wrapped_obj.Id)
         | 
| 131 130 |  | 
| @@ -563,7 +562,7 @@ def find_components_with_taxonomy(component_list: list[SimComponent], key, first | |
| 563 562 |  | 
| 564 563 | 
             
            def get_component_geometry(data_model, geometry_model, component) -> tuple[list[Vertex], list[Edge], list[Face], list[Volume]]:
         | 
| 565 564 | 
             
                """
         | 
| 566 | 
            -
                Get the  | 
| 565 | 
            +
                Get the fc_geometry of a component from a fc_geometry model
         | 
| 567 566 | 
             
                :param data_model:
         | 
| 568 567 | 
             
                :param geometry_model:
         | 
| 569 568 | 
             
                :param component:
         | 
| @@ -867,7 +866,7 @@ param_type_lookup_dict = {str: SimStringParameter, | |
| 867 866 | 
             
                                      bool: SimBoolParameter}
         | 
| 868 867 |  | 
| 869 868 |  | 
| 870 | 
            -
            def create_mapped_python_object(value:  | 
| 869 | 
            +
            def create_mapped_python_object(value: Any,
         | 
| 871 870 | 
             
                                            object_mapper: PythonMapper,
         | 
| 872 871 | 
             
                                            data_model: DataModel,
         | 
| 873 872 | 
             
                                            add_to_data_model=True) -> SimultanObject:
         | 
| @@ -885,8 +884,9 @@ def create_mapped_python_object(value: SimComponent, | |
| 885 884 |  | 
| 886 885 | 
             
                # logger.debug(f'Creating mapped python object for {value}.')
         | 
| 887 886 | 
             
                if type(value) in object_mapper.registered_classes.values():
         | 
| 888 | 
            -
                    key = list(filter(lambda x: object_mapper.registered_classes[x] ==
         | 
| 889 | 
            -
             | 
| 887 | 
            +
                    key = list(filter(lambda x: object_mapper.registered_classes[x] == type(value),
         | 
| 888 | 
            +
                                      object_mapper.registered_classes)
         | 
| 889 | 
            +
                               )[0]
         | 
| 890 890 | 
             
                    mapped_cls = object_mapper.get_mapped_class(key)
         | 
| 891 891 | 
             
                    new_val = mapped_cls(**value.__dict__,
         | 
| 892 892 | 
             
                                         data_model=data_model,
         | 
| @@ -1346,7 +1346,7 @@ def add_properties(prop_name: str, | |
| 1346 1346 | 
             
                getx.__taxonomy__ = taxonomy
         | 
| 1347 1347 | 
             
                content = taxonomy_map.get_content_by_property_name(prop_name)
         | 
| 1348 1348 |  | 
| 1349 | 
            -
                def setx(self, value: Union[int, float, SimComponent, SimultanObject]):
         | 
| 1349 | 
            +
                def setx(self, value: Union[int, float, str, tuple, set, SimComponent, SimultanObject]):
         | 
| 1350 1350 | 
             
                    self.__property_cache__.pop(content.text_or_key, None)
         | 
| 1351 1351 |  | 
| 1352 1352 | 
             
                    slot_extension = content.slot_extension
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Metadata-Version: 2.3
         | 
| 2 2 | 
             
            Name: PySimultan
         | 
| 3 | 
            -
            Version: 0.4. | 
| 3 | 
            +
            Version: 0.4.16
         | 
| 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
         | 
| @@ -1,15 +1,15 @@ | |
| 1 | 
            -
            PySimultan2/__about__.py,sha256= | 
| 1 | 
            +
            PySimultan2/__about__.py,sha256=0e2on0xO5xwM95wRw1ckE4dW-wmxFjVGnM8xbJRrNEk,20
         | 
| 2 2 | 
             
            PySimultan2/__init__.py,sha256=cabTN1Oz8xtFM31ouBKg5lwLqW5vtexDP669PYyNLnA,3224
         | 
| 3 | 
            -
            PySimultan2/data_model.py,sha256= | 
| 3 | 
            +
            PySimultan2/data_model.py,sha256=xosu5TAfgsrxwyhd6SfHFp4Wvo1_YtxdHsSuZmuNVJU,27022
         | 
| 4 4 | 
             
            PySimultan2/default_types.py,sha256=v_4awsUURLbu4Sfw7J_7BoQKirXbKdU9s7-wqgA4nNE,23112
         | 
| 5 | 
            -
            PySimultan2/files.py,sha256= | 
| 5 | 
            +
            PySimultan2/files.py,sha256=8F1QC9nTsTSrCpu5vGx1xGx-7UgkDwoICXau_5j7UzI,12725
         | 
| 6 6 | 
             
            PySimultan2/multi_values.py,sha256=ZFXlTLuZo32x7_7diYAp2XEjp5uwgHLgNOzN7v74-5I,13650
         | 
| 7 | 
            -
            PySimultan2/object_mapper.py,sha256= | 
| 8 | 
            -
            PySimultan2/simultan_object.py,sha256= | 
| 7 | 
            +
            PySimultan2/object_mapper.py,sha256=2VewplU_qaJV-TBeirbOmDzdPJ8Ie6WMTFN7je-ydW0,13218
         | 
| 8 | 
            +
            PySimultan2/simultan_object.py,sha256=GJ_uivwmYxXDqkP-wda7dAQZ9R-FDiXKwJIA3iLHBfg,16929
         | 
| 9 9 | 
             
            PySimultan2/taxonomy_maps.py,sha256=IYpIat6ZJi5MyCbsjAxWvVOWDRp_VvSMWUY3CApKSik,8061
         | 
| 10 | 
            -
            PySimultan2/utils.py,sha256= | 
| 10 | 
            +
            PySimultan2/utils.py,sha256=qhF46rCHmI96Hdp9sdHAAkUJtaQxoG6YJu7Hx5IM4Go,62569
         | 
| 11 11 | 
             
            PySimultan2/geometry/__init__.py,sha256=nJolTD1i5J8qUkOQa-r3D20aq3Co3sN31Xc0n4wJpJo,248
         | 
| 12 | 
            -
            PySimultan2/geometry/geometry_base.py,sha256= | 
| 12 | 
            +
            PySimultan2/geometry/geometry_base.py,sha256=nbb9U2W3vFviVLxISLHRi2CVyLEM-3zIKvoZ1uSYs_8,23420
         | 
| 13 13 | 
             
            PySimultan2/geometry/utils.py,sha256=J25YsK8sso_UL7xRusItQZvyjtvxdOsSPelBQYFABhY,8519
         | 
| 14 14 | 
             
            PySimultan2/resources/AssimpNet.dll,sha256=x8uwMHPRmEH9fDQihfEQLUdblM1u7RP-CCnUjOpXcLo,205312
         | 
| 15 15 | 
             
            PySimultan2/resources/AvalonDock.dll,sha256=9tCcw7cpaVq0bh1H2sfcxb8EWhySmgujPs89lAqIPZs,500224
         | 
| @@ -75,7 +75,7 @@ PySimultan2/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h | |
| 75 75 | 
             
            PySimultan2/resources/assimp.dll,sha256=HwfDwXqoPDTFRyoQpA3qmgZoUdFtziJkV5fNtktEZEU,6081536
         | 
| 76 76 | 
             
            PySimultan2/resources/defaultsettings.xml,sha256=s6Tk1tubLz5UYqXZWpD42EDHzedemRY1nEneoIVcUfg,392
         | 
| 77 77 | 
             
            PySimultan2/resources/setup.bat,sha256=fjvvYfVM6TalS-QTSiKAbAId5nTsk8kGGo06ba-wWaY,32
         | 
| 78 | 
            -
            pysimultan-0.4. | 
| 79 | 
            -
            pysimultan-0.4. | 
| 80 | 
            -
            pysimultan-0.4. | 
| 81 | 
            -
            pysimultan-0.4. | 
| 78 | 
            +
            pysimultan-0.4.16.dist-info/METADATA,sha256=HaedoQtjB0S9ke2jifPQiSDG9rB6aOqHv3JL2EvBJ9U,2483
         | 
| 79 | 
            +
            pysimultan-0.4.16.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
         | 
| 80 | 
            +
            pysimultan-0.4.16.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
         | 
| 81 | 
            +
            pysimultan-0.4.16.dist-info/RECORD,,
         | 
| 
            File without changes
         | 
| 
            File without changes
         |