cognite-neat 0.122.3__tar.gz → 0.123.1__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.

Potentially problematic release.


This version of cognite-neat might be problematic. Click here for more details.

Files changed (635) hide show
  1. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/PKG-INFO +1 -1
  2. cognite_neat-0.123.1/cognite/neat/_version.py +2 -0
  3. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/_api/neat_instances.py +30 -0
  4. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_constants.py +10 -1
  5. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/_constants.py +1 -0
  6. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_dms2data_model.py +16 -5
  7. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/entities/__init__.py +2 -0
  8. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/entities/_single_value.py +24 -4
  9. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/entities/_types.py +11 -0
  10. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/physical/_exporter.py +18 -5
  11. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/physical/_unverified.py +22 -1
  12. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/physical/_validation.py +3 -1
  13. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/physical/_verified.py +2 -2
  14. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/loaders/_rdf2dms.py +8 -0
  15. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/errors/__init__.py +2 -1
  16. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/errors/_general.py +14 -0
  17. cognite_neat-0.123.1/cognite/neat/plugins/__init__.py +3 -0
  18. cognite_neat-0.123.1/cognite/neat/plugins/_issues.py +25 -0
  19. cognite_neat-0.123.1/cognite/neat/plugins/_manager.py +99 -0
  20. cognite_neat-0.123.1/cognite/neat/plugins/data_model/importers/__init__.py +5 -0
  21. cognite_neat-0.123.1/cognite/neat/plugins/data_model/importers/_base.py +27 -0
  22. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/exceptions.py +2 -1
  23. cognite_neat-0.123.1/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
  24. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/physical/properties.md +35 -2
  25. cognite_neat-0.123.1/last_changelog_entry.md +6 -0
  26. cognite_neat-0.123.1/last_git_message.txt +23 -0
  27. cognite_neat-0.123.1/last_version.txt +1 -0
  28. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/pyproject.toml +1 -1
  29. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +19 -19
  30. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +1 -1
  31. cognite_neat-0.123.1/tests/tests_unit/test_graph/test_loaders/test_rdf2dms.py +107 -0
  32. cognite_neat-0.123.1/tests/tests_unit/test_plugins.py +110 -0
  33. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_entities.py +44 -1
  34. cognite_neat-0.123.1/tests/tests_unit/test_session/test_flows.py +73 -0
  35. cognite_neat-0.123.1/tests/tests_unit/test_utils/__init__.py +0 -0
  36. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/uv.lock +1 -1
  37. cognite_neat-0.122.3/cognite/neat/_version.py +0 -2
  38. cognite_neat-0.122.3/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
  39. cognite_neat-0.122.3/last_changelog_entry.md +0 -4
  40. cognite_neat-0.122.3/last_git_message.txt +0 -22
  41. cognite_neat-0.122.3/last_version.txt +0 -1
  42. cognite_neat-0.122.3/tests/tests_unit/test_graph/test_loaders/test_rdf2dms.py +0 -57
  43. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.coveragerc +0 -0
  44. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.github/CODEOWNERS +0 -0
  45. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  46. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  47. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.github/pull_request_template.md +0 -0
  48. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.github/renovate.json +0 -0
  49. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.github/workflows/code-quality.yaml +0 -0
  50. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.github/workflows/release.yaml +0 -0
  51. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.gitignore +0 -0
  52. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.pre-commit-config.yaml +0 -0
  53. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/.readthedocs.yaml +0 -0
  54. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/CODE_OF_CONDUCT.md +0 -0
  55. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/CONTRIBUTING.md +0 -0
  56. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/LICENSE +0 -0
  57. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/README.md +0 -0
  58. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cdf.toml +0 -0
  59. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/codecov.yml +0 -0
  60. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/__init__.py +0 -0
  61. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/__init__.py +0 -0
  62. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/__init__.py +0 -0
  63. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/_api/__init__.py +0 -0
  64. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/_api/data_modeling_loaders.py +0 -0
  65. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/_api/schema.py +0 -0
  66. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/_api/statistics.py +0 -0
  67. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/_api_client.py +0 -0
  68. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/data_classes/__init__.py +0 -0
  69. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/data_classes/data_modeling.py +0 -0
  70. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/data_classes/neat_sequence.py +0 -0
  71. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/data_classes/schema.py +0 -0
  72. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/data_classes/statistics.py +0 -0
  73. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_client/testing.py +0 -0
  74. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_config.py +0 -0
  75. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/__init__.py +0 -0
  76. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/_shared.py +0 -0
  77. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/analysis/__init__.py +0 -0
  78. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/analysis/_base.py +0 -0
  79. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/catalog/__init__.py +0 -0
  80. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/catalog/classic_model.xlsx +0 -0
  81. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  82. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
  83. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/exporters/__init__.py +0 -0
  84. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/exporters/_base.py +0 -0
  85. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/exporters/_data_model2dms.py +0 -0
  86. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/exporters/_data_model2excel.py +0 -0
  87. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/exporters/_data_model2instance_template.py +0 -0
  88. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/exporters/_data_model2ontology.py +0 -0
  89. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/exporters/_data_model2yaml.py +0 -0
  90. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/__init__.py +0 -0
  91. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_base.py +0 -0
  92. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_base_file_reader.py +0 -0
  93. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_dict2data_model.py +0 -0
  94. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_dtdl2data_model/__init__.py +0 -0
  95. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_dtdl2data_model/_unit_lookup.py +0 -0
  96. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_dtdl2data_model/dtdl_converter.py +0 -0
  97. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_dtdl2data_model/dtdl_importer.py +0 -0
  98. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_dtdl2data_model/spec.py +0 -0
  99. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_rdf/__init__.py +0 -0
  100. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_rdf/_base.py +0 -0
  101. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_rdf/_imf2data_model.py +0 -0
  102. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
  103. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
  104. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_rdf/_shared.py +0 -0
  105. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
  106. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/__init__.py +0 -0
  107. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/_base_unverified.py +0 -0
  108. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/_base_verified.py +0 -0
  109. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/_types.py +0 -0
  110. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/conceptual/__init__.py +0 -0
  111. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/conceptual/_unverified.py +0 -0
  112. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/conceptual/_validation.py +0 -0
  113. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/conceptual/_verified.py +0 -0
  114. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/data_types.py +0 -0
  115. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/entities/_constants.py +0 -0
  116. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/entities/_loaders.py +0 -0
  117. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/entities/_multi_value.py +0 -0
  118. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/entities/_wrapped.py +0 -0
  119. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/mapping/__init__.py +0 -0
  120. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/mapping/_classic2core.py +0 -0
  121. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/mapping/_classic2core.yaml +0 -0
  122. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/models/physical/__init__.py +0 -0
  123. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/transformers/__init__.py +0 -0
  124. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/transformers/_base.py +0 -0
  125. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/transformers/_converters.py +0 -0
  126. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/transformers/_mapping.py +0 -0
  127. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_data_model/transformers/_verification.py +0 -0
  128. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/__init__.py +0 -0
  129. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/_shared.py +0 -0
  130. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/_tracking/__init__.py +0 -0
  131. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/_tracking/base.py +0 -0
  132. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/_tracking/log.py +0 -0
  133. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  134. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  135. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/examples/__init__.py +0 -0
  136. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  137. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/__init__.py +0 -0
  138. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_base.py +0 -0
  139. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
  140. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
  141. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_base.py +0 -0
  142. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
  143. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  144. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_events.py +0 -0
  145. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_files.py +0 -0
  146. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
  147. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
  148. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
  149. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  150. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_dict.py +0 -0
  151. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_dms.py +0 -0
  152. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_dms_graph.py +0 -0
  153. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_mock_graph_generator.py +0 -0
  154. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_raw.py +0 -0
  155. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/extractors/_rdf_file.py +0 -0
  156. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/loaders/__init__.py +0 -0
  157. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/loaders/_base.py +0 -0
  158. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/loaders/_rdf_to_instance_space.py +0 -0
  159. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/queries/__init__.py +0 -0
  160. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/queries/_base.py +0 -0
  161. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/queries/_queries.py +0 -0
  162. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/queries/_select.py +0 -0
  163. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/queries/_update.py +0 -0
  164. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/transformers/__init__.py +0 -0
  165. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/transformers/_base.py +0 -0
  166. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/transformers/_classic_cdf.py +0 -0
  167. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/transformers/_prune_graph.py +0 -0
  168. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/transformers/_rdfpath.py +0 -0
  169. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_instances/transformers/_value_type.py +0 -0
  170. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/__init__.py +0 -0
  171. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/_base.py +0 -0
  172. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/_contextmanagers.py +0 -0
  173. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/_factory.py +0 -0
  174. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/errors/_external.py +0 -0
  175. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/errors/_properties.py +0 -0
  176. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/errors/_resources.py +0 -0
  177. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/errors/_wrapper.py +0 -0
  178. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/formatters.py +0 -0
  179. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/warnings/__init__.py +0 -0
  180. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/warnings/_external.py +0 -0
  181. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/warnings/_general.py +0 -0
  182. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/warnings/_models.py +0 -0
  183. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/warnings/_properties.py +0 -0
  184. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/warnings/_resources.py +0 -0
  185. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_issues/warnings/user_modeling.py +0 -0
  186. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_shared.py +0 -0
  187. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_store/__init__.py +0 -0
  188. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_store/_data_model.py +0 -0
  189. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_store/_instance.py +0 -0
  190. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_store/_provenance.py +0 -0
  191. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_store/exceptions.py +0 -0
  192. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/__init__.py +0 -0
  193. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/auth.py +0 -0
  194. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/auxiliary.py +0 -0
  195. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/collection_.py +0 -0
  196. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/graph_transformations_report.py +0 -0
  197. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/io_.py +0 -0
  198. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/rdf_.py +0 -0
  199. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/reader/__init__.py +0 -0
  200. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/reader/_base.py +0 -0
  201. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/spreadsheet.py +0 -0
  202. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/text.py +0 -0
  203. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/time_.py +0 -0
  204. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/upload.py +0 -0
  205. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/core/_utils/xml_.py +0 -0
  206. {cognite_neat-0.122.3/tests → cognite_neat-0.123.1/cognite/neat/plugins/data_model}/__init__.py +0 -0
  207. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/py.typed +0 -0
  208. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/__init__.py +0 -0
  209. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_base.py +0 -0
  210. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_collector.py +0 -0
  211. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_drop.py +0 -0
  212. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_experimental.py +0 -0
  213. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_explore.py +0 -0
  214. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_fix.py +0 -0
  215. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_inspect.py +0 -0
  216. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_mapping.py +0 -0
  217. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_prepare.py +0 -0
  218. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_read.py +0 -0
  219. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_set.py +0 -0
  220. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_show.py +0 -0
  221. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_state/README.md +0 -0
  222. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_state.py +0 -0
  223. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_subset.py +0 -0
  224. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_template.py +0 -0
  225. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_to.py +0 -0
  226. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/_wizard.py +0 -0
  227. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/engine/__init__.py +0 -0
  228. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/engine/_import.py +0 -0
  229. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/engine/_interface.py +0 -0
  230. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/cognite/neat/session/engine/_load.py +0 -0
  231. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/dev.py +0 -0
  232. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
  233. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
  234. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
  235. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
  236. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/aml-dm.png +0 -0
  237. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
  238. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/aml-instances-full.png +0 -0
  239. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
  240. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
  241. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
  242. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
  243. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
  244. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/authorship.png +0 -0
  245. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/base-components.png +0 -0
  246. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
  247. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/change_validate_step.png +0 -0
  248. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
  249. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
  250. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
  251. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/container_spec.png +0 -0
  252. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/core_extension.png +0 -0
  253. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/core_extension_excel.png +0 -0
  254. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
  255. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
  256. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/data-exploration.gif +0 -0
  257. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/data-model-nordic44.png +0 -0
  258. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/data-modeling-flow.png +0 -0
  259. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
  260. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
  261. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
  262. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
  263. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
  264. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dm-classes.png +0 -0
  265. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dm-object-shapes.png +0 -0
  266. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dm-prefixes.png +0 -0
  267. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
  268. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
  269. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
  270. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/execution-history.gif +0 -0
  271. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/export_dms_config.png +0 -0
  272. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/export_dms_executed.png +0 -0
  273. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/export_dms_workflow.png +0 -0
  274. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/features.png +0 -0
  275. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/graph-etl-flow.png +0 -0
  276. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/high-level-io.png +0 -0
  277. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/instances-nordic44.png +0 -0
  278. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/instances-sheet.png +0 -0
  279. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
  280. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
  281. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
  282. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
  283. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
  284. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
  285. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
  286. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/logo.png +0 -0
  287. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/metadata-sheet.png +0 -0
  288. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/multi-hop.png +0 -0
  289. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/neat-high-level.png +0 -0
  290. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/neat-two_flows.png +0 -0
  291. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/neat_shift_tab.png +0 -0
  292. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/neat_tab.png +0 -0
  293. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/prefixes-sheet.png +0 -0
  294. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
  295. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
  296. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
  297. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
  298. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
  299. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
  300. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
  301. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
  302. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
  303. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/run_workflow.png +0 -0
  304. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
  305. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
  306. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
  307. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
  308. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
  309. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
  310. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
  311. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/step-configurables.png +0 -0
  312. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/step-metrics.png +0 -0
  313. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
  314. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/validate_workflow.png +0 -0
  315. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
  316. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/wf-overview.gif +0 -0
  317. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
  318. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
  319. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
  320. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
  321. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
  322. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/work-in-progress.png +0 -0
  323. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/workflow-context.jpg +0 -0
  324. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
  325. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
  326. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
  327. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
  328. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
  329. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
  330. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
  331. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
  332. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
  333. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
  334. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
  335. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
  336. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
  337. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
  338. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
  339. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
  340. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
  341. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
  342. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
  343. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
  344. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
  345. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
  346. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
  347. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
  348. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/data-modeling-principles.md +0 -0
  349. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/conceptual/overview.md +0 -0
  350. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/conceptual/reference.md +0 -0
  351. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/data_model.md +0 -0
  352. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/physical/enum.md +0 -0
  353. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/physical/overview.md +0 -0
  354. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/physical/reference.md +0 -0
  355. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/physical/views.md +0 -0
  356. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/excel_data_modeling/units.md +0 -0
  357. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/gettingstarted/installation.md +0 -0
  358. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/gettingstarted/why-neat.md +0 -0
  359. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/index.md +0 -0
  360. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/base.md +0 -0
  361. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/drop.md +0 -0
  362. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/fix.md +0 -0
  363. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/inspect.md +0 -0
  364. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/mapping.md +0 -0
  365. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/prepare.md +0 -0
  366. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/read.md +0 -0
  367. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/set.md +0 -0
  368. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/show.md +0 -0
  369. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/subset.md +0 -0
  370. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/template.md +0 -0
  371. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/NeatSession/to.md +0 -0
  372. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/issues/base.md +0 -0
  373. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/issues/errors.md +0 -0
  374. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/issues/user_model_warnings.md +0 -0
  375. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/issues/warnings.md +0 -0
  376. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/reference/overview.md +0 -0
  377. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/cold_start.ipynb +0 -0
  378. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
  379. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
  380. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
  381. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
  382. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +0 -0
  383. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
  384. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1_implements.html +0 -0
  385. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +0 -0
  386. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
  387. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
  388. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/docs/tutorials/introduction/introduction.ipynb +0 -0
  389. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/mkdocs.yml +0 -0
  390. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/clean_space.py +0 -0
  391. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/core_classic_mapping.xlsx +0 -0
  392. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/create_classic_core_mapping_yaml.py +0 -0
  393. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/dependency_profiler.py +0 -0
  394. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/docs_generate_reference.py +0 -0
  395. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/docs_generate_unit.py +0 -0
  396. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/generate_steps_md.py +0 -0
  397. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/.gitignore +0 -0
  398. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/README.md +0 -0
  399. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/config.dev.yaml +0 -0
  400. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
  401. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
  402. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
  403. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
  404. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
  405. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
  406. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
  407. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
  408. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
  409. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
  410. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
  411. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
  412. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
  413. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
  414. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
  415. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
  416. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
  417. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
  418. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
  419. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
  420. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
  421. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
  422. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
  423. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
  424. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
  425. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
  426. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
  427. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
  428. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/manual_test_dms_importer.py +0 -0
  429. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/migration.py +0 -0
  430. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/oxi_remote/README.md +0 -0
  431. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/oxi_remote/docker-compose.yaml +0 -0
  432. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/test_lookup_table.csv +0 -0
  433. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/scripts/windfarm_to_toolkit.py +0 -0
  434. {cognite_neat-0.122.3/tests/tests_end_to_end → cognite_neat-0.123.1/tests}/__init__.py +0 -0
  435. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/config.py +0 -0
  436. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/conftest.py +0 -0
  437. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/__init__.py +0 -0
  438. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/IMF_TempTransmitterComplete.ttl +0 -0
  439. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/aml-raw-graph.ttl +0 -0
  440. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/aml_example.aml +0 -0
  441. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/car.py +0 -0
  442. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/dexpi-raw-graph.ttl +0 -0
  443. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/dexpi_example.xml +0 -0
  444. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/iodd_Piab-piCOMPACT10X-20230509-IODD1.1.xml +0 -0
  445. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_graph/low-quality-graph.ttl +0 -0
  446. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/assets.yaml +0 -0
  447. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/events.yaml +0 -0
  448. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/files.yaml +0 -0
  449. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/labels.yaml +0 -0
  450. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/relationships.yaml +0 -0
  451. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/sequence_rows.yaml +0 -0
  452. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/sequences.yaml +0 -0
  453. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/asset_centric_cdf/timeseries.yaml +0 -0
  454. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_instances/classic_windfarm.py +0 -0
  455. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/conceptual/broken_concepts.xlsx +0 -0
  456. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/conceptual/info-arch-car-rules.xlsx +0 -0
  457. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/conceptual/info_with_cdm_ref.xlsx +0 -0
  458. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/conceptual/information-unknown-value-type.xlsx +0 -0
  459. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/conceptual/only_concepts.xlsx +0 -0
  460. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/conversion/single_concept.conceptual.yaml +0 -0
  461. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/conversion/single_concept.physical.yaml +0 -0
  462. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/cognite_core_v1.zip +0 -0
  463. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/TemperatureController.zip +0 -0
  464. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/BaseConsumer.json +0 -0
  465. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/BasePlant.json +0 -0
  466. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/BaseReceiver.json +0 -0
  467. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/CityPlant.json +0 -0
  468. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/CoalPlant.json +0 -0
  469. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/DeliverySubStation.json +0 -0
  470. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/DomesticConsumer.json +0 -0
  471. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/FarmConsumer.json +0 -0
  472. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/Floor.json +0 -0
  473. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/GasPlant.json +0 -0
  474. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/GeneratorSubStation.json +0 -0
  475. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/HydroPlant.json +0 -0
  476. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/IndustrialConsumer.json +0 -0
  477. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/IndustrialPlant.json +0 -0
  478. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/NuclearPlant.json +0 -0
  479. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/PowerLine.json +0 -0
  480. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/Room.json +0 -0
  481. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/SolarPlant.json +0 -0
  482. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/Transformer.json +0 -0
  483. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/dtdl/energy-grid/WindPlant.json +0 -0
  484. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/referencing_core/MyDescribable.container.yaml +0 -0
  485. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/referencing_core/MyDescribable.view.yaml +0 -0
  486. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/referencing_core/enterprise.datamodel.yaml +0 -0
  487. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/non_neat/windturbine.py +0 -0
  488. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/partial-model/complete.xlsx +0 -0
  489. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/partial-model/part1.xlsx +0 -0
  490. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/partial-model/part2.ttl +0 -0
  491. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/partial-model/part3.yaml +0 -0
  492. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/car_dms_rules.xlsx +0 -0
  493. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/car_dms_rules_deprecated.xlsx +0 -0
  494. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/dm_raw_filter.xlsx +0 -0
  495. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/dm_view_space_different.xlsx +0 -0
  496. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/dms-unknown-value-type.xlsx +0 -0
  497. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/isa_plus_cdm.xlsx +0 -0
  498. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/missing-in-model-value.xlsx +0 -0
  499. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/mixed-up-version.xlsx +0 -0
  500. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/pump_example_duplicated_resources.xlsx +0 -0
  501. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/pump_example_with_missing_cells.xlsx +0 -0
  502. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical/pump_example_with_missing_cells_raise_issues.xlsx +0 -0
  503. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_invalid/inconsistent_container_dms_rules.xlsx +0 -0
  504. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_invalid/invalid_metadata.xlsx +0 -0
  505. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_invalid/invalid_property_dms_rules.xlsx +0 -0
  506. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_invalid/missing_view_container_dms_rules.xlsx +0 -0
  507. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_invalid/too_many_containers_per_view.xlsx +0 -0
  508. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_yamls/invalid_yaml.expected_issues.yaml +0 -0
  509. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_yamls/invalid_yaml.yaml +0 -0
  510. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.expected_issues.yaml +0 -0
  511. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.yaml +0 -0
  512. {cognite_neat-0.122.3/tests/tests_integration → cognite_neat-0.123.1/tests/tests_end_to_end}/__init__.py +0 -0
  513. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
  514. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +0 -0
  515. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
  516. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
  517. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_end_to_end/test_rules_flow.py +0 -0
  518. {cognite_neat-0.122.3/tests/tests_integration/test_api → cognite_neat-0.123.1/tests/tests_integration}/__init__.py +0 -0
  519. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/conftest.py +0 -0
  520. {cognite_neat-0.122.3/tests/tests_integration/test_graph → cognite_neat-0.123.1/tests/tests_integration/test_api}/__init__.py +0 -0
  521. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_api/test_conversion.py +0 -0
  522. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_api/test_validate_rules.py +0 -0
  523. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_client_available.py +0 -0
  524. {cognite_neat-0.122.3/tests/tests_integration/test_graph/test_loaders → cognite_neat-0.123.1/tests/tests_integration/test_graph}/__init__.py +0 -0
  525. {cognite_neat-0.122.3/tests/tests_integration/test_neat_client → cognite_neat-0.123.1/tests/tests_integration/test_graph/test_loaders}/__init__.py +0 -0
  526. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_graph/test_loaders/test_dms_loader.py +0 -0
  527. {cognite_neat-0.122.3/tests/tests_integration/test_rules → cognite_neat-0.123.1/tests/tests_integration/test_neat_client}/__init__.py +0 -0
  528. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
  529. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_neat_client/test_statistics.py +0 -0
  530. {cognite_neat-0.122.3/tests/tests_integration/test_rules/test_exporters → cognite_neat-0.123.1/tests/tests_integration/test_rules}/__init__.py +0 -0
  531. {cognite_neat-0.122.3/tests/tests_integration/test_rules/test_importers → cognite_neat-0.123.1/tests/tests_integration/test_rules/test_exporters}/__init__.py +0 -0
  532. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_rules/test_exporters/test_dms_exporters.py +0 -0
  533. {cognite_neat-0.122.3/tests/tests_integration/test_session → cognite_neat-0.123.1/tests/tests_integration/test_rules/test_importers}/__init__.py +0 -0
  534. {cognite_neat-0.122.3/tests/tests_integration/test_utils → cognite_neat-0.123.1/tests/tests_integration/test_session}/__init__.py +0 -0
  535. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_create_enterprise.py +0 -0
  536. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
  537. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +0 -0
  538. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
  539. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_data_model_prepare_fix.py +0 -0
  540. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
  541. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_data_model_to.py +0 -0
  542. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +0 -0
  543. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +0 -0
  544. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +0 -0
  545. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +0 -0
  546. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +0 -0
  547. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_graph_flow.py +0 -0
  548. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_session/test_read.py +0 -0
  549. {cognite_neat-0.122.3/tests/tests_unit → cognite_neat-0.123.1/tests/tests_integration/test_utils}/__init__.py +0 -0
  550. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_integration/test_utils/test_reader.py +0 -0
  551. {cognite_neat-0.122.3/tests/tests_unit/test_graph → cognite_neat-0.123.1/tests/tests_unit}/__init__.py +0 -0
  552. {cognite_neat-0.122.3/tests/tests_unit/test_graph/test_extractors → cognite_neat-0.123.1/tests/tests_unit/test_graph}/__init__.py +0 -0
  553. {cognite_neat-0.122.3/tests/tests_unit/test_graph/test_loaders → cognite_neat-0.123.1/tests/tests_unit/test_graph/test_extractors}/__init__.py +0 -0
  554. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_asset_extractor.py +0 -0
  555. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
  556. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +0 -0
  557. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
  558. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
  559. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
  560. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
  561. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
  562. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
  563. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
  564. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_graph_read.py +0 -0
  565. {cognite_neat-0.122.3/tests/tests_unit/test_graph/test_transformers → cognite_neat-0.123.1/tests/tests_unit/test_graph/test_loaders}/__init__.py +0 -0
  566. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_loaders/test_dms_loader.py +0 -0
  567. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_loaders/test_rdf_to_instance_space.py +0 -0
  568. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_provenance.py +0 -0
  569. {cognite_neat-0.122.3/tests/tests_unit/test_issues → cognite_neat-0.123.1/tests/tests_unit/test_graph/test_transformers}/__init__.py +0 -0
  570. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +0 -0
  571. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +0 -0
  572. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +0 -0
  573. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +0 -0
  574. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +0 -0
  575. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +0 -0
  576. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +0 -0
  577. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +0 -0
  578. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
  579. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_prune_graph.py +0 -0
  580. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +0 -0
  581. {cognite_neat-0.122.3/tests/tests_unit/test_neat_client → cognite_neat-0.123.1/tests/tests_unit/test_issues}/__init__.py +0 -0
  582. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_issues/test_formatters.py +0 -0
  583. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_issues/test_issue_behavior.py +0 -0
  584. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_issues/test_issues_metatests.py +0 -0
  585. {cognite_neat-0.122.3/tests/tests_unit/test_rules → cognite_neat-0.123.1/tests/tests_unit/test_neat_client}/__init__.py +0 -0
  586. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_neat_client/test_instances.py +0 -0
  587. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_neat_client/test_loaders.py +0 -0
  588. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_neat_client/test_schema.py +0 -0
  589. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_neat_package_metadata.py +0 -0
  590. {cognite_neat-0.122.3/tests/tests_unit/test_rules/test_exporters → cognite_neat-0.123.1/tests/tests_unit/test_rules}/__init__.py +0 -0
  591. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_analysis.py +0 -0
  592. {cognite_neat-0.122.3/tests/tests_unit/test_rules/test_importers → cognite_neat-0.123.1/tests/tests_unit/test_rules/test_exporters}/__init__.py +0 -0
  593. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_exporters/test_exporters_meta.py +0 -0
  594. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_exporters/test_rules2dms.py +0 -0
  595. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_exporters/test_rules2excel.py +0 -0
  596. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_exporters/test_rules2ontology.py +0 -0
  597. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_exporters/test_rules2yaml.py +0 -0
  598. {cognite_neat-0.122.3/tests/tests_unit/test_rules/test_models → cognite_neat-0.123.1/tests/tests_unit/test_rules/test_importers}/__init__.py +0 -0
  599. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/constants.py +0 -0
  600. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/test_dms_importer.py +0 -0
  601. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/test_dtdl_importer.py +0 -0
  602. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/test_excel_importer.py +0 -0
  603. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/test_imf_importer.py +0 -0
  604. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/test_inference_importer.py +0 -0
  605. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/test_owl_importer.py +0 -0
  606. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_importers/test_subinference_importer.py +0 -0
  607. {cognite_neat-0.122.3/tests/tests_unit/test_rules/test_transformers → cognite_neat-0.123.1/tests/tests_unit/test_rules/test_models}/__init__.py +0 -0
  608. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_asset_rules.py +0 -0
  609. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_base_rules.py +0 -0
  610. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_conceptual_model.py +0 -0
  611. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_data_types.py +0 -0
  612. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_dms_schema.py +0 -0
  613. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
  614. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_physical_data_model.py +0 -0
  615. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/test_wrapped_entities.py +0 -0
  616. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_models/utils.py +0 -0
  617. {cognite_neat-0.122.3/tests/tests_unit/test_session → cognite_neat-0.123.1/tests/tests_unit/test_rules/test_transformers}/__init__.py +0 -0
  618. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_transformers/test_converters.py +0 -0
  619. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_transformers/test_mapping.py +0 -0
  620. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_rules/test_transformers/test_transformer_meta.py +0 -0
  621. {cognite_neat-0.122.3/tests/tests_unit/test_store → cognite_neat-0.123.1/tests/tests_unit/test_session}/__init__.py +0 -0
  622. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_session/test_meta.py +0 -0
  623. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_session/test_read.py +0 -0
  624. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_session/test_to_yaml.py +0 -0
  625. {cognite_neat-0.122.3/tests/tests_unit/test_utils → cognite_neat-0.123.1/tests/tests_unit/test_store}/__init__.py +0 -0
  626. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_store/test_select_queries.py +0 -0
  627. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
  628. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_store/tests_rules_store.py +0 -0
  629. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_utils/test_auxiliary.py +0 -0
  630. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_utils/test_cdf_classes.py +0 -0
  631. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_utils/test_rdf.py +0 -0
  632. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_utils/test_reader.py +0 -0
  633. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_utils/test_text.py +0 -0
  634. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/tests_unit/test_utils/test_utils.py +0 -0
  635. {cognite_neat-0.122.3 → cognite_neat-0.123.1}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite-neat
