esmf-aspect-model-loader 2.2.0__tar.gz → 2.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. esmf_aspect_model_loader-2.3.0/.gitignore +73 -0
  2. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/PKG-INFO +60 -37
  3. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/README.md +48 -20
  4. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/adaptive_graph.py +131 -0
  5. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/README.md +69 -0
  6. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/__init__.py +9 -9
  7. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/characteristic.py +10 -4
  8. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/structured_value.py +15 -7
  9. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/trait.py +15 -7
  10. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints/encoding_constraint.py +31 -0
  11. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints/fixed_point_constraint.py +41 -0
  12. {esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints}/language_constraint.py +1 -1
  13. {esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints}/length_constraint.py +1 -1
  14. {esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints}/locale_constraint.py +9 -4
  15. {esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints}/range_constraint.py +1 -1
  16. {esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints}/regular_expression_constraint.py +10 -4
  17. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/either.py +13 -4
  18. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/loader/instantiator/constants.py → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/namespace.py +6 -1
  19. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/property.py +67 -18
  20. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints/encoding_constraint.py → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/value.py +5 -7
  21. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/constants.py +17 -0
  22. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/README.md +50 -77
  23. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/__init__.py +2 -1
  24. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/impl/base_impl.py +284 -0
  25. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_collection.py +19 -5
  26. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/default_characteristic.py +18 -8
  27. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/default_enumeration.py +20 -4
  28. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/default_state.py +20 -4
  29. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/default_structured_value.py +27 -6
  30. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/default_trait.py +27 -13
  31. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_quantifiable.py +20 -5
  32. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/default_constraint.py +1 -1
  33. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/default_encoding_constraint.py +21 -4
  34. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/impl/constraints/default_fixed_point_constraint.py +64 -0
  35. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/default_language_constraint.py +21 -4
  36. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/default_length_constraint.py +25 -6
  37. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/default_locale_constraint.py +21 -4
  38. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/default_range_constraint.py +39 -10
  39. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/default_regular_expression_constraint.py +21 -4
  40. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/data_types/default_abstract_entity.py +2 -2
  41. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/data_types/default_complex_type.py +48 -18
  42. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/default_aspect.py +37 -8
  43. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/default_either.py +25 -4
  44. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/impl/default_event.py +51 -0
  45. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/impl/default_namespace.py +17 -0
  46. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/default_operation.py +28 -8
  47. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/impl/default_property.py +325 -0
  48. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/default_unit.py +8 -3
  49. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/impl/default_event.py → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/impl/default_value.py +10 -11
  50. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/README.md +7 -6
  51. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/loader/default_element_cache.py +230 -0
  52. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/abstract_property_instantiator.py +34 -31
  53. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/characteristic_instantiator.py +0 -4
  54. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/code_instantiator.py +0 -4
  55. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/collection_instantiator.py +0 -4
  56. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/complex_type_instantiator.py +27 -17
  57. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/duration_instantiator.py +0 -4
  58. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/encoding_constraint_instantiator.py +1 -1
  59. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/loader/instantiator/enumeration_instantiator.py +179 -0
  60. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/fixed_point_constraint_instantiator.py +1 -1
  61. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/language_constraint_instantiator.py +1 -1
  62. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/length_constraint_instantiator.py +1 -1
  63. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/list_instantiator.py +0 -4
  64. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/locale_constraint_instantiator.py +1 -1
  65. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/measurement_instantiator.py +0 -4
  66. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/loader/instantiator/namespace_instantiator.py +23 -0
  67. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/loader/instantiator/property_instantiator.py +124 -0
  68. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/quantifiable_instantiator.py +0 -4
  69. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/range_constraint_instantiator.py +1 -1
  70. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/regular_expression_constraint_instantiator.py +1 -1
  71. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/set_instantiator.py +0 -4
  72. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/single_entity_instantiator.py +0 -4
  73. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/sorted_set_instantiator.py +0 -4
  74. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/state_instantiator.py +33 -14
  75. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/structured_value_instantiator.py +25 -4
  76. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/time_series_instantiator.py +0 -4
  77. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/trait_instantiator.py +21 -3
  78. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/loader/instantiator/value_instantiator.py +27 -0
  79. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator_base.py +60 -54
  80. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/meta_model_base_attributes.py +8 -9
  81. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/loader/model_element_factory.py +291 -0
  82. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/samm_graph.py +100 -101
  83. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/resolver/README.md +4 -4
  84. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/resolver/base.py +5 -45
  85. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/resolver/data_string.py +2 -3
  86. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/resolver/local_file.py +9 -11
  87. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-definitions.ttl +256 -0
  88. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-instances.ttl +66 -0
  89. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-shapes.ttl +829 -0
  90. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-validations.js +179 -0
  91. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/FileResource.ttl +31 -0
  92. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/Point3d.ttl +31 -0
  93. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/Quantity.ttl +23 -0
  94. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/TimeSeriesEntity.ttl +28 -0
  95. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/aspect-meta-model-definitions.ttl +251 -0
  96. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/aspect-meta-model-shapes.ttl +1039 -0
  97. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/prefix-declarations.ttl +67 -0
  98. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/type-conversions.ttl +59 -0
  99. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.2.0/units.ttl +14828 -0
  100. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_cli/__init__.py +1 -0
  101. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_cli/base.py +550 -0
  102. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_cli/constants.py +59 -0
  103. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/samm_cli/download.py +96 -0
  104. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_meta_model.py +3 -4
  105. esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/utils.py +39 -0
  106. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/vocabulary/constants.py +4 -0
  107. esmf_aspect_model_loader-2.3.0/pyproject.toml +79 -0
  108. esmf_aspect_model_loader-2.3.0/scripts/__init__.py +0 -0
  109. esmf_aspect_model_loader-2.3.0/scripts/constants.py +27 -0
  110. esmf_aspect_model_loader-2.3.0/scripts/download_samm_cli.py +11 -0
  111. esmf_aspect_model_loader-2.3.0/scripts/download_test_models.py +81 -0
  112. esmf_aspect_model_loader-2.3.0/scripts/samm/__init__.py +0 -0
  113. esmf_aspect_model_loader-2.3.0/scripts/samm/download_samm_branch.py +68 -0
  114. esmf_aspect_model_loader-2.3.0/scripts/samm/download_samm_release.py +62 -0
  115. esmf_aspect_model_loader-2.3.0/scripts/samm/github_file.py +29 -0
  116. esmf_aspect_model_loader-2.3.0/scripts/samm/github_folder.py +60 -0
  117. esmf_aspect_model_loader-2.3.0/tests/__init__.py +10 -0
  118. esmf_aspect_model_loader-2.3.0/tests/integration/__init__.py +0 -0
  119. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/__init__.py +0 -0
  120. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/java_models/__init__.py +0 -0
  121. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/java_models/test_loading_aspects.py +177 -0
  122. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithBlankNode.ttl +29 -0
  123. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCode.ttl +29 -0
  124. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCollection.ttl +37 -0
  125. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCollectionWithElementCharacteristic.ttl +37 -0
  126. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithDuration.ttl +30 -0
  127. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithList.ttl +37 -0
  128. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithMeasurement.ttl +30 -0
  129. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithQuantifiableAndUnit.ttl +30 -0
  130. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSet.ttl +37 -0
  131. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSimpleEnum.ttl +33 -0
  132. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSortedSet.ttl +37 -0
  133. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithState.ttl +34 -0
  134. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithStructuredValue.ttl +47 -0
  135. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithConstrainedCollection.ttl +35 -0
  136. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithEncodingConstraint.ttl +41 -0
  137. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithFixedPoint.ttl +41 -0
  138. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLanguageConstraint.ttl +41 -0
  139. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLengthConstraint.ttl +42 -0
  140. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLocaleConstraint.ttl +41 -0
  141. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithMultipleConstraints.ttl +54 -0
  142. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithMultipleOneValueConstraints.ttl +52 -0
  143. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRangeConstraint.ttl +46 -0
  144. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRangeConstraintInclBoundDefinitionProperties.ttl +48 -0
  145. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRegularExpressionConstraint.ttl +41 -0
  146. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractEntity.ttl +57 -0
  147. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractEntityMultipleAttributes.ttl +47 -0
  148. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyBlankNode.ttl +38 -0
  149. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyMultipleAbstractEntities.ttl +51 -0
  150. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyMultipleAttributes.ttl +40 -0
  151. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntity.ttl +58 -0
  152. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntityEnum.ttl +76 -0
  153. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntityExtendingFileResource.ttl +32 -0
  154. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithFileResourceEntity.ttl +25 -0
  155. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultipleAbstractEntitiesMultipleAttributes.ttl +59 -0
  156. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultipleEntitiesSameExtend.ttl +42 -0
  157. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultiplePropertiesSameExtend.ttl +51 -0
  158. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithPoint3d.ttl +37 -0
  159. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithTimeSeries.ttl +44 -0
  160. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithTimeSeriesWithComplexType.ttl +58 -0
  161. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithUnusedExtendingEntity.ttl +48 -0
  162. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_event.ttl +30 -0
  163. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_event_with_parameters.ttl +35 -0
  164. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_multiple_event.ttl +43 -0
  165. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/Aspect.ttl +22 -0
  166. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithDuplicatePropertyWithDifferentPayloadNames.ttl +29 -0
  167. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithDuplicatePropertyWithPayloadName.ttl +26 -0
  168. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithEither.ttl +30 -0
  169. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithExtendingPropertyWithPayloadName.ttl +34 -0
  170. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithMultipleAttributes.ttl +26 -0
  171. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOperation.ttl +42 -0
  172. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOperationNoOutput.ttl +33 -0
  173. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOptionalPropertyWithPayloadName.ttl +34 -0
  174. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithProperties.ttl +31 -0
  175. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithProperty.ttl +31 -0
  176. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyMultipleReferences.ttl +33 -0
  177. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyWithAllBaseAttributes.ttl +31 -0
  178. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyWithPayloadName.ttl +25 -0
  179. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/Movement.ttl +88 -0
  180. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/ProductType_shared.ttl +45 -0
  181. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/ProductTypes.ttl +35 -0
  182. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_invalid_versions/2.2.0/AspectWithReferences.ttl +19 -0
  183. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_invalid_versions/2.2.0/Part_shared.ttl +26 -0
  184. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_references/2.2.0/AspectWithReferences.ttl +19 -0
  185. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_references/2.2.0/Part_shared.ttl +26 -0
  186. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.types/2.1.0/type_shared.ttl +15 -0
  187. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.types/2.2.0/type_shared.ttl +15 -0
  188. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_aspect_functionality.py +148 -0
  189. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_characteristics.py +266 -0
  190. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_constraints.py +271 -0
  191. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_entities.py +591 -0
  192. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_event.py +77 -0
  193. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_general.py +393 -0
  194. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_resolve_elements_referencies.py +53 -0
  195. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_subclasses.py +268 -0
  196. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_upgrade_aspects.py +134 -0
  197. esmf_aspect_model_loader-2.3.0/tests/integration/aspect_model_loader/test_vocabulary.py +224 -0
  198. esmf_aspect_model_loader-2.3.0/tests/integration/resources/org.eclipse.esmf.test.general/2.2.0/SampleAspect.ttl +50 -0
  199. esmf_aspect_model_loader-2.3.0/tests/integration/test_adaptive_graph.py +71 -0
  200. esmf_aspect_model_loader-2.3.0/tests/integration/test_cli_functions.py +299 -0
  201. esmf_aspect_model_loader-2.3.0/tests/unit/__init__.py +0 -0
  202. esmf_aspect_model_loader-2.3.0/tests/unit/base/__init__.py +0 -0
  203. esmf_aspect_model_loader-2.3.0/tests/unit/base/data_types/__init__.py +0 -0
  204. esmf_aspect_model_loader-2.3.0/tests/unit/base/data_types/test_abstract_entity.py +53 -0
  205. esmf_aspect_model_loader-2.3.0/tests/unit/base/data_types/test_complex_type.py +56 -0
  206. esmf_aspect_model_loader-2.3.0/tests/unit/base/data_types/test_data_type.py +39 -0
  207. esmf_aspect_model_loader-2.3.0/tests/unit/base/data_types/test_scalar.py +33 -0
  208. esmf_aspect_model_loader-2.3.0/tests/unit/base/test_aspect.py +59 -0
  209. esmf_aspect_model_loader-2.3.0/tests/unit/base/test_base.py +50 -0
  210. esmf_aspect_model_loader-2.3.0/tests/unit/base/test_property.py +162 -0
  211. esmf_aspect_model_loader-2.3.0/tests/unit/base/test_property_func.py +71 -0
  212. esmf_aspect_model_loader-2.3.0/tests/unit/impl/__init__.py +0 -0
  213. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/__init__.py +0 -0
  214. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/collection/__init__.py +0 -0
  215. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/collection/test_collection.py +63 -0
  216. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/quantifiable/__init__.py +0 -0
  217. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/quantifiable/test_quantifiable.py +45 -0
  218. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/test_characteristic.py +31 -0
  219. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/test_enumeration.py +30 -0
  220. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/test_state.py +28 -0
  221. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/test_structured_value.py +47 -0
  222. esmf_aspect_model_loader-2.3.0/tests/unit/impl/characteristics/test_trait.py +46 -0
  223. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/__init__.py +0 -0
  224. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/test_encoding_constraint.py +28 -0
  225. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/test_fixed_point_constraint.py +42 -0
  226. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/test_language_constraint.py +27 -0
  227. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/test_length_constraint.py +36 -0
  228. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/test_locale_constraint.py +27 -0
  229. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/test_range_constraint.py +66 -0
  230. esmf_aspect_model_loader-2.3.0/tests/unit/impl/constraints/test_regular_expression_constraint.py +35 -0
  231. esmf_aspect_model_loader-2.3.0/tests/unit/impl/data_types/__init__.py +0 -0
  232. esmf_aspect_model_loader-2.3.0/tests/unit/impl/data_types/test_abstract_entity.py +29 -0
  233. esmf_aspect_model_loader-2.3.0/tests/unit/impl/data_types/test_complex_type.py +173 -0
  234. esmf_aspect_model_loader-2.3.0/tests/unit/impl/data_types/test_datatype.py +35 -0
  235. esmf_aspect_model_loader-2.3.0/tests/unit/impl/data_types/test_scalar.py +35 -0
  236. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_aspect.py +108 -0
  237. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_base_impl.py +416 -0
  238. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_either.py +42 -0
  239. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_event.py +28 -0
  240. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_operation.py +52 -0
  241. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_property.py +371 -0
  242. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_unit.py +120 -0
  243. esmf_aspect_model_loader-2.3.0/tests/unit/impl/test_value.py +18 -0
  244. esmf_aspect_model_loader-2.3.0/tests/unit/loader/__init__.py +0 -0
  245. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/__init__.py +0 -0
  246. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_abstract_entity_instantiator.py +50 -0
  247. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_abstract_property_instantiator.py +122 -0
  248. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_aspect_instantiator.py +59 -0
  249. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_characteristic_instantiator.py +23 -0
  250. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_code_instantiator.py +23 -0
  251. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_complex_type_instantiator.py +125 -0
  252. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_datatype_instantiator.py +31 -0
  253. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_duration_instantiator.py +30 -0
  254. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_either_instantiator.py +37 -0
  255. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_encoding_constraint_instantiator.py +38 -0
  256. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_entity_instantiator.py +43 -0
  257. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_enumeration_instantiator.py +280 -0
  258. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_event_instantiator.py +27 -0
  259. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_fixed_point_constraint_instantiator.py +46 -0
  260. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_language_constraint_instantiator.py +39 -0
  261. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_length_constraint_instantiator.py +43 -0
  262. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_list_instantiator.py +30 -0
  263. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_locale_constraint_instantiator.py +36 -0
  264. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_measurement_instantiator.py +30 -0
  265. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_operation_instantiator.py +34 -0
  266. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_property_instantiator.py +315 -0
  267. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_quantifiable_instantiator.py +30 -0
  268. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_range_constraint_instantiator.py +178 -0
  269. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_regular_expression_constraint_instantiator.py +40 -0
  270. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_scalar_instantiator.py +31 -0
  271. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_set_instantiator.py +30 -0
  272. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_single_entity_instantiator.py +23 -0
  273. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_sorted_set_instantiator.py +34 -0
  274. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_state_instantiator.py +182 -0
  275. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_structured_value_instantiator.py +88 -0
  276. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_time_series_instantiator.py +34 -0
  277. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_trait_instantiator.py +92 -0
  278. esmf_aspect_model_loader-2.3.0/tests/unit/loader/instantiators/test_unit_instantiator.py +87 -0
  279. esmf_aspect_model_loader-2.3.0/tests/unit/loader/test_default_element_cache.py +329 -0
  280. esmf_aspect_model_loader-2.3.0/tests/unit/loader/test_instantiator_base.py +280 -0
  281. esmf_aspect_model_loader-2.3.0/tests/unit/loader/test_meta_model_base_attributes.py +136 -0
  282. esmf_aspect_model_loader-2.3.0/tests/unit/loader/test_model_element_factory.py +431 -0
  283. esmf_aspect_model_loader-2.3.0/tests/unit/loader/test_samm_graph.py +456 -0
  284. esmf_aspect_model_loader-2.3.0/tests/unit/resolver/__init__.py +0 -0
  285. esmf_aspect_model_loader-2.3.0/tests/unit/resolver/test_base.py +36 -0
  286. esmf_aspect_model_loader-2.3.0/tests/unit/resolver/test_data_string.py +26 -0
  287. esmf_aspect_model_loader-2.3.0/tests/unit/resolver/test_handler.py +87 -0
  288. esmf_aspect_model_loader-2.3.0/tests/unit/resolver/test_local_file.py +170 -0
  289. esmf_aspect_model_loader-2.3.0/tests/unit/resolver/test_meta_model.py +50 -0
  290. esmf_aspect_model_loader-2.3.0/tests/unit/samm_cli/__init__.py +0 -0
  291. esmf_aspect_model_loader-2.3.0/tests/unit/samm_cli/test_base.py +689 -0
  292. esmf_aspect_model_loader-2.3.0/tests/unit/samm_cli/test_download.py +219 -0
  293. esmf_aspect_model_loader-2.3.0/tests/unit/test_adaptive_graph.py +205 -0
  294. esmf_aspect_model_loader-2.3.0/tests/unit/test_samm_meta_model.py +145 -0
  295. esmf_aspect_model_loader-2.3.0/tests/unit/test_utils.py +90 -0
  296. esmf_aspect_model_loader-2.3.0/tests_invalid/__init__.py +10 -0
  297. esmf_aspect_model_loader-2.3.0/tests_invalid/resources/trait_missing_base_characteristic.ttl +29 -0
  298. esmf_aspect_model_loader-2.3.0/tests_invalid/resources/trait_missing_constraint.ttl +26 -0
  299. esmf_aspect_model_loader-2.3.0/tests_invalid/test_constraints.py +34 -0
  300. esmf_aspect_model_loader-2.3.0/tox.ini +49 -0
  301. esmf_aspect_model_loader-2.3.0/uv.lock +939 -0
  302. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/README.md +0 -48
  303. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints/fixed_point_constraint.py +0 -32
  304. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/impl/base_impl.py +0 -145
  305. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/impl/constraints/default_fixed_point_constraint.py +0 -40
  306. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/impl/default_property.py +0 -251
  307. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/loader/default_element_cache.py +0 -59
  308. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/loader/instantiator/enumeration_instantiator.py +0 -100
  309. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/loader/instantiator/property_instantiator.py +0 -101
  310. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/loader/model_element_factory.py +0 -177
  311. esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/samm_cli_functions.py +0 -155
  312. esmf_aspect_model_loader-2.2.0/pyproject.toml +0 -58
  313. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/__init__.py +0 -0
  314. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/aspect.py +0 -0
  315. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/base.py +0 -0
  316. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/bound_definition.py +0 -0
  317. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/cache_strategy.py +0 -0
  318. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/__init__.py +0 -0
  319. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/code.py +0 -0
  320. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/collection/__init__.py +0 -0
  321. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/collection/collection.py +0 -0
  322. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/collection/list.py +0 -0
  323. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/collection/set.py +0 -0
  324. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/collection/sorted_set.py +0 -0
  325. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/collection/time_series.py +0 -0
  326. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/enumeration.py +0 -0
  327. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/__init__.py +0 -0
  328. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/duration.py +0 -0
  329. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/measurement.py +0 -0
  330. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/quantifiable.py +0 -0
  331. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/single_entity.py +0 -0
  332. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/characteristics/state.py +0 -0
  333. {esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints}/__init__.py +0 -0
  334. {esmf_aspect_model_loader-2.2.0/esmf_aspect_meta_model_python/base/contraints → esmf_aspect_model_loader-2.3.0/esmf_aspect_meta_model_python/base/constraints}/constraint.py +0 -0
  335. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/data_types/__init__.py +0 -0
  336. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/data_types/abstract_entity.py +0 -0
  337. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/data_types/complex_type.py +0 -0
  338. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/data_types/data_type.py +0 -0
  339. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/data_types/entity.py +0 -0
  340. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/data_types/scalar.py +0 -0
  341. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/event.py +0 -0
  342. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/has_properties.py +0 -0
  343. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/has_urn.py +0 -0
  344. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/is_described.py +0 -0
  345. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/operation.py +0 -0
  346. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/property_func.py +0 -0
  347. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/quantity_kind.py +0 -0
  348. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/structure_element.py +0 -0
  349. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/base/unit.py +0 -0
  350. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/__init__.py +0 -0
  351. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/collection/__init__.py +0 -0
  352. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_list.py +0 -0
  353. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_set.py +0 -0
  354. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_sorted_set.py +0 -0
  355. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_time_series.py +0 -0
  356. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/default_code.py +0 -0
  357. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/default_single_entity.py +0 -0
  358. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/__init__.py +0 -0
  359. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_duration.py +0 -0
  360. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_measurement.py +0 -0
  361. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/constraints/__init__.py +0 -0
  362. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/data_types/__init__.py +0 -0
  363. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/data_types/default_data_type.py +0 -0
  364. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/data_types/default_entity.py +0 -0
  365. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/data_types/default_scalar.py +0 -0
  366. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/impl/default_quantity_kind.py +0 -0
  367. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/__init__.py +0 -0
  368. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/__init__.py +0 -0
  369. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/abstract_entity_instantiator.py +0 -0
  370. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/aspect_instantiator.py +0 -0
  371. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/datatype_instantiator.py +0 -0
  372. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/either_instantiator.py +0 -0
  373. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/entity_instantiator.py +0 -0
  374. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/event_instantiator.py +0 -0
  375. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/operation_instantiator.py +0 -0
  376. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/quantity_kind_instantiator.py +0 -0
  377. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/scalar_instantiator.py +0 -0
  378. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/instantiator/unit_instantiator.py +0 -0
  379. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/loader/rdf_helper.py +0 -0
  380. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/resolver/__init__.py +0 -0
  381. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/resolver/handler.py +0 -0
  382. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/resolver/meta_model.py +0 -0
  383. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-definitions.ttl +0 -0
  384. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-instances.ttl +0 -0
  385. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-shapes.ttl +0 -0
  386. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-validations.js +0 -0
  387. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-definitions.ttl +0 -0
  388. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-instances.ttl +0 -0
  389. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-shapes.ttl +0 -0
  390. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-validations.js +0 -0
  391. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-definitions.ttl +0 -0
  392. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-instances.ttl +0 -0
  393. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-shapes.ttl +0 -0
  394. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-validations.js +0 -0
  395. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/FileResource.ttl +0 -0
  396. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/Point3d.ttl +0 -0
  397. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/TimeSeriesEntity.ttl +0 -0
  398. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/FileResource.ttl +0 -0
  399. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/Point3d.ttl +0 -0
  400. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/TimeSeriesEntity.ttl +0 -0
  401. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/FileResource.ttl +0 -0
  402. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/Point3d.ttl +0 -0
  403. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/TimeSeriesEntity.ttl +0 -0
  404. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/aspect-meta-model-definitions.ttl +0 -0
  405. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/aspect-meta-model-shapes.ttl +0 -0
  406. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/prefix-declarations.ttl +0 -0
  407. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/type-conversions.ttl +0 -0
  408. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/aspect-meta-model-definitions.ttl +0 -0
  409. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/aspect-meta-model-shapes.ttl +0 -0
  410. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/prefix-declarations.ttl +0 -0
  411. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/type-conversions.ttl +0 -0
  412. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/aspect-meta-model-definitions.ttl +0 -0
  413. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/aspect-meta-model-shapes.ttl +0 -0
  414. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/prefix-declarations.ttl +0 -0
  415. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/type-conversions.ttl +0 -0
  416. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/scripts/language-registry.js +0 -0
  417. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/1.0.0/units.ttl +0 -0
  418. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.0.0/units.ttl +0 -0
  419. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.1.0/units.ttl +0 -0
  420. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/vocabulary/__init__.py +0 -0
  421. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/vocabulary/namespace.py +0 -0
  422. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/vocabulary/samm.py +0 -0
  423. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/vocabulary/sammc.py +0 -0
  424. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/vocabulary/samme.py +0 -0
  425. {esmf_aspect_model_loader-2.2.0 → esmf_aspect_model_loader-2.3.0}/esmf_aspect_meta_model_python/vocabulary/unit.py +0 -0