3
- Version: 0.122.3
3
+ Version: 0.123.1
4
4
  Summary: Knowledge graph transformation
5
5
  Project-URL: Documentation, https://cognite-neat.readthedocs-hosted.com/
6
6
  Project-URL: Homepage, https://cognite-neat.readthedocs-hosted.com/
@@ -0,0 +1,2 @@
1
+ __version__ = "0.123.1"
2
+ __engine__ = "^2.0.4"
@@ -7,6 +7,11 @@ from cognite.client.data_classes.filters import Filter
7
7
  from cognite.client.exceptions import CogniteAPIError
8
8
  from cognite.client.utils.useful_types import SequenceNotStr
9
9
 
10
+ from cognite.neat.core._constants import DMS_INSTANCE_LIMIT_MARGIN
11
+ from cognite.neat.core._issues import NeatIssue
12
+ from cognite.neat.core._issues.errors import WillExceedLimitError
13
+ from cognite.neat.core._issues.warnings import NeatValueWarning
14
+
10
15
  if TYPE_CHECKING:
11
16
  from cognite.neat.core._client._api_client import NeatClient
12
17
 
@@ -69,3 +74,28 @@ class NeatInstancesAPI:
69
74
  if (time.perf_counter() - last_limit_change) > 30.0 and body["limit"] < 1_000:
70
75
  body["limit"] = min(int(body["limit"] * 1.5), 1_000)
71
76
  last_limit_change = time.perf_counter()
77
+
78
+ def validate_cdf_project_capacity(self, total_instances: int) -> NeatIssue | None:
79
+ """Validates if the current project instance capacity can accommodate the given number of instances.
80
+
81
+ Args:
82
+ total_instances (int): The total number of instances to check against the project's capacity.
83
+
84
+ Returns:
85
+ NeatIssue | None: Returns a warning if the capacity is exceeded, otherwise None.
86
+
87
+ Raises:
88
+ WillExceedLimitError: If the total instances exceed the project's instance capacity.
89
+
90
+ """
91
+ try:
92
+ stats = self._client.instance_statistics.project()
93
+ except CogniteAPIError as e:
94
+ # This endpoint is not yet in alpha, it may change or not be available.
95
+ return NeatValueWarning(f"Cannot check project instance capacity. Endpoint not available: {e}")
96
+ instance_capacity = stats.instances.instances_limit - stats.instances.instances
97
+ if total_instances + DMS_INSTANCE_LIMIT_MARGIN > instance_capacity:
98
+ raise WillExceedLimitError(
99
+ "instances", total_instances, stats.project, instance_capacity, DMS_INSTANCE_LIMIT_MARGIN
100
+ )
101
+ return None
@@ -9,7 +9,6 @@ from rdflib import DC, DCTERMS, FOAF, OWL, RDF, RDFS, SH, SKOS, XSD, Namespace,
9
9
  from rdflib.namespace import DefinedNamespace