@@ -0,0 +1,73 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Distribution / packaging
7
+ .Python
8
+ **/dist
9
+ build/
10
+ develop-eggs/
11
+ dist/
12
+ downloads/
13
+ eggs/
14
+ .eggs/
15
+ lib/
16
+ lib64/
17
+ parts/
18
+ sdist/
19
+ var/
20
+ wheels/
21
+ share/python-wheels/
22
+ *.egg-info/
23
+ .installed.cfg
24
+ *.egg
25
+ MANIFEST
26
+
27
+ # Unit test / coverage reports
28
+ htmlcov/
29
+ .tox/
30
+ .nox/
31
+ .coverage
32
+ .coverage.*
33
+ .cache
34
+ nosetests.xml
35
+ coverage.xml
36
+ *.cover
37
+ *.py,cover
38
+ .hypothesis/
39
+ .pytest_cache/
40
+ cover/
41
+
42
+ # uv
43
+ # uv.lock should be committed to version control for reproducibility.
44
+ # https://docs.astral.sh/uv/concepts/projects/layout/#the-lockfile
45
+
46
+ # Environments
47
+ .env
48
+ .venv
49
+ env/
50
+ venv/
51
+ ENV/
52
+ env.bak/
53
+ venv.bak/
54
+
55
+ # mypy
56
+ .mypy_cache/
57
+ .dmypy.json
58
+ dmypy.json
59
+
60
+ # PyCharm
61
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
62
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
63
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
64
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
65
+ .idea/
66
+
67
+ # VSCode
68
+ .vscode/
69
+
70
+ # SAMM
71
+ core/esmf-aspect-meta-model-python/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/
72
+ core/esmf-aspect-meta-model-python/esmf_aspect_meta_model_python/samm_cli/samm-cli/
73
+ /core/esmf-aspect-meta-model-python/tests/integration/aspect_model_loader/java_models/resources/
@@ -1,24 +1,20 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: esmf-aspect-model-loader
3
- Version: 2.2.0
3
+ Version: 2.3.0
4
4
  Summary: Load Aspect Models based on the Semantic Aspect Meta Model
5
- Home-page: https://projects.eclipse.org/projects/dt.esmf
6
- License: MPL-2.0
7
- Keywords: samm,esmf,digital twin,idta,model loader,semantic api,semantics,aspect
8
- Author: Eclipse Semantic Modeling Framework
9
- Requires-Python: >=3.10,<4.0
10
- Classifier: License :: OSI Approved
5
+ Project-URL: Homepage, https://projects.eclipse.org/projects/dt.esmf
6
+ Project-URL: Repository, https://github.com/eclipse-esmf/esmf-sdk-py-aspect-model-loader
7
+ Project-URL: Documentation, https://eclipse-esmf.github.io/python-sdk-guide/index.html
8
+ Author: Eclipse Semantic Modeling Framework, Nico Makowe, Aghyad Farrouh
9
+ Author-email: Hanna Shalamitskaya <external.Hanna.Shalamitskaya@de.bosch.com>, Oleksandr Muzyka <external.Oleksandr.Muzyka@bosch.com>, Andreas Textor <Andreas.Textor@de.bosch.com>, Georg Schmidt-Dumont <Georg.Schmidt-Dumont@de.bosch.com>, Michele Santoro <michele.santoro@de.bosch.com>, Lars Heppler <Lars.Heppler@de.bosch.com>
10
+ License-Expression: MPL-2.0
11
+ Keywords: aspect,digital twin,esmf,idta,model loader,samm,semantic api,semantics
11
12
  Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
12
13
  Classifier: Programming Language :: Python :: 3
13
14
  Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Requires-Dist: keyboard (>=0.13,<0.14)
16
- Requires-Dist: rdflib (>=7.1.3,<8.0.0)
17
- Requires-Dist: requests (>=2.28.1,<3.0.0)
18
- Requires-Dist: tox (>=4.5.2,<5.0.0)
19
- Requires-Dist: zipfile37 (>=0.1.3,<0.2.0)
20
- Project-URL: Documentation, https://eclipse-esmf.github.io/python-sdk-guide/index.html
21
- Project-URL: Repository, https://github.com/bci-oss/esmf-sdk-py-aspect-model-loader
15
+ Requires-Python: <4.0,>=3.10
16
+ Requires-Dist: rdflib==7.6.0
17
+ Requires-Dist: requests==2.34.2
22
18
  Description-Content-Type: text/markdown
23
19
 
24
20
  The Aspect Model Loader as part of the Python SDK provided by the [*Eclipse Semantic Modeling Framework*](
@@ -41,28 +37,28 @@ implementation.
41
37
  Before getting started to use the `esmf-aspect-model-loader` library you need to apply some set up actions:
42
38
 
43
39
  Required
44
- - [Install poetry](#install-poetry)
40
+ - [Install uv](#install-uv)
45
41
  - [Install project dependencies](#install-project-dependencies)
46
42
  - [Download SAMM files](#download-samm-files)
47
43
 
48
- ### Install poetry
44
+ ### Install uv
49
45
 
50
- `Poetry` used as a dependency management for the `esmf-aspect-model-loader`. Follow the next [instruction](https://python-poetry.org/docs/#installation)
46
+ `uv` is used as the dependency manager for the `esmf-aspect-model-loader`. Follow the next [instruction](https://docs.astral.sh/uv/getting-started/installation/)
51
47
  to install it.
52
48
 
53
- To check the poetry version run:
49
+ To check the uv version run:
54
50
  ```console
55
- poetry --version
51
+ uv --version
56
52
  ```
57
53
 
58
54
  ### Install project dependencies
59
55
 
60
- Poetry provides convenient functionality for working with dependencies in the project.
61
- To automatically download and install all the necessary libraries, just run one command:
56
+ uv provides convenient functionality for working with dependencies in the project.
57
+ To automatically create a virtual environment and install all the necessary libraries, just run one command:
62
58
  ```console
63
- poetry install
59
+ uv sync
64
60
  ```
65
- It is required to run `poetry install` once in the esmf-aspect-model-loader module.
61
+ It is required to run `uv sync` once in the esmf-aspect-model-loader module.
66
62
 
67
63
  ### Download SAMM files
68
64
 
@@ -75,7 +71,7 @@ This script downloads a release JAR-file from GitHub, extracts them for further
75
71
 
76
72
  To run script, execute the next command.
77
73
  ```console
78
- poetry run download-samm-release
74
+ uv run download-samm-release
79
75
  ```
80
76
  The version of the SAMM release is specified in the python script.
81
77
 
@@ -90,7 +86,7 @@ the API is called without a token. This may cause problems because unauthorized
90
86
 
91
87
  Run the next command to download and start working with the Aspect Model Loader.
92
88
  ```console
93
- poetry run download-samm-branch
89
+ uv run download-samm-branch
94
90
  ```
95
91
  Link to all branches: [SAMM Releases](https://github.com/eclipse-esmf/esmf-semantic-aspect-meta-model/branches)
96
92
 
@@ -136,10 +132,12 @@ model_elements = samm_graph.load_model_elements()
136
132
 
137
133
  SAMMUnitsGraph is a class contains functions for accessing units of measurement.
138
134
  ```python
139
- from esmf_aspect_meta_model_python.samm_meta_model import units
135
+ from esmf_aspect_meta_model_python.samm_meta_model import SammUnitsGraph
136
+
137
+ units = SammUnitsGraph()
140
138
 
141
139
  unit_name = "unit:volt"
142
- units.print_description(units.get_info(unit_name))
140
+ units.print_info(units.get_info(unit_name))
143
141
  # preferredName: volt
144
142
  # commonCode: VLT
145
143
  # ...
@@ -149,7 +147,7 @@ units.print_description(units.get_info(unit_name))
149
147
  volt_info = units.get_info("unit:volt")
150
148
  # {'preferredName': rdflib.term.Literal('volt', lang='en'), 'commonCode': rdflib.term.Literal('VLT'), ... }
151
149
 
152
- units.print_description(volt_info)
150
+ units.print_info(volt_info)
153
151
  # preferredName: volt
154
152
  # commonCode: VLT
155
153
  # ...
@@ -167,22 +165,35 @@ Python Aspect Model Loader provide a wrapper class to be able to call SAMM CLI f
167
165
  For instance, validation of a model can be done with the following code snippet:
168
166
 
169
167
  ```python
170
- from esmf_aspect_meta_model_python.samm_cli_functions import SammCli
168
+ from esmf_aspect_meta_model_python.samm_cli import SammCli
171
169
 
172
170
  samm_cli = SammCli()
173
- model_path = "Paht_to_the_model/Model.ttl"
171
+ model_path = "Path_to_the_model/Model.ttl"
174
172
  samm_cli.validate(model_path)
175
173
  # Input model is valid
176
174
  ```
177
175
 
178
176
  List of SAMMCLI functions:
179
177
  - validate
178
+ - prettyprint
179
+ - usage
180
180
  - to_openapi
181
181
  - to_schema
182
182
  - to_json
183
183
  - to_html
184
184
  - to_png
185
185
  - to_svg
186
+ - to_java
187
+ - to_asyncapi
188
+ - to_jsonld
189
+ - to_sql
190
+ - to_aas
191
+ - edit_move
192
+ - edit_newversion
193
+ - aas_to_aspect
194
+ - aas_list
195
+ - package_import
196
+ - package_export
186
197
 
187
198
  # Scripts
188
199
 
@@ -193,7 +204,7 @@ Provided scripts:
193
204
  - download-samm-cli
194
205
  - download-test-models
195
206
 
196
- All scripts run like a poetry command. The poetry is available from the folder where [pyproject.toml](pyproject.toml)
207
+ All scripts run like a uv command. uv is available from the folder where [pyproject.toml](pyproject.toml)
197
208
  is located.
198
209
 
199
210
  # Tests running
@@ -204,14 +215,26 @@ be running with the tox:
204
215
  - pep8: static code checks (PEP8 style) with MyPy and Black
205
216
  - py310: unit and integration tests
206
217
 
218
+ ### tox-uv plugin
219
+
220
+ `tox` is integrated with `uv` through the [`tox-uv`](https://github.com/tox-dev/tox-uv) plugin. Both `tox` and
221
+ `tox-uv` are declared as `dev` dependencies in [pyproject.toml](pyproject.toml), so a single `uv sync` installs
222
+ everything required - no separate installation step is needed.
223
+
224
+ The two environments use the plugin differently (see [tox.ini](tox.ini)):
225
+ - `pep8` uses the `uv-venv-lock-runner` provided by `tox-uv`, which provisions the environment directly from the
226
+ pinned `uv.lock` and installs the `dev` dependency group. This guarantees the linters run with the exact, locked
227
+ versions.
228
+ - `py310` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
229
+ `commands_pre` to prepare dependencies and the SAMM meta model files before executing the test suite.
230
+
207
231
  ```console
208
232
  # run all checks use the next command
209
- poetry run tox
233
+ uv run tox
210
234
 
211
235
  # run only pep8 checks
212
- poetry run tox -e pep8
236
+ uv run tox -e pep8
213
237
 
214
238
  # run tests
215
- poetry run tox -e py310
239
+ uv run tox -e py310
216
240
  ```
217
-
@@ -18,28 +18,28 @@ implementation.
18
18
  Before getting started to use the `esmf-aspect-model-loader` library you need to apply some set up actions:
19
19
 
20
20
  Required
21
- - [Install poetry](#install-poetry)
21
+ - [Install uv](#install-uv)
22
22
  - [Install project dependencies](#install-project-dependencies)
23
23
  - [Download SAMM files](#download-samm-files)
24
24
 
25
- ### Install poetry
25
+ ### Install uv
26
26
 
27
- `Poetry` used as a dependency management for the `esmf-aspect-model-loader`. Follow the next [instruction](https://python-poetry.org/docs/#installation)
27
+ `uv` is used as the dependency manager for the `esmf-aspect-model-loader`. Follow the next [instruction](https://docs.astral.sh/uv/getting-started/installation/)
28
28
  to install it.
29
29
 
30
- To check the poetry version run:
30
+ To check the uv version run:
31
31
  ```console
32
- poetry --version
32
+ uv --version
33
33
  ```
34
34
 
35
35
  ### Install project dependencies
36
36
 
37
- Poetry provides convenient functionality for working with dependencies in the project.
38
- To automatically download and install all the necessary libraries, just run one command:
37
+ uv provides convenient functionality for working with dependencies in the project.
38
+ To automatically create a virtual environment and install all the necessary libraries, just run one command:
39
39
  ```console
40
- poetry install
40
+ uv sync
41
41
  ```
42
- It is required to run `poetry install` once in the esmf-aspect-model-loader module.
42
+ It is required to run `uv sync` once in the esmf-aspect-model-loader module.
43
43
 
44
44
  ### Download SAMM files
45
45
 
@@ -52,7 +52,7 @@ This script downloads a release JAR-file from GitHub, extracts them for further
52
52
 
53
53
  To run script, execute the next command.
54
54
  ```console
55
- poetry run download-samm-release
55
+ uv run download-samm-release
56
56
  ```
57
57
  The version of the SAMM release is specified in the python script.
58
58
 
@@ -67,7 +67,7 @@ the API is called without a token. This may cause problems because unauthorized
67
67
 
68
68
  Run the next command to download and start working with the Aspect Model Loader.
69
69
  ```console
70
- poetry run download-samm-branch
70
+ uv run download-samm-branch
71
71
  ```
72
72
  Link to all branches: [SAMM Releases](https://github.com/eclipse-esmf/esmf-semantic-aspect-meta-model/branches)
73
73
 
@@ -113,10 +113,12 @@ model_elements = samm_graph.load_model_elements()
113
113
 
114
114
  SAMMUnitsGraph is a class contains functions for accessing units of measurement.
115
115
  ```python
116
- from esmf_aspect_meta_model_python.samm_meta_model import units
116
+ from esmf_aspect_meta_model_python.samm_meta_model import SammUnitsGraph
117
+
118
+ units = SammUnitsGraph()
117
119
 
118
120
  unit_name = "unit:volt"
119
- units.print_description(units.get_info(unit_name))
121
+ units.print_info(units.get_info(unit_name))
120
122
  # preferredName: volt
121
123
  # commonCode: VLT
122
124
  # ...
@@ -126,7 +128,7 @@ units.print_description(units.get_info(unit_name))
126
128
  volt_info = units.get_info("unit:volt")
127
129
  # {'preferredName': rdflib.term.Literal('volt', lang='en'), 'commonCode': rdflib.term.Literal('VLT'), ... }
128
130
 
129
- units.print_description(volt_info)
131
+ units.print_info(volt_info)
130
132
  # preferredName: volt
131
133
  # commonCode: VLT
132
134
  # ...
@@ -144,22 +146,35 @@ Python Aspect Model Loader provide a wrapper class to be able to call SAMM CLI f
144
146
  For instance, validation of a model can be done with the following code snippet:
145
147
 
146
148
  ```python
147
- from esmf_aspect_meta_model_python.samm_cli_functions import SammCli
149
+ from esmf_aspect_meta_model_python.samm_cli import SammCli
148
150
 
149
151
  samm_cli = SammCli()
150
- model_path = "Paht_to_the_model/Model.ttl"
152
+ model_path = "Path_to_the_model/Model.ttl"
151
153
  samm_cli.validate(model_path)
152
154
  # Input model is valid
153
155
  ```
154
156
 
155
157
  List of SAMMCLI functions:
156
158
  - validate
159
+ - prettyprint
160
+ - usage
157
161
  - to_openapi
158
162
  - to_schema
159
163
  - to_json
160
164
  - to_html
161
165
  - to_png
162
166
  - to_svg
167
+ - to_java
168
+ - to_asyncapi
169
+ - to_jsonld
170
+ - to_sql
171
+ - to_aas
172
+ - edit_move
173
+ - edit_newversion
174
+ - aas_to_aspect
175
+ - aas_list
176
+ - package_import
177
+ - package_export
163
178
 
164
179
  # Scripts
165
180
 
@@ -170,7 +185,7 @@ Provided scripts:
170
185
  - download-samm-cli
171
186
  - download-test-models
172
187
 
173
- All scripts run like a poetry command. The poetry is available from the folder where [pyproject.toml](pyproject.toml)
188
+ All scripts run like a uv command. uv is available from the folder where [pyproject.toml](pyproject.toml)
174
189
  is located.
175
190
 
176
191
  # Tests running
@@ -181,13 +196,26 @@ be running with the tox:
181
196
  - pep8: static code checks (PEP8 style) with MyPy and Black
182
197
  - py310: unit and integration tests
183
198
 
199
+ ### tox-uv plugin
200
+
201
+ `tox` is integrated with `uv` through the [`tox-uv`](https://github.com/tox-dev/tox-uv) plugin. Both `tox` and
202
+ `tox-uv` are declared as `dev` dependencies in [pyproject.toml](pyproject.toml), so a single `uv sync` installs
203
+ everything required - no separate installation step is needed.
204
+
205
+ The two environments use the plugin differently (see [tox.ini](tox.ini)):
206
+ - `pep8` uses the `uv-venv-lock-runner` provided by `tox-uv`, which provisions the environment directly from the
207
+ pinned `uv.lock` and installs the `dev` dependency group. This guarantees the linters run with the exact, locked
208
+ versions.
209
+ - `py310` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
210
+ `commands_pre` to prepare dependencies and the SAMM meta model files before executing the test suite.
211
+
184
212
  ```console
185
213
  # run all checks use the next command
186
- poetry run tox
214
+ uv run tox
187
215
 
188
216
  # run only pep8 checks
189
- poetry run tox -e pep8
217
+ uv run tox -e pep8
190
218
 
191
219
  # run tests
192
- poetry run tox -e py310
220
+ uv run tox -e py310
193
221
  ```
@@ -0,0 +1,131 @@
1
+ import pathlib
2
+ import subprocess
3
+ import tempfile
4
+
5
+ from typing import Optional, Union
6
+
7
+ from rdflib import Graph
8
+
9
+ from esmf_aspect_meta_model_python import utils
10
+ from esmf_aspect_meta_model_python.constants import SAMM_VERSION
11
+ from esmf_aspect_meta_model_python.samm_cli import SammCli
12
+
13
+
14
+ class AdaptiveGraph(Graph): # TODO: avoid double parsing when an upgrade is not performed
15
+ """An RDF graph that can adaptively upgrade SAMM files using the SAMM CLI."""
16
+
17
+ _samm_cli = SammCli()
18
+
19
+ def __init__(self, samm_version: str = SAMM_VERSION, *args, **kwargs) -> None:
20
+ super().__init__(*args, **kwargs)
21
+
22
+ self._samm_version = samm_version
23
+
24
+ def _upgrade_ttl_file(self, file_path: pathlib.Path) -> str:
25
+ """Run SAMM CLI prettyprint to upgrade a TTL file to the latest version."""
26
+ try:
27
+ return self._samm_cli.prettyprint(str(file_path), capture=True)
28
+ except subprocess.CalledProcessError as e:
29
+ raise RuntimeError(f"SAMM CLI failed for {file_path}:\n{e.stdout}\n{e.stderr}") from e
30
+
31
+ def _upgrade_source(self, source_path: pathlib.Path) -> str:
32
+ print(f"[INFO] SAMM version mismatch detected in {source_path}. Upgrading...")
33
+
34
+ return self._upgrade_ttl_file(source_path)
35
+
36
+ def _upgrade_data(self, data: str | bytes) -> str:
37
+ print( # TODO: improve logging
38
+ f"[INFO] SAMM version mismatch detected in provided data (target v{self._samm_version}) Upgrading..."
39
+ )
40
+
41
+ with tempfile.NamedTemporaryFile("wb", suffix=".ttl", delete=False) as tmp:
42
+ tmp.write(data.encode("utf-8") if isinstance(data, str) else data)
43
+ tmp_path = pathlib.Path(tmp.name)
44
+
45
+ try:
46
+ return self._upgrade_ttl_file(tmp_path)
47
+ finally:
48
+ tmp_path.unlink(missing_ok=True)
49
+
50
+ def set_samm_version(self, samm_version: str) -> None:
51
+ """Set the SAMM version for this graph."""
52
+ self._samm_version = samm_version
53
+
54
+ def parse( # type: ignore[override]
55
+ self,
56
+ *,
57
+ source: Optional[str | pathlib.Path] = None,
58
+ data: Optional[str | bytes] = None,
59
+ **kwargs,
60
+ ) -> "AdaptiveGraph":
61
+ """
62
+ Parse a TTL file into this graph, upgrading via SAMM CLI if version mismatch detected.
63
+
64
+ If a SAMM version mismatch is detected, the TTL file will be upgraded using the SAMM CLI prettyprint
65
+ before parsing into this graph.
66
+
67
+ Args:
68
+ source: Path to the TTL file as pathlib.Path or str.
69
+ data: RDF content as string or bytes.
70
+ **kwargs: Additional arguments passed to rdflib.Graph.parse().
71
+
72
+ Returns:
73
+ self (AdaptiveGraph): The current graph instance with parsed data.
74
+
75
+ Raises:
76
+ RuntimeError: If the SAMM CLI fails during the upgrade process.
77
+ ValueError: If neither 'source' nor 'data' is provided, or if both are provided.
78
+ """
79
+ if (source is None) == (data is None):
80
+ raise ValueError("Either 'source' or 'data' must be provided.")
81
+
82
+ if source:
83
+ input_source = source = pathlib.Path(source)
84
+ upgrade_method = self._upgrade_source
85
+ else:
86
+ input_source = data # type: ignore[assignment]
87
+ upgrade_method = self._upgrade_data # type: ignore[assignment]
88
+
89
+ if utils.has_version_mismatch_from_input(input_source, samm_version=self._samm_version):
90
+ data = upgrade_method(input_source)
91
+ source = None
92
+
93
+ super().parse(source=source, data=data, **kwargs)
94
+
95
+ return self
96
+
97
+ def __add__(self, other: Union["Graph", "AdaptiveGraph"]) -> "AdaptiveGraph":
98
+ """Override addition to propagate SAMM version to the resulting graph."""
99
+ retval = super().__add__(other)
100
+
101
+ if isinstance(retval, AdaptiveGraph):
102
+ if isinstance(other, AdaptiveGraph) and other._samm_version != self._samm_version:
103
+ raise ValueError("SAMM version mismatch during addition.")
104
+
105
+ retval.set_samm_version(self._samm_version)
106
+
107
+ return retval # type: ignore[return-value]
108
+
109
+ def __sub__(self, other: Union["Graph", "AdaptiveGraph"]) -> "AdaptiveGraph":
110
+ """Override subtraction to propagate SAMM version to the resulting graph."""
111
+ retval = super().__sub__(other)
112
+
113
+ if isinstance(retval, AdaptiveGraph):
114
+ if isinstance(other, AdaptiveGraph) and other._samm_version != self._samm_version:
115
+ raise ValueError("SAMM version mismatch during subtraction.")
116
+
117
+ retval.set_samm_version(self._samm_version)
118
+
119
+ return retval # type: ignore[return-value]
120
+
121
+ def __mul__(self, other: Union["Graph", "AdaptiveGraph"]) -> "AdaptiveGraph":
122
+ """Override multiplication to propagate SAMM version to the resulting graph."""
123
+ retval = super().__mul__(other)
124
+
125
+ if isinstance(retval, AdaptiveGraph):
126
+ if isinstance(other, AdaptiveGraph) and other._samm_version != self._samm_version:
127
+ raise ValueError("SAMM version mismatch during multiplication.")
128
+
129
+ retval.set_samm_version(self._samm_version)
130
+
131
+ return retval # type: ignore[return-value]
@@ -0,0 +1,69 @@
1
+ # Base
2
+ This folder contains a minimum definition of the elements in the SAMM. The folder does not include any implementations.
3
+ It can be seen as a contract that establishes a fixed structure and inheritance hierarchy.
4
+ The classes should not be instantiated because they are abstract which is similar to interfaces in Java.
5
+
6
+ # Inheritance hierarchy
7
+
8
+ The diagram below shows the inheritance hierarchy of the base (interface) classes. `HasUrn`,
9
+ `IsDescribed` and `HasProperties` are abstract base classes; `StructureElement` and `ComplexType`
10
+ use multiple inheritance.
11
+
12
+ ```mermaid
13
+ classDiagram
14
+ HasUrn <|-- IsDescribed
15
+ HasUrn <|-- DataType
16
+ IsDescribed <|-- Base
17
+
18
+ Base <|-- StructureElement
19
+ HasProperties <|-- StructureElement
20
+ StructureElement <|-- Aspect
21
+ StructureElement <|-- ComplexType
22
+ DataType <|-- ComplexType
23
+ DataType <|-- Scalar
24
+ ComplexType <|-- AbstractEntity
25
+ ComplexType <|-- Entity
26
+
27
+ Base <|-- Characteristic
28
+ Characteristic <|-- Code
29
+ Characteristic <|-- Collection
30
+ Collection <|-- List
31
+ Collection <|-- Set
32
+ Collection <|-- SortedSet
33
+ SortedSet <|-- TimeSeries
34
+ Characteristic <|-- Enumeration
35
+ Enumeration <|-- State
36
+ Characteristic <|-- SingleEntity
37
+ Characteristic <|-- StructuredValue
38
+ Characteristic <|-- Quantifiable
39
+ Quantifiable <|-- Duration
40
+ Quantifiable <|-- Measurement
41
+ Characteristic <|-- Trait
42
+
43
+ Base <|-- Either
44
+ Base <|-- Constraint
45
+ Constraint <|-- EncodingConstraint
46
+ Constraint <|-- FixedPointConstraint
47
+ Constraint <|-- LanguageConstraint
48
+ Constraint <|-- LengthConstraint
49
+ Constraint <|-- LocaleConstraint
50
+ Constraint <|-- RangeConstraint
51
+ Constraint <|-- RegularExpressionConstraint
52
+
53
+ Base <|-- Namespace
54
+ Base <|-- Event
55
+ Base <|-- Operation
56
+ Base <|-- AbstractProperty
57
+ AbstractProperty <|-- Property
58
+ Base <|-- QuantityKind
59
+ Base <|-- Unit
60
+ QuantityKind <|-- Unit
61
+ Base <|-- Value
62
+
63
+ class HasUrn { <<abstract>> }
64
+ class IsDescribed { <<abstract>> }
65
+ class HasProperties { <<abstract>> }
66
+ ```
67
+
68
+ > Note: `BoundDefinition` is a standalone `enum.Enum` (the upper/lower boundary rule for a
69
+ > `RangeConstraint`) and is therefore not part of the class hierarchy above.
@@ -27,14 +27,14 @@ from .characteristics.single_entity import SingleEntity
27
27
  from .characteristics.state import State
28
28
  from .characteristics.structured_value import StructuredValue
29
29
  from .characteristics.trait import Trait
30
- from .contraints.constraint import Constraint
31
- from .contraints.encoding_constraint import EncodingConstraint
32
- from .contraints.fixed_point_constraint import FixedPointConstraint
33
- from .contraints.language_constraint import LanguageConstraint
34
- from .contraints.length_constraint import LengthConstraint
35
- from .contraints.locale_constraint import LocaleConstraint
36
- from .contraints.range_constraint import RangeConstraint
37
- from .contraints.regular_expression_constraint import RegularExpressionConstraint
30
+ from .constraints.constraint import Constraint
31
+ from .constraints.encoding_constraint import EncodingConstraint
32
+ from .constraints.fixed_point_constraint import FixedPointConstraint
33
+ from .constraints.language_constraint import LanguageConstraint
34
+ from .constraints.length_constraint import LengthConstraint
35
+ from .constraints.locale_constraint import LocaleConstraint
36
+ from .constraints.range_constraint import RangeConstraint
37
+ from .constraints.regular_expression_constraint import RegularExpressionConstraint
38
38
  from .data_types.abstract_entity import AbstractEntity
39
39
  from .data_types.complex_type import ComplexType
40
40
  from .data_types.data_type import DataType
@@ -43,6 +43,6 @@ from .data_types.scalar import Scalar
43
43
  from .either import Either
44
44
  from .event import Event
45
45
  from .operation import Operation
46
- from .property import Property
46
+ from .property import AbstractProperty, Property
47
47
  from .quantity_kind import QuantityKind
48
48
  from .unit import Unit
@@ -8,7 +8,9 @@
8
8
  # file, You can obtain one at https://mozilla.org/MPL/2.0/.
9
9
  #
10
10
  # SPDX-License-Identifier: MPL-2.0
11
+
11
12
  from abc import ABC, abstractmethod
13
+ from typing import Optional
12
14
 
13
15
  from esmf_aspect_meta_model_python.base.base import Base
14
16
  from esmf_aspect_meta_model_python.base.data_types.data_type import DataType
@@ -18,11 +20,15 @@ class Characteristic(Base, ABC):
18
20
  """Characteristic interface class.
19
21
 
20
22
  Specifies a property by describing its data type.
21
- Multiple classes inherit from Characteristic which describe the property in a more specific way
22
- (e.g. Enumeration or Collection).
23
+ Multiple classes inherit from Characteristic to describe the property in a more specific way
24
+ (e.g., Enumeration or Collection).
23
25
  """
24
26
 
25
27
  @property
26
28
  @abstractmethod
27
- def data_type(self) -> DataType:
28
- """Data type."""
29
+ def data_type(self) -> Optional[DataType]:
30
+ """Returns the data type of the characteristic.
31
+
32
+ Returns:
33
+ Optional[DataType]: The data type of the characteristic, or None if not set.
34
+ """