10
10
 
11
11
  from cognite import neat
12
- from cognite.neat.core._issues.errors._general import NeatValueError
13
12
 
14
13
  if TYPE_CHECKING:
15
14
  from cognite.neat.core._data_model.models.physical import PhysicalProperty
@@ -161,6 +160,14 @@ DMS_DIRECT_RELATION_LIST_DEFAULT_LIMIT = 100
161
160
  DMS_PRIMITIVE_LIST_DEFAULT_LIMIT = 1000
162
161
  DMS_CONTAINER_LIST_MAX_LIMIT = 2000
163
162
 
163
+ # The number of instances that should be left as a margin when Neat writes to CDF through the DMS API.
164
+ # This is currently set conservatively to 1 million. The reasoning for this is that there are CDF
165
+ # applications such as Infield and Industrial Canvas that can write to the DMS API, as well as likely third-party
166
+ # applications that can write to the DMS API. If Neat fills up the entire capacity, these type of data gathering
167
+ # applications will experience data loss. The limit of 1 million is chosen such that it will trigger alarms in the
168
+ # CDF projects, such that admins can take action to increase or clean up the capacity before it is too late.
169
+ DMS_INSTANCE_LIMIT_MARGIN = 1_000_000
170
+
164
171
  _ASSET_ROOT_PROPERTY = {
165
172
  "connection": "direct",
166
173
  "container": "cdf_cdm:CogniteAsset",
@@ -211,6 +218,8 @@ def get_base_concepts(
211
218
  base_model: The base model to get the concepts for.
212
219
  total_concepts: The number of concepts to get. If None, all concepts are returned.
213
220
  """
221
+ # Local import to avoid circular dependency issues
222
+ from cognite.neat.core._issues.errors._general import NeatValueError
214
223
 
215
224
  if base_model == "CogniteCore":
216
225
  return [f"cdf_cdm:{concept}(version=v1)" for concept in COGNITE_CONCEPTS][:total_concepts]
@@ -42,6 +42,7 @@ class EntityTypes(StrEnum):
42
42
  version = "version"
43
43
  prefix = "prefix"
44
44
  space = "space"
45
+ container_index = "container_index"
45
46
 
46
47
 
47
48
  def get_reserved_words(
@@ -47,6 +47,7 @@ from cognite.neat.core._data_model.models.data_types import DataType, Enum, Stri
47
47
  from cognite.neat.core._data_model.models.entities import (
48
48
  ConceptEntity,
49
49
  ContainerEntity,
50
+ ContainerIndexEntity,
50
51
  DMSNodeEntity,
51
52
  EdgeEntity,
52
53
  PhysicalUnknownEntity,
@@ -385,7 +386,9 @@ class DMSImporter(BaseImporter[UnverifiedPhysicalDataModel]):
385
386
  ),
386
387
  view=str(view_entity),
387
388
  view_property=prop_id,
388
- index=self._get_index(prop, prop_id),
389
+ # MyPy fails to understand that list[ContainerIndexEntity] | None is valid even though
390
+ # the index expects str | list[ContainerIndexEntity | str] | None.
391
+ index=self._get_index(prop, prop_id), # type: ignore[arg-type]
389
392
  constraint=self._get_constraint(prop, prop_id),
390
393
  )
391
394
 
@@ -548,14 +551,22 @@ class DMSImporter(BaseImporter[UnverifiedPhysicalDataModel]):
548
551
  return str(default)
549
552
  return None
550
553
 
551
- def _get_index(self, prop: ViewPropertyApply, prop_id: str) -> list[str] | None:
554
+ def _get_index(self, prop: ViewPropertyApply, prop_id: str) -> list[ContainerIndexEntity] | None:
552
555
  if not isinstance(prop, dm.MappedPropertyApply):
553
556
  return None
554
557
  container = self._all_containers_by_id[prop.container]
555
- index: list[str] = []
558
+ index: list[ContainerIndexEntity] = []
556
559
  for index_name, index_obj in (container.indexes or {}).items():
557
- if isinstance(index_obj, BTreeIndex | InvertedIndex) and prop_id in index_obj.properties:
558
- index.append(index_name)
560
+ if isinstance(index_obj, BTreeIndex) and prop_id in index_obj.properties:
561
+ order = None if len(index_obj.properties) == 1 else index_obj.properties.index(prop_id)
562
+ index.append(
563
+ ContainerIndexEntity(
564
+ prefix="btree", suffix=index_name, cursorable=index_obj.cursorable, order=order
565
+ )
566
+ )
567
+ elif isinstance(index_obj, InvertedIndex) and prop_id in index_obj.properties:
568
+ order = None if len(index_obj.properties) == 1 else index_obj.properties.index(prop_id)
569
+ index.append(ContainerIndexEntity(prefix="inverted", suffix=index_name, order=order))
559
570
  return index or None
560
571
 
561
572
  def _get_constraint(self, prop: ViewPropertyApply, prop_id: str) -> list[str] | None:
@@ -7,6 +7,7 @@ from ._single_value import (
7
7
  ConceptEntity,
8
8
  ConceptualEntity,
9
9
  ContainerEntity,
10
+ ContainerIndexEntity,
10
11
  DataModelEntity,
11
12
  DMSNodeEntity,
12
13
  DMSVersionedEntity,
@@ -33,6 +34,7 @@ __all__ = [
33
34
  "ConceptualEntity",
34
35
  "ContainerEntity",
35
36
  "ContainerEntityList",
37
+ "ContainerIndexEntity",
36
38
  "DMSFilter",
37
39
  "DMSNodeEntity",
38
40
  "DMSVersionedEntity",
@@ -172,8 +172,8 @@ class ConceptualEntity(BaseModel, extra="ignore"):
172
172
  extra: tuple[str, ...] = tuple(
173
173
  [
174
174
  str(v or "")
175
- for field_name in self.model_fields
176
- if isinstance(v := getattr(self, field_name), str | None) and field_name not in {"prefix", "suffix"}
175
+ for field_name in self.model_fields.keys()
176
+ if (v := getattr(self, field_name)) and field_name not in {"prefix", "suffix"}
177
177
  ]
178
178
  )
179
179
  if isinstance(self.prefix, _UndefinedType):
@@ -225,8 +225,8 @@ class ConceptualEntity(BaseModel, extra="ignore"):
225
225
  continue
226
226
  if model_dump[key] == value:
227
227
  to_delete.append(key)
228
- elif isinstance(self, EdgeEntity):
229
- # Exception is edge entity, then, we remove all the defaults we can.
228
+ elif isinstance(self, EdgeEntity | ContainerIndexEntity):
229
+ # Exception is edge and container index entities, then we remove all the defaults we can.
230
230
  continue
231
231
  else:
232
232
  # Not all fields are default. We should not remove any of them.
@@ -549,3 +549,23 @@ class ReferenceEntity(ConceptEntity):
549
549
 
550
550
  def as_concept_entity(self) -> ConceptEntity:
551
551
  return ConceptEntity(prefix=self.prefix, suffix=self.suffix, version=self.version)
552
+
553
+
554
+ class ContainerIndexEntity(PhysicalEntity[None]):
555
+ type_: ClassVar[EntityTypes] = EntityTypes.container_index
556
+ prefix: _UndefinedType | Literal["btree", "inverted"] = Undefined # type: ignore[assignment]
557
+ suffix: str
558
+ order: int | None = Field(None, description="The order of the index. None indicates the value is not set.")
559
+ cursorable: bool | None = Field(
560
+ None, description="Whether the index is cursorable. None indicates the value is not set."
561
+ )
562
+ by_space: bool | None = Field(
563
+ None, alias="bySpace", description="Whether the index is by space. None indicates the value is not set."
564
+ )
565
+
566
+ def as_id(self) -> None:
567
+ return None
568
+
569
+ @classmethod
570
+ def from_id(cls, id: None) -> Self:
571
+ return cls(suffix="dummy")
@@ -10,6 +10,7 @@ from ._single_value import (
10
10
  AssetEntity,
11
11
  ConceptEntity,
12
12
  ContainerEntity,
13
+ ContainerIndexEntity,
13
14
  RelationshipEntity,
14
15
  ViewEntity,
15
16
  )
@@ -66,6 +67,16 @@ ContainerEntityList = Annotated[
66
67
  BeforeValidator(_split_str),
67
68
  ]
68
69
 
70
+ ContainerIndexListType = Annotated[
71
+ list[ContainerIndexEntity],
72
+ BeforeValidator(_split_str),
73
+ PlainSerializer(
74
+ _join_str,
75
+ return_type=str,
76
+ when_used="unless-none",
77
+ ),
78
+ ]
79
+
69
80
  ViewEntityList = Annotated[
70
81
  list[ViewEntity],
71
82
  BeforeValidator(_split_str),
@@ -4,7 +4,7 @@ from collections.abc import Collection, Hashable, Sequence
4
4
  from typing import Any, cast
5
5
 
6
6
  from cognite.client.data_classes import data_modeling as dm
7
- from cognite.client.data_classes.data_modeling.containers import BTreeIndex
7
+ from cognite.client.data_classes.data_modeling.containers import BTreeIndex, InvertedIndex
8
8
  from cognite.client.data_classes.data_modeling.data_types import EnumValue as DMSEnumValue
9
9
  from cognite.client.data_classes.data_modeling.data_types import ListablePropertyType
10
10
  from cognite.client.data_classes.data_modeling.views import (
@@ -29,6 +29,7 @@ from cognite.neat.core._data_model.models.data_types import DataType, Double, En
29
29
  from cognite.neat.core._data_model.models.entities import (
30
30
  ConceptEntity,
31
31
  ContainerEntity,
32
+ ContainerIndexEntity,
32
33
  DMSFilter,
33
34
  DMSNodeEntity,
34
35
  EdgeEntity,
@@ -36,6 +37,7 @@ from cognite.neat.core._data_model.models.entities import (
36
37
  NodeTypeFilter,
37
38
  PhysicalUnknownEntity,
38
39
  ReverseConnectionEntity,
40
+ Undefined,
39
41
  UnitEntity,
40
42
  ViewEntity,
41
43
  )
@@ -380,14 +382,25 @@ class _DMSExporter:
380
382
  container.constraints = container.constraints or {}
381
383
  container.constraints[constraint_name] = dm.UniquenessConstraint(properties=list(properties))
382
384
 
383
- index_properties: dict[str, set[str]] = defaultdict(set)
385
+ index_properties: dict[tuple[str, bool], list[tuple[str, ContainerIndexEntity]]] = defaultdict(list)
384
386
  for prop in container_properties:
385
387
  if prop.container_property is not None:
386
388
  for index in prop.index or []:
387
- index_properties[index].add(prop.container_property)
388
- for index_name, properties in index_properties.items():
389
+ index_properties[(index.suffix, prop.is_list or False)].append((prop.container_property, index))
390
+ for (index_name, is_list), properties in index_properties.items():
389
391
  container.indexes = container.indexes or {}
390
- container.indexes[index_name] = BTreeIndex(properties=list(properties))
392
+ index_property_list = [prop_id for prop_id, _ in sorted(properties, key=lambda x: x[1].order or 0)]
393
+ index_entity = properties[0][1]
394
+ if index_entity.prefix == "inverted" or (index_entity.prefix is Undefined and is_list):
395
+ container.indexes[index_name] = InvertedIndex(properties=index_property_list)
396
+ elif index_entity.prefix == "btree" or (index_entity.prefix is Undefined and not is_list):
397
+ container.indexes[index_name] = BTreeIndex(
398
+ properties=index_property_list, cursorable=index_entity.cursorable or False
399
+ )
400
+ else:
401
+ raise NeatValueError(
402
+ f"Invalid index prefix {index_entity.prefix!r} in {container_id}.{index_entity.suffix!r}"
403
+ )
391
404
 
392
405
  # We might drop containers we convert direct relations of list into multi-edge connections
393
406
  # which do not have a container.
@@ -21,6 +21,7 @@ from cognite.neat.core._data_model.models._base_unverified import (
21
21
  from cognite.neat.core._data_model.models.data_types import DataType
22
22
  from cognite.neat.core._data_model.models.entities import (
23
23
  ContainerEntity,
24
+ ContainerIndexEntity,
24
25
  DMSNodeEntity,
25
26
  EdgeEntity,
26
27
  PhysicalUnknownEntity,
@@ -135,7 +136,7 @@ class UnverifiedPhysicalProperty(UnverifiedComponent[PhysicalProperty]):
135
136
  default: str | int | float | bool | dict | None = None
136
137
  container: str | None = None
137
138
  container_property: str | None = None
138
- index: str | list[str] | None = None
139
+ index: str | list[str | ContainerIndexEntity] | ContainerIndexEntity | None = None
139
140
  constraint: str | list[str] | None = None
140
141
  neatId: str | URIRef | None = None
141
142
  conceptual: str | URIRef | None = None
@@ -167,6 +168,26 @@ class UnverifiedPhysicalProperty(UnverifiedComponent[PhysicalProperty]):
167
168
  if self.container
168
169
  else None
169
170
  )
171
+ if isinstance(self.index, ContainerIndexEntity) or (isinstance(self.index, str) and "," not in self.index):
172
+ output["Index"] = [ContainerIndexEntity.load(self.index)]
173
+ elif isinstance(self.index, str) and "," in self.index:
174
+ output["Index"] = [
175
+ ContainerIndexEntity.load(index.strip()) for index in self.index.split(",") if index.strip()
176
+ ]
177
+ elif isinstance(self.index, list):
178
+ index_list: list[ContainerIndexEntity | PhysicalUnknownEntity] = []
179
+ for index in self.index:
180
+ if isinstance(index, ContainerIndexEntity):
181
+ index_list.append(index)
182
+ elif isinstance(index, str) and "," in index:
183
+ index_list.extend(
184
+ [ContainerIndexEntity.load(idx.strip()) for idx in index.split(",") if idx.strip()]
185
+ )
186
+ elif isinstance(index, str):
187
+ index_list.append(ContainerIndexEntity.load(index.strip()))
188
+ else:
189
+ raise TypeError(f"Unexpected type for index: {type(index)}")
190
+ output["Index"] = index_list
170
191
  return output
171
192
 
172
193
  def referenced_view(self, default_space: str, default_version: str) -> ViewEntity:
@@ -391,7 +391,9 @@ class PhysicalValidation:
391
391
  "rows",
392
392
  )
393
393
  )
394
- index_definitions = {",".join(prop.index) for _, prop in properties if prop.index is not None}
394
+ index_definitions = {
395
+ ",".join([index.suffix for index in prop.index]) for _, prop in properties if prop.index is not None
396
+ }
395
397
  if len(index_definitions) > 1:
396
398
  errors.append(
397
399
  PropertyDefinitionDuplicatedError[dm.ContainerId](
@@ -32,7 +32,6 @@ from cognite.neat.core._data_model.models._types import (
32
32
  from cognite.neat.core._data_model.models.data_types import DataType
33
33
  from cognite.neat.core._data_model.models.entities import (
34
34
  ConceptualEntity,
35
- ContainerEntityList,
36
35
  DMSNodeEntity,
37
36
  EdgeEntity,
38
37
  HasDataFilter,
@@ -44,6 +43,7 @@ from cognite.neat.core._data_model.models.entities import (
44
43
  ViewEntity,
45
44
  ViewEntityList,
46
45
  )
46
+ from cognite.neat.core._data_model.models.entities._types import ContainerEntityList, ContainerIndexListType
47
47
  from cognite.neat.core._issues.errors import NeatValueError
48
48
  from cognite.neat.core._issues.warnings._general import NeatValueWarning
49
49
 
@@ -142,7 +142,7 @@ class PhysicalProperty(SheetRow):
142
142
  alias="Container Property",
143
143
  description="Specifies property in the container where the property is stored. Only applies to primitive type.",
144
144
  )
145
- index: StrListType | None = Field(
145
+ index: ContainerIndexListType | None = Field(
146
146
  None,
147
147
  alias="Index",
148
148
  description="The names of the indexes (comma separated) that should be created for the property.",
@@ -159,6 +159,14 @@ class DMSLoader(CDFLoader[dm.InstanceApply]):
159
159
  if self.neat_prefix_by_type_uri:
160
160
  self._lookup_identifier_by_uri()
161
161
 
162
+ if self._client:
163
+ validate_issue = self._client.instances.validate_cdf_project_capacity(
164
+ sum(it.instance_count for it in view_iterations)
165
+ )
166
+ if validate_issue:
167
+ yield validate_issue
168
+ return
169
+
162
170
  for it in view_iterations:
163
171
  view = it.view
164
172
  if view is None:
@@ -12,7 +12,7 @@ from ._external import (
12
12
  NeatYamlError,
13
13
  OxigraphStorageLockedError,
14
14
  )
15
- from ._general import NeatImportError, NeatTypeError, NeatValueError, RegexViolationError
15
+ from ._general import NeatImportError, NeatTypeError, NeatValueError, RegexViolationError, WillExceedLimitError
16
16
  from ._properties import (
17
17
  PropertyDefinitionDuplicatedError,
18
18
  PropertyDefinitionError,
@@ -82,6 +82,7 @@ __all__ = [
82
82
  "ReversedConnectionNotFeasibleError",
83
83
  "SpreadsheetError",
84
84
  "ViewValueError",
85
+ "WillExceedLimitError",
85
86
  ]
86
87
 
87
88
  _NEAT_ERRORS_BY_NAME = {error.__name__: error for error in _get_subclasses(NeatError, include_base=True)}
@@ -1,4 +1,5 @@
1
1
  from dataclasses import dataclass
2
+ from typing import Literal
2
3
 
3
4
  from cognite.neat.core._issues import NeatError
4
5
 
@@ -35,3 +36,16 @@ class NeatImportError(NeatError, ImportError):
35
36
 
36
37
  module: str
37
38
  neat_extra: str
39
+
40
+
41
+ @dataclass(unsafe_hash=True)
42
+ class WillExceedLimitError(NeatError, RuntimeError):
43
+ """Cannot write {resource_count} {resource_type} to project {project} as the current available capacity
44
+ is {available_capacity} {resource_type}. Neat requires a capacity of at least {margin} {resource_type} are
45
+ left for future writes, {available_capacity}-{resource_count} < {margin}."""
46
+
47
+ resource_type: Literal["instances"]
48
+ resource_count: int
49
+ project: str
50
+ available_capacity: int
51
+ margin: int
@@ -0,0 +1,3 @@
1
+ from ._manager import get_plugin_manager
2
+
3
+ __all__ = ["get_plugin_manager"]
@@ -0,0 +1,25 @@
1
+ from dataclasses import dataclass
2
+
3
+ from cognite.neat.core._issues._base import NeatError
4
+
5
+
6
+ @dataclass(unsafe_hash=True)
7
+ class PluginError(NeatError, ImportError):
8
+ """No plugin of type '{plugin_type}' registered under name '{plugin_name}'"""
9
+
10
+ plugin_name: str
11
+ plugin_type: str
12
+
13
+
14
+ @dataclass(unsafe_hash=True)
15
+ class PluginLoadingError(PluginError):
16
+ """Unable to load plugin of type '{plugin_type}' registered under name '{plugin_name}' due to: {exception}"""
17
+
18
+ exception: str
19
+
20
+
21
+ @dataclass(unsafe_hash=True)
22
+ class PluginDuplicateError(PluginError):
23
+ """Plugin of type '{plugin_type}' registered for under name '{plugin_name}' already exists"""
24
+
25
+ ...
@@ -0,0 +1,99 @@
1
+ """Plugin manager for external plugins."""
2
+
3
+ from importlib import metadata
4
+ from typing import Any, ClassVar, TypeAlias
5
+
6
+ from ._issues import PluginDuplicateError, PluginError, PluginLoadingError
7
+ from .data_model.importers import DataModelImporterPlugin
8
+
9
+ # Here we configure entry points where external plugins are going to be registered.
10
+ plugins_entry_points = {
11
+ "cognite.neat.plugins.data_model.importers": DataModelImporterPlugin,
12
+ }
13
+
14
+ #: Type alias for all supported plugin types
15
+ NeatPlugin: TypeAlias = DataModelImporterPlugin
16
+
17
+
18
+ class Plugin:
19
+ """Plugin class for registering plugins registered via entry points (i.e. external plugins).
20
+
21
+ Args:
22
+ name (str): The name of format (e.g. Excel) or action (e.g. merge) plugin is handling.
23
+ type_ (type): The type of the plugin.
24
+ entry_point (EntryPoint): The entry point for the plugin.
25
+
26
+ !!! note "name uniqueness"
27
+ The name of the plugin must be lower case and unique across all plugins of the same kind.
28
+ If two plugins have the same name, the exception will be raised.
29
+ """
30
+
31
+ def __init__(self, name: str, type_: type[NeatPlugin], entry_point: metadata.EntryPoint):
32
+ self.name = name
33
+ self.type_ = type_
34
+ self.entry_point = entry_point
35
+
36
+ def load(self) -> Any:
37
+ try:
38
+ return self.entry_point.load()
39
+ except Exception as e:
40
+ raise PluginLoadingError(self.name, self.type_.__name__, str(e)) from e
41
+
42
+
43
+ class PluginManager:
44
+ """Plugin manager for external plugins."""
45
+
46
+ _plugins_entry_points: ClassVar[dict[str, type[NeatPlugin]]] = {
47
+ "cognite.neat.plugins.data_model.importers": DataModelImporterPlugin,
48
+ }
49
+
50
+ def __init__(self, plugins: dict[tuple[str, type[NeatPlugin]], Any]) -> None:
51
+ self._plugins = plugins
52
+
53
+ def get(self, name: str, type_: type[NeatPlugin]) -> Any:
54
+ """
55
+ Returns desired plugin
56
+
57
+ Args:
58
+ name (str): The name of format (e.g. Excel) or action (e.g. merge) plugin is handling.
59
+ type_ (type): The type of the plugin.
60
+ """
61
+ try:
62
+ return self._plugins[(name, type_)]
63
+ except KeyError:
64
+ raise PluginError(plugin_name=name, plugin_type=type_.__name__) from None
65
+
66
+ @classmethod
67
+ def load_plugins(cls, entry_points: metadata.EntryPoints | None = None) -> "PluginManager":
68
+ """Load plugins from entry points and register them to the manager.
69
+ This method scans the provided entry points for plugins defined in the
70
+ `_plugins_entry_points` dictionary and registers them.
71
+
72
+ Args:
73
+ entry_points: Entry points to load plugins from. If None, uses the default entry points.
74
+ """
75
+ _plugins: dict[tuple[str, type[NeatPlugin]], Any] = {}
76
+
77
+ entry_points = entry_points or metadata.entry_points()
78
+ if hasattr(entry_points, "select"):
79
+ for group, type_ in cls._plugins_entry_points.items():
80
+ for entry_point in entry_points.select(group=group):
81
+ # Check for duplicate plugins
82
+ if (entry_point.name, type_) in _plugins:
83
+ raise PluginDuplicateError(plugin_name=entry_point.name, plugin_type=type_.__name__)
84
+
85
+ # Register the plugin
86
+ _plugins[(entry_point.name, type_)] = Plugin(entry_point.name, type_, entry_point).load()
87
+
88
+ return cls(_plugins)
89
+
90
+
91
+ _manager_instance: PluginManager | None = None
92
+
93
+
94
+ def get_plugin_manager(force_reload: bool = False) -> PluginManager:
95
+ """Get or create a singleton PluginManager instance."""
96
+ global _manager_instance
97
+ if force_reload or _manager_instance is None:
98
+ _manager_instance = PluginManager.load_plugins()
99
+ return _manager_instance
@@ -0,0 +1,5 @@
1
+ from ._base import DataModelImporterPlugin
2
+
3
+ __all__ = [
4
+ "DataModelImporterPlugin",
5
+ ]
@@ -0,0 +1,27 @@
1
+ from typing import Any
2
+
3
+ from cognite.neat.core._data_model.importers._base import BaseImporter
4
+
5
+
6
+ class DataModelImporterPlugin:
7
+ """This class is used an interface for data model import plugins.
8
+ Any plugin that is used for importing data models should inherit from this class.
9
+ It is expected to implement the `configure` method which returns a configured importer.
10
+ """
11
+
12
+ def configure(self, io: Any, **kwargs: Any) -> BaseImporter:
13
+ """Return a configure plugin for data model import.
14
+
15
+ Args:
16
+ io (Any): The input/output interface for the plugin.
17
+ **kwargs (Any): Additional keyword arguments for configuration.
18
+
19
+ Returns:
20
+ BaseImporter: A configured instance of the BaseImporter.
21
+
22
+ !!! note "Returns"
23
+ The method must return an instance of `BaseImporter` or its subclasses
24
+ meaning it must implement the `BaseImporter` interface.
25
+ """
26
+
27
+ raise NotImplementedError()
@@ -5,7 +5,7 @@ from typing import Any, TypeVar
5
5
 
6
6
  from cognite.neat.core._issues.errors import CDFMissingClientError, NeatImportError
7
7
  from cognite.neat.core._issues.errors._external import OxigraphStorageLockedError
8
- from cognite.neat.core._issues.errors._general import NeatValueError
8
+ from cognite.neat.core._issues.errors._general import NeatValueError, WillExceedLimitError
9
9
  from cognite.neat.session._experimental import ExperimentalFeatureWarning
10
10
 
11
11
  from ._collector import _COLLECTOR
@@ -50,6 +50,7 @@ def _session_method_wrapper(func: Callable, cls_name: str) -> Any:
50
50
  NeatImportError,
51
51
  NeatValueError,
52
52
  OxigraphStorageLockedError,
53
+ WillExceedLimitError,
53
54
  ) as e:
54
55
  print(f"{_ERROR_PREFIX} {escape(e.as_message())}")
55
56
  except ModuleNotFoundError as e: