cognite-neat 0.123.36__tar.gz → 0.123.38__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 (622) hide show
  1. cognite_neat-0.123.38/.github/CODEOWNERS +2 -0
  2. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.github/workflows/code-quality.yaml +8 -4
  3. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.github/workflows/release.yaml +34 -0
  4. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/PKG-INFO +1 -1
  5. cognite_neat-0.123.38/cognite/neat/_data_model/models/conceptual/_base.py +18 -0
  6. cognite_neat-0.123.38/cognite/neat/_data_model/models/conceptual/_properties.py +104 -0
  7. cognite_neat-0.123.38/cognite/neat/_data_model/models/dms/__init__.py +69 -0
  8. cognite_neat-0.123.38/cognite/neat/_data_model/models/dms/_constants.py +46 -0
  9. cognite_neat-0.123.38/cognite/neat/_data_model/models/dms/_constraints.py +30 -0
  10. cognite_neat-0.123.38/cognite/neat/_data_model/models/dms/_container.py +152 -0
  11. cognite_neat-0.123.38/cognite/neat/_data_model/models/dms/_data_types.py +167 -0
  12. cognite_neat-0.123.38/cognite/neat/_data_model/models/dms/_indexes.py +26 -0
  13. cognite_neat-0.123.38/cognite/neat/_data_model/models/dms/_references.py +22 -0
  14. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/dms/_space.py +2 -2
  15. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/entities/__init__.py +3 -0
  16. cognite_neat-0.123.38/cognite/neat/_issues.py +33 -0
  17. cognite_neat-0.123.38/cognite/neat/_utils/text.py +40 -0
  18. cognite_neat-0.123.38/cognite/neat/_utils/validation.py +81 -0
  19. cognite_neat-0.123.38/cognite/neat/_version.py +2 -0
  20. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/exporters/__init__.py +1 -2
  21. cognite_neat-0.123.36/cognite/neat/v0/core/_data_model/exporters/_data_model2ontology.py → cognite_neat-0.123.38/cognite/neat/v0/core/_data_model/exporters/_data_model2semantic_model.py +117 -107
  22. cognite_neat-0.123.38/last_changelog_entry.md +7 -0
  23. cognite_neat-0.123.38/last_git_message.txt +30 -0
  24. cognite_neat-0.123.38/last_version.txt +1 -0
  25. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/pyproject.toml +1 -1
  26. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/test-pyodide.js +1 -0
  27. cognite_neat-0.123.38/tests/tests_data_model/test_models/test_conceptual/test_property.py +36 -0
  28. cognite_neat-0.123.38/tests/tests_unit_v1/test_data_model/test_models/test_dms/test_containers.py +261 -0
  29. cognite_neat-0.123.38/tests/tests_unit_v1/test_data_model/test_models/test_dms/test_spaces.py +33 -0
  30. cognite_neat-0.123.38/tests/v0/tests_unit/test_rules/test_exporters/test_rules2ontology.py +65 -0
  31. cognite_neat-0.123.38/tests/v0/tests_unit/test_store/__init__.py +0 -0
  32. cognite_neat-0.123.38/tests/v0/tests_unit/test_utils/__init__.py +0 -0
  33. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/uv.lock +1 -1
  34. cognite_neat-0.123.36/.github/CODEOWNERS +0 -2
  35. cognite_neat-0.123.36/cognite/neat/_data_model/models/dms/__init__.py +0 -10
  36. cognite_neat-0.123.36/cognite/neat/_data_model/models/dms/_constants.py +0 -2
  37. cognite_neat-0.123.36/cognite/neat/_version.py +0 -2
  38. cognite_neat-0.123.36/last_changelog_entry.md +0 -4
  39. cognite_neat-0.123.36/last_git_message.txt +0 -19
  40. cognite_neat-0.123.36/last_version.txt +0 -1
  41. cognite_neat-0.123.36/tests/v0/tests_unit/test_rules/test_exporters/test_rules2ontology.py +0 -28
  42. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.coveragerc +0 -0
  43. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.gemini/styleguide.md +0 -0
  44. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  45. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  46. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.github/pull_request_template.md +0 -0
  47. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.github/renovate.json +0 -0
  48. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.gitignore +0 -0
  49. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.pre-commit-config.yaml +0 -0
  50. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/.readthedocs.yaml +0 -0
  51. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/CODE_OF_CONDUCT.md +0 -0
  52. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/CONTRIBUTING.md +0 -0
  53. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/LICENSE +0 -0
  54. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/README.md +0 -0
  55. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cdf.toml +0 -0
  56. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/codecov.yml +0 -0
  57. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/__init__.py +0 -0
  58. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/__init__.py +0 -0
  59. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/_constants.py +0 -0
  60. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/_identifiers.py +0 -0
  61. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/__init__.py +0 -0
  62. {cognite_neat-0.123.36/cognite/neat/_utils → cognite_neat-0.123.38/cognite/neat/_data_model/models/conceptual}/__init__.py +0 -0
  63. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/dms/_base.py +0 -0
  64. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/entities/_base.py +0 -0
  65. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/entities/_constants.py +0 -0
  66. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/entities/_data_types.py +0 -0
  67. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/entities/_identifiers.py +0 -0
  68. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_data_model/models/entities/_parser.py +0 -0
  69. {cognite_neat-0.123.36/cognite/neat/v0 → cognite_neat-0.123.38/cognite/neat/_utils}/__init__.py +0 -0
  70. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_utils/auxiliary.py +0 -0
  71. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_utils/http_client/__init__.py +0 -0
  72. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_utils/http_client/_client.py +0 -0
  73. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_utils/http_client/_config.py +0 -0
  74. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_utils/http_client/_data_classes.py +0 -0
  75. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_utils/http_client/_tracker.py +0 -0
  76. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/_utils/useful_types.py +0 -0
  77. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/py.typed +0 -0
  78. {cognite_neat-0.123.36/cognite/neat/v0/core → cognite_neat-0.123.38/cognite/neat/v0}/__init__.py +0 -0
  79. {cognite_neat-0.123.36/cognite/neat/v0/core/_client/_api → cognite_neat-0.123.38/cognite/neat/v0/core}/__init__.py +0 -0
  80. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/__init__.py +0 -0
  81. {cognite_neat-0.123.36/cognite/neat/v0/core/_client/data_classes → cognite_neat-0.123.38/cognite/neat/v0/core/_client/_api}/__init__.py +0 -0
  82. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/_api/data_modeling_loaders.py +0 -0
  83. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/_api/neat_instances.py +0 -0
  84. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/_api/schema.py +0 -0
  85. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/_api/statistics.py +0 -0
  86. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/_api_client.py +0 -0
  87. {cognite_neat-0.123.36/cognite/neat/v0/core/_data_model → cognite_neat-0.123.38/cognite/neat/v0/core/_client/data_classes}/__init__.py +0 -0
  88. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/data_classes/data_modeling.py +0 -0
  89. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/data_classes/neat_sequence.py +0 -0
  90. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/data_classes/schema.py +0 -0
  91. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/data_classes/statistics.py +0 -0
  92. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_client/testing.py +0 -0
  93. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_config.py +0 -0
  94. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_constants.py +0 -0
  95. {cognite_neat-0.123.36/cognite/neat/v0/core/_instances → cognite_neat-0.123.38/cognite/neat/v0/core/_data_model}/__init__.py +0 -0
  96. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/_constants.py +0 -0
  97. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/_shared.py +0 -0
  98. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/analysis/__init__.py +0 -0
  99. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/analysis/_base.py +0 -0
  100. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/catalog/__init__.py +0 -0
  101. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/catalog/classic_model.xlsx +0 -0
  102. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  103. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
  104. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/exporters/_base.py +0 -0
  105. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/exporters/_data_model2dms.py +0 -0
  106. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/exporters/_data_model2excel.py +0 -0
  107. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/exporters/_data_model2instance_template.py +0 -0
  108. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/exporters/_data_model2yaml.py +0 -0
  109. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/__init__.py +0 -0
  110. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_base.py +0 -0
  111. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_base_file_reader.py +0 -0
  112. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_dict2data_model.py +0 -0
  113. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_dms2data_model.py +0 -0
  114. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_graph2data_model.py +0 -0
  115. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_rdf/__init__.py +0 -0
  116. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_rdf/_base.py +0 -0
  117. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
  118. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
  119. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_rdf/_shared.py +0 -0
  120. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
  121. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/__init__.py +0 -0
  122. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/_base_unverified.py +0 -0
  123. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/_base_verified.py +0 -0
  124. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/_import_contexts.py +0 -0
  125. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/_types.py +0 -0
  126. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/conceptual/__init__.py +0 -0
  127. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/conceptual/_unverified.py +0 -0
  128. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/conceptual/_validation.py +0 -0
  129. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/conceptual/_verified.py +0 -0
  130. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/data_types.py +0 -0
  131. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/__init__.py +0 -0
  132. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/_constants.py +0 -0
  133. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/_loaders.py +0 -0
  134. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/_multi_value.py +0 -0
  135. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/_restrictions.py +0 -0
  136. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/_single_value.py +0 -0
  137. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/_types.py +0 -0
  138. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/entities/_wrapped.py +0 -0
  139. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/mapping/__init__.py +0 -0
  140. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/mapping/_classic2core.py +0 -0
  141. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/mapping/_classic2core.yaml +0 -0
  142. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/physical/__init__.py +0 -0
  143. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/physical/_exporter.py +0 -0
  144. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/physical/_unverified.py +0 -0
  145. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/physical/_validation.py +0 -0
  146. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/models/physical/_verified.py +0 -0
  147. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/transformers/__init__.py +0 -0
  148. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/transformers/_base.py +0 -0
  149. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/transformers/_converters.py +0 -0
  150. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/transformers/_mapping.py +0 -0
  151. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/transformers/_union_conceptual.py +0 -0
  152. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_data_model/transformers/_verification.py +0 -0
  153. {cognite_neat-0.123.36/cognite/neat/v0/core/_instances/extractors/_classic_cdf → cognite_neat-0.123.38/cognite/neat/v0/core/_instances}/__init__.py +0 -0
  154. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/_shared.py +0 -0
  155. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/_tracking/__init__.py +0 -0
  156. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/_tracking/base.py +0 -0
  157. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/_tracking/log.py +0 -0
  158. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  159. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  160. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/examples/__init__.py +0 -0
  161. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  162. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/__init__.py +0 -0
  163. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_base.py +0 -0
  164. {cognite_neat-0.123.36/cognite/neat/v0/core/_utils → cognite_neat-0.123.38/cognite/neat/v0/core/_instances/extractors/_classic_cdf}/__init__.py +0 -0
  165. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
  166. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_base.py +0 -0
  167. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
  168. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  169. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_events.py +0 -0
  170. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_files.py +0 -0
  171. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
  172. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
  173. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
  174. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  175. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_dict.py +0 -0
  176. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_dms.py +0 -0
  177. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_dms_graph.py +0 -0
  178. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_mock_graph_generator.py +0 -0
  179. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_raw.py +0 -0
  180. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/extractors/_rdf_file.py +0 -0
  181. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/loaders/__init__.py +0 -0
  182. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/loaders/_base.py +0 -0
  183. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/loaders/_rdf2dms.py +0 -0
  184. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/loaders/_rdf_to_instance_space.py +0 -0
  185. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/queries/__init__.py +0 -0
  186. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/queries/_base.py +0 -0
  187. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/queries/_queries.py +0 -0
  188. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/queries/_select.py +0 -0
  189. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/queries/_update.py +0 -0
  190. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/transformers/__init__.py +0 -0
  191. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/transformers/_base.py +0 -0
  192. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/transformers/_classic_cdf.py +0 -0
  193. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/transformers/_prune_graph.py +0 -0
  194. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/transformers/_rdfpath.py +0 -0
  195. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_instances/transformers/_value_type.py +0 -0
  196. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/__init__.py +0 -0
  197. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/_base.py +0 -0
  198. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/_contextmanagers.py +0 -0
  199. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/_factory.py +0 -0
  200. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/errors/__init__.py +0 -0
  201. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/errors/_external.py +0 -0
  202. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/errors/_general.py +0 -0
  203. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/errors/_properties.py +0 -0
  204. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/errors/_resources.py +0 -0
  205. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/errors/_wrapper.py +0 -0
  206. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/formatters.py +0 -0
  207. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/warnings/__init__.py +0 -0
  208. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/warnings/_external.py +0 -0
  209. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/warnings/_general.py +0 -0
  210. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/warnings/_models.py +0 -0
  211. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/warnings/_properties.py +0 -0
  212. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/warnings/_resources.py +0 -0
  213. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_issues/warnings/user_modeling.py +0 -0
  214. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_shared.py +0 -0
  215. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_store/__init__.py +0 -0
  216. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_store/_data_model.py +0 -0
  217. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_store/_instance.py +0 -0
  218. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_store/_provenance.py +0 -0
  219. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_store/exceptions.py +0 -0
  220. {cognite_neat-0.123.36/tests → cognite_neat-0.123.38/cognite/neat/v0/core/_utils}/__init__.py +0 -0
  221. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/auth.py +0 -0
  222. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/auxiliary.py +0 -0
  223. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/collection_.py +0 -0
  224. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/graph_transformations_report.py +0 -0
  225. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/io_.py +0 -0
  226. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/rdf_.py +0 -0
  227. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/reader/__init__.py +0 -0
  228. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/reader/_base.py +0 -0
  229. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/spreadsheet.py +0 -0
  230. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/tarjan.py +0 -0
  231. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/text.py +0 -0
  232. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/time_.py +0 -0
  233. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/upload.py +0 -0
  234. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/core/_utils/xml_.py +0 -0
  235. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/plugins/__init__.py +0 -0
  236. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/plugins/_base.py +0 -0
  237. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/plugins/_data_model.py +0 -0
  238. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/plugins/_issues.py +0 -0
  239. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/plugins/_manager.py +0 -0
  240. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/__init__.py +0 -0
  241. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_base.py +0 -0
  242. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_collector.py +0 -0
  243. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_drop.py +0 -0
  244. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_experimental.py +0 -0
  245. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_explore.py +0 -0
  246. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_fix.py +0 -0
  247. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_inspect.py +0 -0
  248. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_mapping.py +0 -0
  249. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_plugin.py +0 -0
  250. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_prepare.py +0 -0
  251. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_read.py +0 -0
  252. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_set.py +0 -0
  253. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_show.py +0 -0
  254. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_state/README.md +0 -0
  255. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_state.py +0 -0
  256. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_subset.py +0 -0
  257. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_template.py +0 -0
  258. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_to.py +0 -0
  259. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/_wizard.py +0 -0
  260. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/engine/__init__.py +0 -0
  261. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/engine/_import.py +0 -0
  262. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/engine/_interface.py +0 -0
  263. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/engine/_load.py +0 -0
  264. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/cognite/neat/v0/session/exceptions.py +0 -0
  265. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/dev.py +0 -0
  266. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
  267. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
  268. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
  269. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
  270. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/aml-dm.png +0 -0
  271. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
  272. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/aml-instances-full.png +0 -0
  273. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
  274. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
  275. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
  276. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
  277. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
  278. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/authorship.png +0 -0
  279. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/base-components.png +0 -0
  280. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
  281. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/change_validate_step.png +0 -0
  282. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
  283. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
  284. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
  285. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/container_spec.png +0 -0
  286. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/core_extension.png +0 -0
  287. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/core_extension_excel.png +0 -0
  288. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
  289. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
  290. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/data-exploration.gif +0 -0
  291. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/data-model-nordic44.png +0 -0
  292. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/data-modeling-flow.png +0 -0
  293. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
  294. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
  295. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
  296. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
  297. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
  298. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dm-classes.png +0 -0
  299. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dm-object-shapes.png +0 -0
  300. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dm-prefixes.png +0 -0
  301. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
  302. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
  303. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
  304. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/execution-history.gif +0 -0
  305. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/export_dms_config.png +0 -0
  306. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/export_dms_executed.png +0 -0
  307. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/export_dms_workflow.png +0 -0
  308. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/features.png +0 -0
  309. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/graph-etl-flow.png +0 -0
  310. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/high-level-io.png +0 -0
  311. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/instances-nordic44.png +0 -0
  312. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/instances-sheet.png +0 -0
  313. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
  314. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
  315. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
  316. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
  317. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
  318. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
  319. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
  320. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/logo.png +0 -0
  321. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/metadata-sheet.png +0 -0
  322. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/multi-hop.png +0 -0
  323. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/neat-high-level.png +0 -0
  324. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/neat-two_flows.png +0 -0
  325. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/neat_shift_tab.png +0 -0
  326. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/neat_tab.png +0 -0
  327. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/prefixes-sheet.png +0 -0
  328. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
  329. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
  330. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
  331. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
  332. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
  333. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
  334. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
  335. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
  336. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
  337. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/run_workflow.png +0 -0
  338. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
  339. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
  340. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
  341. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
  342. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
  343. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
  344. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
  345. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/step-configurables.png +0 -0
  346. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/step-metrics.png +0 -0
  347. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
  348. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/validate_workflow.png +0 -0
  349. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
  350. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/wf-overview.gif +0 -0
  351. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
  352. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
  353. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
  354. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
  355. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
  356. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/work-in-progress.png +0 -0
  357. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/workflow-context.jpg +0 -0
  358. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
  359. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
  360. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
  361. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
  362. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
  363. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
  364. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
  365. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
  366. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
  367. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
  368. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
  369. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
  370. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
  371. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
  372. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
  373. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
  374. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
  375. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
  376. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
  377. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
  378. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
  379. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
  380. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
  381. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
  382. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
  383. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/data-modeling-principles.md +0 -0
  384. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/conceptual/overview.md +0 -0
  385. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/conceptual/reference.md +0 -0
  386. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/data_model.md +0 -0
  387. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/physical/enum.md +0 -0
  388. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/physical/overview.md +0 -0
  389. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/physical/properties.md +0 -0
  390. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/physical/reference.md +0 -0
  391. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/physical/views.md +0 -0
  392. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/excel_data_modeling/units.md +0 -0
  393. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/gettingstarted/installation.md +0 -0
  394. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/gettingstarted/why-neat.md +0 -0
  395. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/index.md +0 -0
  396. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/base.md +0 -0
  397. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/drop.md +0 -0
  398. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/fix.md +0 -0
  399. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/inspect.md +0 -0
  400. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/mapping.md +0 -0
  401. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/prepare.md +0 -0
  402. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/read.md +0 -0
  403. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/set.md +0 -0
  404. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/show.md +0 -0
  405. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/subset.md +0 -0
  406. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/template.md +0 -0
  407. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/NeatSession/to.md +0 -0
  408. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/issues/base.md +0 -0
  409. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/issues/errors.md +0 -0
  410. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/issues/user_model_warnings.md +0 -0
  411. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/issues/warnings.md +0 -0
  412. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/reference/overview.md +0 -0
  413. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/cold_start.ipynb +0 -0
  414. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
  415. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
  416. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
  417. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
  418. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +0 -0
  419. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
  420. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1_implements.html +0 -0
  421. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +0 -0
  422. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
  423. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
  424. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/docs/tutorials/introduction/introduction.ipynb +0 -0
  425. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/mkdocs.yml +0 -0
  426. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/clean_space.py +0 -0
  427. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/core_classic_mapping.xlsx +0 -0
  428. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/create_classic_core_mapping_yaml.py +0 -0
  429. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/dependency_profiler.py +0 -0
  430. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/docs_generate_reference.py +0 -0
  431. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/docs_generate_unit.py +0 -0
  432. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/generate_steps_md.py +0 -0
  433. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/.gitignore +0 -0
  434. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/README.md +0 -0
  435. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/config.dev.yaml +0 -0
  436. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
  437. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
  438. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
  439. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
  440. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
  441. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
  442. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
  443. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
  444. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
  445. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
  446. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
  447. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
  448. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
  449. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
  450. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
  451. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
  452. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
  453. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
  454. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
  455. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
  456. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
  457. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
  458. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
  459. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
  460. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
  461. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
  462. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
  463. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
  464. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/manual_test_dms_importer.py +0 -0
  465. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/migration.py +0 -0
  466. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/oxi_remote/README.md +0 -0
  467. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/oxi_remote/docker-compose.yaml +0 -0
  468. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/test_lookup_table.csv +0 -0
  469. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/scripts/windfarm_to_toolkit.py +0 -0
  470. {cognite_neat-0.123.36/tests/tests_data_model → cognite_neat-0.123.38/tests}/__init__.py +0 -0
  471. {cognite_neat-0.123.36/tests/tests_data_model/test_models → cognite_neat-0.123.38/tests/tests_data_model}/__init__.py +0 -0
  472. {cognite_neat-0.123.36/tests/tests_data_model/test_models/test_entities → cognite_neat-0.123.38/tests/tests_data_model/test_models}/__init__.py +0 -0
  473. {cognite_neat-0.123.36/tests/tests_unit → cognite_neat-0.123.38/tests/tests_data_model/test_models/test_conceptual}/__init__.py +0 -0
  474. {cognite_neat-0.123.36/tests/tests_unit/test_data_model → cognite_neat-0.123.38/tests/tests_data_model/test_models/test_entities}/__init__.py +0 -0
  475. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/tests_data_model/test_models/test_entities/test_base_entities.py +0 -0
  476. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/tests_data_model/test_models/test_entities/test_data_type.py +0 -0
  477. {cognite_neat-0.123.36/tests/tests_unit/test_data_model/test_models → cognite_neat-0.123.38/tests/tests_unit}/__init__.py +0 -0
  478. {cognite_neat-0.123.36/tests/tests_unit/test_data_model/test_models/test_dms → cognite_neat-0.123.38/tests/tests_unit/test_data_model}/__init__.py +0 -0
  479. {cognite_neat-0.123.36/tests/tests_unit/test_data_model/test_models/test_entities → cognite_neat-0.123.38/tests/tests_unit/test_data_model/test_models}/__init__.py +0 -0
  480. {cognite_neat-0.123.36/tests/tests_unit/test_utils → cognite_neat-0.123.38/tests/tests_unit/test_data_model/test_models/test_dms}/__init__.py +0 -0
  481. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/tests_unit/test_data_model/test_models/test_dms/test_resources.py +0 -0
  482. {cognite_neat-0.123.36/tests/v0/tests_end_to_end → cognite_neat-0.123.38/tests/tests_unit/test_data_model/test_models/test_entities}/__init__.py +0 -0
  483. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/tests_unit/test_data_model/test_models/test_entities/test_identifiers.py +0 -0
  484. {cognite_neat-0.123.36/tests/v0/tests_integration → cognite_neat-0.123.38/tests/tests_unit/test_utils}/__init__.py +0 -0
  485. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/tests_unit/test_utils/test_auxiliary.py +0 -0
  486. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/tests_unit_v1/test_data_model/test_models/test_entities/test_parser.py +0 -0
  487. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/tests_unit_v1/test_utils/test_http_client.py +0 -0
  488. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/config.py +0 -0
  489. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/conftest.py +0 -0
  490. {cognite_neat-0.123.36/tests/v0/tests_integration/test_api → cognite_neat-0.123.38/tests/v0/tests_end_to_end}/__init__.py +0 -0
  491. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
  492. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +0 -0
  493. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml_new_endpoint.yml +0 -0
  494. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
  495. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
  496. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_end_to_end/test_rules_flow.py +0 -0
  497. {cognite_neat-0.123.36/tests/v0/tests_integration/test_graph → cognite_neat-0.123.38/tests/v0/tests_integration}/__init__.py +0 -0
  498. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/conftest.py +0 -0
  499. {cognite_neat-0.123.36/tests/v0/tests_integration/test_graph/test_loaders → cognite_neat-0.123.38/tests/v0/tests_integration/test_api}/__init__.py +0 -0
  500. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_api/test_conversion.py +0 -0
  501. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_api/test_validate_rules.py +0 -0
  502. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_client_available.py +0 -0
  503. {cognite_neat-0.123.36/tests/v0/tests_integration/test_neat_client → cognite_neat-0.123.38/tests/v0/tests_integration/test_graph}/__init__.py +0 -0
  504. {cognite_neat-0.123.36/tests/v0/tests_integration/test_rules → cognite_neat-0.123.38/tests/v0/tests_integration/test_graph/test_loaders}/__init__.py +0 -0
  505. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_graph/test_loaders/test_dms_loader.py +0 -0
  506. {cognite_neat-0.123.36/tests/v0/tests_integration/test_rules/test_exporters → cognite_neat-0.123.38/tests/v0/tests_integration/test_neat_client}/__init__.py +0 -0
  507. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
  508. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_neat_client/test_statistics.py +0 -0
  509. {cognite_neat-0.123.36/tests/v0/tests_integration/test_rules/test_importers → cognite_neat-0.123.38/tests/v0/tests_integration/test_rules}/__init__.py +0 -0
  510. {cognite_neat-0.123.36/tests/v0/tests_integration/test_session → cognite_neat-0.123.38/tests/v0/tests_integration/test_rules/test_exporters}/__init__.py +0 -0
  511. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_rules/test_exporters/test_dms_exporters.py +0 -0
  512. {cognite_neat-0.123.36/tests/v0/tests_integration/test_utils → cognite_neat-0.123.38/tests/v0/tests_integration/test_rules/test_importers}/__init__.py +0 -0
  513. {cognite_neat-0.123.36/tests/v0/tests_unit → cognite_neat-0.123.38/tests/v0/tests_integration/test_session}/__init__.py +0 -0
  514. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_create_enterprise.py +0 -0
  515. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
  516. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +0 -0
  517. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
  518. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix.py +0 -0
  519. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
  520. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_data_model_to.py +0 -0
  521. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +0 -0
  522. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +0 -0
  523. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +0 -0
  524. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +0 -0
  525. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +0 -0
  526. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +0 -0
  527. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_graph_flow.py +0 -0
  528. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_read/test_read_cdm.yml +0 -0
  529. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +0 -0
  530. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_session/test_read.py +0 -0
  531. {cognite_neat-0.123.36/tests/v0/tests_unit/test_graph → cognite_neat-0.123.38/tests/v0/tests_integration/test_utils}/__init__.py +0 -0
  532. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_integration/test_utils/test_reader.py +0 -0
  533. {cognite_neat-0.123.36/tests/v0/tests_unit/test_graph/test_extractors → cognite_neat-0.123.38/tests/v0/tests_unit}/__init__.py +0 -0
  534. {cognite_neat-0.123.36/tests/v0/tests_unit/test_graph/test_loaders → cognite_neat-0.123.38/tests/v0/tests_unit/test_graph}/__init__.py +0 -0
  535. {cognite_neat-0.123.36/tests/v0/tests_unit/test_graph/test_transformers → cognite_neat-0.123.38/tests/v0/tests_unit/test_graph/test_extractors}/__init__.py +0 -0
  536. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_asset_extractor.py +0 -0
  537. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
  538. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +0 -0
  539. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
  540. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
  541. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
  542. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
  543. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
  544. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
  545. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
  546. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_graph_read.py +0 -0
  547. {cognite_neat-0.123.36/tests/v0/tests_unit/test_issues → cognite_neat-0.123.38/tests/v0/tests_unit/test_graph/test_loaders}/__init__.py +0 -0
  548. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_loaders/test_dms_loader.py +0 -0
  549. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_loaders/test_rdf2dms.py +0 -0
  550. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_loaders/test_rdf_to_instance_space.py +0 -0
  551. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_provenance.py +0 -0
  552. {cognite_neat-0.123.36/tests/v0/tests_unit/test_neat_client → cognite_neat-0.123.38/tests/v0/tests_unit/test_graph/test_transformers}/__init__.py +0 -0
  553. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +0 -0
  554. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +0 -0
  555. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +0 -0
  556. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +0 -0
  557. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +0 -0
  558. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +0 -0
  559. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +0 -0
  560. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +0 -0
  561. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
  562. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_prune_graph.py +0 -0
  563. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +0 -0
  564. {cognite_neat-0.123.36/tests/v0/tests_unit/test_rules → cognite_neat-0.123.38/tests/v0/tests_unit/test_issues}/__init__.py +0 -0
  565. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_issues/test_formatters.py +0 -0
  566. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_issues/test_issue_behavior.py +0 -0
  567. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_issues/test_issues_metatests.py +0 -0
  568. {cognite_neat-0.123.36/tests/v0/tests_unit/test_rules/test_exporters → cognite_neat-0.123.38/tests/v0/tests_unit/test_neat_client}/__init__.py +0 -0
  569. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_neat_client/test_instances.py +0 -0
  570. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_neat_client/test_loaders.py +0 -0
  571. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_neat_client/test_schema.py +0 -0
  572. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_neat_package_metadata.py +0 -0
  573. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_plugins.py +0 -0
  574. {cognite_neat-0.123.36/tests/v0/tests_unit/test_rules/test_importers → cognite_neat-0.123.38/tests/v0/tests_unit/test_rules}/__init__.py +0 -0
  575. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_analysis.py +0 -0
  576. {cognite_neat-0.123.36/tests/v0/tests_unit/test_rules/test_models → cognite_neat-0.123.38/tests/v0/tests_unit/test_rules/test_exporters}/__init__.py +0 -0
  577. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_exporters/test_exporters_meta.py +0 -0
  578. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2dms.py +0 -0
  579. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2excel.py +0 -0
  580. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2yaml.py +0 -0
  581. {cognite_neat-0.123.36/tests/v0/tests_unit/test_rules/test_transformers → cognite_neat-0.123.38/tests/v0/tests_unit/test_rules/test_importers}/__init__.py +0 -0
  582. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_importers/constants.py +0 -0
  583. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_importers/test_dms_importer.py +0 -0
  584. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_importers/test_excel_importer.py +0 -0
  585. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_importers/test_graph_data_model_importer.py +0 -0
  586. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_importers/test_inference_importer.py +0 -0
  587. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_importers/test_owl_importer.py +0 -0
  588. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_importers/test_subinference_importer.py +0 -0
  589. {cognite_neat-0.123.36/tests/v0/tests_unit/test_session → cognite_neat-0.123.38/tests/v0/tests_unit/test_rules/test_models}/__init__.py +0 -0
  590. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_asset_rules.py +0 -0
  591. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_base_rules.py +0 -0
  592. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_conceptual_model.py +0 -0
  593. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_data_types.py +0 -0
  594. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_dms_schema.py +0 -0
  595. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_entities.py +0 -0
  596. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
  597. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_physical_data_model.py +0 -0
  598. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_restrictions.py +0 -0
  599. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/test_wrapped_entities.py +0 -0
  600. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_models/utils.py +0 -0
  601. {cognite_neat-0.123.36/tests/v0/tests_unit/test_store → cognite_neat-0.123.38/tests/v0/tests_unit/test_rules/test_transformers}/__init__.py +0 -0
  602. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_transformers/test_converters.py +0 -0
  603. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_transformers/test_mapping.py +0 -0
  604. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_transformers/test_transformer_meta.py +0 -0
  605. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_rules/test_transformers/test_union_conceptual.py +0 -0
  606. {cognite_neat-0.123.36/tests/v0/tests_unit/test_utils → cognite_neat-0.123.38/tests/v0/tests_unit/test_session}/__init__.py +0 -0
  607. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_session/test_flows.py +0 -0
  608. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_session/test_meta.py +0 -0
  609. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_session/test_plugin.py +0 -0
  610. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_session/test_read.py +0 -0
  611. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_session/test_to_yaml.py +0 -0
  612. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_store/test_select_queries.py +0 -0
  613. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
  614. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_store/tests_rules_store.py +0 -0
  615. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_utils/test_auxiliary.py +0 -0
  616. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_utils/test_cdf_classes.py +0 -0
  617. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_utils/test_rdf.py +0 -0
  618. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_utils/test_reader.py +0 -0
  619. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_utils/test_tarjan.py +0 -0
  620. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_utils/test_text.py +0 -0
  621. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/tests_unit/test_utils/test_utils.py +0 -0
  622. {cognite_neat-0.123.36 → cognite_neat-0.123.38}/tests/v0/utils.py +0 -0
@@ -0,0 +1,2 @@
1
+ * @cognitedata/accelerate
2
+
@@ -45,7 +45,6 @@ jobs:
45
45
 
46
46
  checks:
47
47
  runs-on: ubuntu-latest
48
- environment: dev
49
48
  strategy:
50
49
  fail-fast: false
51
50
  matrix:
@@ -70,7 +69,7 @@ jobs:
70
69
  - run: uv sync --all-extras
71
70
 
72
71
  - name: Run unit tests
73
- run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest tests/tests_unit
72
+ run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest tests/tests_unit tests/tests_unit_v1
74
73
 
75
74
  build-docs:
76
75
  runs-on: ubuntu-latest
@@ -92,9 +91,9 @@ jobs:
92
91
  mkdocs build
93
92
 
94
93
 
94
+
95
95
  coverage:
96
96
  runs-on: ubuntu-latest
97
- environment: dev
98
97
  steps:
99
98
  - uses: actions/checkout@v3
100
99
 
@@ -117,7 +116,7 @@ jobs:
117
116
  CDF_PROJECT: ${{ vars.CDF_PROJECT }}
118
117
  IDP_CLIENT_ID: ${{ vars.IDP_CLIENT_ID }}
119
118
  IDP_CLIENT_SECRET: ${{ secrets.IDP_CLIENT_SECRET }}
120
- IDP_TENANT_ID: ${{ secrets.IDP_TENANT_ID }}
119
+ IDP_TENANT_ID: ${{ vars.IDP_TENANT_ID }}
121
120
  run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest --cov=cognite/ --cov-config=pyproject.toml --cov-report=xml:coverage.xml tests/
122
121
 
123
122
  - name: Push coverage report to PR
@@ -126,6 +125,11 @@ jobs:
126
125
  coverageFile: coverage.xml
127
126
  token: ${{ secrets.GITHUB_TOKEN }}
128
127
  thresholdAll: 0.8
128
+ - name: Upload coverage reports to Codecov
129
+ uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
130
+ with:
131
+ token: ${{ secrets.CODECOV_TOKEN }}
132
+ slug: cognitedata/neat
129
133
 
130
134
  validate-description:
131
135
  name: Validate PR description
@@ -10,6 +10,40 @@ env:
10
10
  PYTHON_VERSION: "3.11"
11
11
 
12
12
  jobs:
13
+ upload_coverage:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v3
17
+
18
+ - name: Install uv and set the python version
19
+ uses: astral-sh/setup-uv@v5
20
+ with:
21
+ python-version: ${{ env.PYTHON_VERSION }}
22
+
23
+ - name: Set up cache
24
+ uses: actions/cache@v4
25
+ with:
26
+ path: .venv
27
+ key: venv-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('uv.lock') }}
28
+
29
+ - run: uv sync --all-extras
30
+
31
+ - name: Create test coverage report
32
+ env:
33
+ CDF_CLUSTER: ${{ vars.CDF_CLUSTER }}
34
+ CDF_PROJECT: ${{ vars.CDF_PROJECT }}
35
+ IDP_CLIENT_ID: ${{ vars.IDP_CLIENT_ID }}
36
+ IDP_CLIENT_SECRET: ${{ secrets.IDP_CLIENT_SECRET }}
37
+ IDP_TENANT_ID: ${{ vars.IDP_TENANT_ID }}
38
+ run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest --cov=cognite/ --cov-config=pyproject.toml --cov-report=xml:coverage.xml tests/
39
+
40
+ - name: Upload coverage reports to Codecov
41
+ uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
42
+ with:
43
+ token: ${{ secrets.CODECOV_TOKEN }}
44
+ slug: cognitedata/neat
45
+
46
+
13
47
  release-to-pypi:
14
48
  runs-on: ubuntu-latest
15
49
  environment: CD
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite-neat
3
- Version: 0.123.36
3
+ Version: 0.123.38
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,18 @@
1
+ from pydantic import BaseModel, Field
2
+ from pydantic.alias_generators import to_camel
3
+
4
+ from cognite.neat._data_model._identifiers import URI
5
+
6
+
7
+ class BaseModelObject(BaseModel, alias_generator=to_camel, extra="ignore", populate_by_name=True):
8
+ """Base class for all object. This includes resources and nested objects."""
9
+
10
+ ...
11
+
12
+
13
+ class ResourceMetadata(BaseModelObject):
14
+ name: str | None = Field(
15
+ None, description="Human readable / display name of resource being described.", max_length=1024
16
+ )
17
+ description: str | None = Field(None, description="The description of the resource.", max_length=255)
18
+ uri: URI | None = Field(None, description="The URI of the resource being described.")
@@ -0,0 +1,104 @@
1
+ from typing import Any
2
+
3
+ from pydantic import Field, ValidationInfo, field_validator, model_validator
4
+
5
+ from cognite.neat._data_model.models.entities import URI, ConceptEntity, DataType, UnknownEntity
6
+
7
+ from ._base import ResourceMetadata
8
+
9
+
10
+ class Property(ResourceMetadata):
11
+ value_type: DataType | ConceptEntity | UnknownEntity = Field(
12
+ union_mode="left_to_right",
13
+ description="Value type that the property can hold. It takes either subset of XSD type or a class defined.",
14
+ )
15
+ min_count: int | None = Field(
16
+ default=None,
17
+ ge=0,
18
+ description="Minimum number of values that the property can hold. "
19
+ "If no value is provided, the default value is None meaning `0`, "
20
+ "which means that the property is optional.",
21
+ )
22
+ max_count: int | None = Field(
23
+ default=None,
24
+ ge=0,
25
+ description="Maximum number of values that the property can hold. "
26
+ "If no value is provided, the default value is None meaning `inf`, "
27
+ "which means that the property can hold any number of values (listable).",
28
+ )
29
+ default: Any | None = Field(alias="Default", default=None, description="Default value of the property.")
30
+ instance_reference: list[URI] | None = Field(
31
+ default=None,
32
+ description="The URI(s) in the graph to get the value of the property.",
33
+ )
34
+
35
+ @model_validator(mode="after")
36
+ def check_min_max_count(self) -> "Property":
37
+ if self.min_count is not None and self.max_count is not None:
38
+ if self.min_count > self.max_count:
39
+ raise ValueError("min_count must be less than or equal to max_count")
40
+ return self
41
+
42
+ @field_validator("default", mode="after")
43
+ def check_default_value_primitive_type(cls, value: Any, info: ValidationInfo) -> Any:
44
+ if not value:
45
+ return value
46
+
47
+ value_type = info.data.get("value_type")
48
+ if not isinstance(value_type, DataType):
49
+ raise ValueError("Setting default value is only supported for primitive value types.")
50
+ return value
51
+
52
+ @field_validator("default", mode="after")
53
+ def check_default_value_python_type_exists(cls, value: Any, info: ValidationInfo) -> Any:
54
+ if not value:
55
+ return value
56
+
57
+ value_type = info.data.get("value_type")
58
+
59
+ if isinstance(value_type, DataType) and not hasattr(value_type, "python"):
60
+ raise ValueError(
61
+ f"DataType {value_type} does not have a python type defined."
62
+ " Setting default value for property is not possible."
63
+ )
64
+ return value
65
+
66
+ @field_validator("default", mode="after")
67
+ def check_default_value_not_list(cls, value: Any, info: ValidationInfo) -> Any:
68
+ if not value:
69
+ return value
70
+
71
+ if isinstance(value, list):
72
+ raise ValueError("Setting list as default value is not supported.")
73
+ return value
74
+
75
+ @field_validator("default", mode="after")
76
+ def check_default_value_single_valued(cls, value: Any, info: ValidationInfo) -> Any:
77
+ if not value:
78
+ return value
79
+
80
+ max_count = info.data.get("max_count")
81
+
82
+ if max_count is None or max_count > 1:
83
+ raise ValueError(
84
+ "Setting default value is only supported for single-valued properties."
85
+ f" Property has max_count={max_count or 'Inf'}."
86
+ )
87
+ return value
88
+
89
+ @field_validator("default", mode="after")
90
+ def check_default_value_type_match(cls, value: Any, info: ValidationInfo) -> Any:
91
+ if not value:
92
+ return value
93
+
94
+ value_type = info.data.get("value_type")
95
+
96
+ if (
97
+ isinstance(value_type, DataType)
98
+ and hasattr(value_type, "python")
99
+ and not isinstance(value, value_type.python)
100
+ ):
101
+ raise ValueError(
102
+ f"Default value type is {type(value)}, which does not match expected value type {value_type.python}."
103
+ )
104
+ return value
@@ -0,0 +1,69 @@
1
+ from cognite.neat._data_model.models.dms._base import Resource, WriteableResource
2
+ from cognite.neat._data_model.models.dms._constraints import (
3
+ Constraint,
4
+ ConstraintDefinition,
5
+ RequiresConstraintDefinition,
6
+ UniquenessConstraintDefinition,
7
+ )
8
+ from cognite.neat._data_model.models.dms._container import (
9
+ Container,
10
+ ContainerPropertyDefinition,
11
+ ContainerRequest,
12
+ ContainerResponse,
13
+ )
14
+ from cognite.neat._data_model.models.dms._data_types import (
15
+ BooleanProperty,
16
+ DataType,
17
+ DateProperty,
18
+ DirectNodeRelation,
19
+ EnumProperty,
20
+ FileCDFExternalIdReference,
21
+ FloatProperty,
22
+ Int32Property,
23
+ Int64Property,
24
+ JSONProperty,
25
+ ListablePropertyTypeDefinition,
26
+ PropertyTypeDefinition,
27
+ SequenceCDFExternalIdReference,
28
+ TextProperty,
29
+ TimeseriesCDFExternalIdReference,
30
+ TimestampProperty,
31
+ )
32
+ from cognite.neat._data_model.models.dms._indexes import BtreeIndex, Index, IndexDefinition, InvertedIndex
33
+ from cognite.neat._data_model.models.dms._space import Space, SpaceRequest, SpaceResponse
34
+
35
+ __all__ = [
36
+ "BooleanProperty",
37
+ "BtreeIndex",
38
+ "Constraint",
39
+ "ConstraintDefinition",
40
+ "Container",
41
+ "ContainerPropertyDefinition",
42
+ "ContainerRequest",
43
+ "ContainerResponse",
44
+ "DataType",
45
+ "DateProperty",
46
+ "DirectNodeRelation",
47
+ "EnumProperty",
48
+ "FileCDFExternalIdReference",
49
+ "FloatProperty",
50
+ "Index",
51
+ "IndexDefinition",
52
+ "Int32Property",
53
+ "Int64Property",
54
+ "InvertedIndex",
55
+ "JSONProperty",
56
+ "ListablePropertyTypeDefinition",
57
+ "PropertyTypeDefinition",
58
+ "RequiresConstraintDefinition",
59
+ "Resource",
60
+ "SequenceCDFExternalIdReference",
61
+ "Space",
62
+ "SpaceRequest",
63
+ "SpaceResponse",
64
+ "TextProperty",
65
+ "TimeseriesCDFExternalIdReference",
66
+ "TimestampProperty",
67
+ "UniquenessConstraintDefinition",
68
+ "WriteableResource",
69
+ ]
@@ -0,0 +1,46 @@
1
+ SPACE_FORMAT_PATTERN = r"^[a-zA-Z][a-zA-Z0-9_-]{0,41}[a-zA-Z0-9]?$"
2
+ DM_EXTERNAL_ID_PATTERN = r"^[a-zA-Z]([a-zA-Z0-9_]{0,253}[a-zA-Z0-9])?$"
3
+ CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN = r"^[a-zA-Z0-9][a-zA-Z0-9_-]{0,253}[a-zA-Z0-9]?$"
4
+ INSTANCE_ID_PATTERN = r"^[^\\x00]{1,256}$"
5
+ ENUM_VALUE_IDENTIFIER_PATTERN = r"^[_A-Za-z][_0-9A-Za-z]{0,127}$"
6
+ FORBIDDEN_ENUM_VALUES = frozenset({"true", "false", "null"})
7
+ FORBIDDEN_SPACES = frozenset(["space", "cdf", "dms", "pg3", "shared", "system", "node", "edge"])
8
+ FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS = frozenset(
9
+ [
10
+ "Query",
11
+ "Mutation",
12
+ "Subscription",
13
+ "String",
14
+ "Int32",
15
+ "Int64",
16
+ "Int",
17
+ "Float32",
18
+ "Float64",
19
+ "Float",
20
+ "Timestamp",
21
+ "JSONObject",
22
+ "Date",
23
+ "Numeric",
24
+ "Boolean",
25
+ "PageInfo",
26
+ "File",
27
+ "Sequence",
28
+ "TimeSeries",
29
+ ]
30
+ )
31
+ FORBIDDEN_CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER = frozenset(
32
+ [
33
+ "space",
34
+ "externalId",
35
+ "createdTime",
36
+ "lastUpdatedTime",
37
+ "deletedTime",
38
+ "edge_id",
39
+ "node_id",
40
+ "project_id",
41
+ "property_group",
42
+ "seq",
43
+ "tg_table_name",
44
+ "extensions",
45
+ ]
46
+ )
@@ -0,0 +1,30 @@
1
+ from abc import ABC
2
+ from typing import Annotated, Literal
3
+
4
+ from pydantic import Field
5
+
6
+ from ._base import BaseModelObject
7
+ from ._references import ContainerReference
8
+
9
+
10
+ class ConstraintDefinition(BaseModelObject, ABC):
11
+ constraint_type: str
12
+
13
+
14
+ class UniquenessConstraintDefinition(ConstraintDefinition):
15
+ constraint_type: Literal["uniqueness"] = "uniqueness"
16
+ properties: list[str] = Field(
17
+ description="List of properties included in the constraint.", min_length=1, max_length=10
18
+ )
19
+ by_space: bool | None = Field(default=None, description="Whether to make the constraint space-specific.")
20
+
21
+
22
+ class RequiresConstraintDefinition(ConstraintDefinition):
23
+ constraint_type: Literal["requires"] = "requires"
24
+ require: ContainerReference = Field(description="Reference to an existing container.")
25
+
26
+
27
+ Constraint = Annotated[
28
+ UniquenessConstraintDefinition | RequiresConstraintDefinition,
29
+ Field(discriminator="constraint_type"),
30
+ ]
@@ -0,0 +1,152 @@
1
+ import re
2
+ from abc import ABC
3
+ from typing import Any, Literal
4
+
5
+ from pydantic import Field, field_validator
6
+ from pydantic_core.core_schema import ValidationInfo
7
+
8
+ from cognite.neat._utils.text import humanize_collection
9
+
10
+ from ._base import BaseModelObject, Resource, WriteableResource
11
+ from ._constants import (
12
+ CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN,
13
+ DM_EXTERNAL_ID_PATTERN,
14
+ FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS,
15
+ FORBIDDEN_CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER,
16
+ SPACE_FORMAT_PATTERN,
17
+ )
18
+ from ._constraints import Constraint
19
+ from ._data_types import DataType
20
+ from ._indexes import Index
21
+
22
+ KEY_PATTERN = re.compile(CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN)
23
+
24
+
25
+ class ContainerPropertyDefinition(BaseModelObject):
26
+ immutable: bool | None = Field(
27
+ default=None,
28
+ description="Should updates to this property be rejected after the initial population?",
29
+ )
30
+ nullable: bool | None = Field(
31
+ default=None,
32
+ description="Does this property need to be set to a value, or not?",
33
+ )
34
+ auto_increment: bool | None = Field(
35
+ default=None,
36
+ description="Increment the property based on its highest current value (max value).",
37
+ )
38
+ default_value: str | int | bool | dict[str, Any] | None = Field(
39
+ default=None,
40
+ description="Default value to use when you do not specify a value for the property.",
41
+ )
42
+ description: str | None = Field(
43
+ default=None,
44
+ description="Description of the content and suggested use for this property.",
45
+ max_length=1024,
46
+ )
47
+ name: str | None = Field(
48
+ default=None,
49
+ description="Readable property name.",
50
+ max_length=255,
51
+ )
52
+ type: DataType = Field(description="The type of data you can store in this property.")
53
+
54
+
55
+ class Container(Resource, ABC):
56
+ space: str = Field(
57
+ description="The workspace for the container, a unique identifier for the space.",
58
+ min_length=1,
59
+ max_length=43,
60
+ pattern=SPACE_FORMAT_PATTERN,
61
+ )
62
+ external_id: str = Field(
63
+ description="External-id of the container.",
64
+ min_length=1,
65
+ max_length=255,
66
+ pattern=DM_EXTERNAL_ID_PATTERN,
67
+ )
68
+ name: str | None = Field(
69
+ default=None,
70
+ description="name for the container.",
71
+ max_length=255,
72
+ )
73
+ description: str | None = Field(
74
+ default=None,
75
+ description="Description of the container.",
76
+ max_length=1024,
77
+ )
78
+ used_for: Literal["node", "edge", "all"] | None = Field(
79
+ default=None,
80
+ description="Should this operation apply to nodes, edges or both.",
81
+ )
82
+ properties: dict[str, ContainerPropertyDefinition] = Field(
83
+ description="Set of properties to apply to the container.",
84
+ min_length=1,
85
+ )
86
+ constraints: dict[str, Constraint] | None = Field(
87
+ default=None,
88
+ description="Set of constraints to apply to the container.",
89
+ max_length=10,
90
+ )
91
+ indexes: dict[str, Index] | None = Field(
92
+ default=None,
93
+ description="Set of indexes to apply to the container.",
94
+ max_length=10,
95
+ )
96
+
97
+ @field_validator("indexes", "constraints", mode="after")
98
+ def validate_key_length(cls, val: dict[str, Any] | None, info: ValidationInfo) -> dict[str, Any] | None:
99
+ """Validate keys"""
100
+ if not isinstance(val, dict):
101
+ return val
102
+ invalid_keys = {key for key in val.keys() if not (1 <= len(key) <= 43)}
103
+ if invalid_keys:
104
+ raise ValueError(
105
+ f"{info.field_name} keys must be between 1 and 43 characters long. Invalid keys: "
106
+ f"{humanize_collection(invalid_keys)}"
107
+ )
108
+ return val
109
+
110
+ @field_validator("properties", mode="after")
111
+ def validate_property_keys(cls, val: dict[str, Any]) -> dict[str, Any]:
112
+ """Validate property keys"""
113
+ if invalid_keys := {key for key in val if not KEY_PATTERN.match(key)}:
114
+ raise ValueError(
115
+ f"Property keys must match pattern '{CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN}'. "
116
+ f"Invalid keys: {humanize_collection(invalid_keys)}"
117
+ )
118
+
119
+ if forbidden_keys := set(val.keys()).intersection(FORBIDDEN_CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER):
120
+ raise ValueError(
121
+ f"Property keys cannot be any of the following reserved values: {humanize_collection(forbidden_keys)}"
122
+ )
123
+ return val
124
+
125
+ @field_validator("external_id")
126
+ def check_forbidden_external_id_value(cls, val: str) -> str:
127
+ """Check the external_id not present in forbidden set"""
128
+ if val in FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS:
129
+ raise ValueError(
130
+ f"{val!r} is a reserved container External ID. Reserved External IDs are: "
131
+ f"{humanize_collection(FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS)}"
132
+ )
133
+ return val
134
+
135
+
136
+ class ContainerRequest(Container): ...
137
+
138
+
139
+ class ContainerResponse(Container, WriteableResource[ContainerRequest]):
140
+ created_time: int = Field(
141
+ description="When the container was created. The number of milliseconds since 00:00:00 "
142
+ "Thursday, 1 January 1970, "
143
+ "Coordinated Universal Time (UTC), minus leap seconds."
144
+ )
145
+ last_updated_time: int = Field(
146
+ description="When the container was last updated. The number of milliseconds since 00:00:00 Thursday, "
147
+ "1 January 1970, Coordinated Universal Time (UTC), minus leap seconds."
148
+ )
149
+ is_global: bool = Field(description="Whether the container is a global container.")
150
+
151
+ def as_request(self) -> "ContainerRequest":
152
+ return ContainerRequest.model_validate(self.model_dump(by_alias=True))
@@ -0,0 +1,167 @@
1
+ from abc import ABC
2
+ from typing import Annotated, Literal
3
+
4
+ from pydantic import Field, field_validator
5
+
6
+ from cognite.neat._utils.text import humanize_collection
7
+
8
+ from ._base import BaseModelObject
9
+ from ._constants import ENUM_VALUE_IDENTIFIER_PATTERN, FORBIDDEN_ENUM_VALUES, INSTANCE_ID_PATTERN
10
+ from ._references import ContainerReference
11
+
12
+
13
+ class PropertyTypeDefinition(BaseModelObject, ABC):
14
+ type: str
15
+
16
+
17
+ class ListablePropertyTypeDefinition(PropertyTypeDefinition, ABC):
18
+ list: bool | None = Field(
19
+ default=None,
20
+ description="Specifies that the data type is a list of values.",
21
+ )
22
+ max_list_size: int | None = Field(
23
+ default=None,
24
+ description="Specifies the maximum number of values in the list",
25
+ )
26
+
27
+
28
+ class TextProperty(ListablePropertyTypeDefinition):
29
+ type: Literal["text"] = "text"
30
+ max_text_size: int | None = Field(
31
+ default=None,
32
+ description="Specifies the maximum size in bytes of the text property, when encoded with utf-8.",
33
+ )
34
+ collation: str | None = Field(
35
+ default=None,
36
+ description="he set of language specific rules - used when sorting text fields.",
37
+ )
38
+
39
+
40
+ class Unit(BaseModelObject):
41
+ external_id: str = Field(
42
+ description="The external ID of the unit. Must match the unit in the Cognite Unit catalog.",
43
+ min_length=1,
44
+ max_length=256,
45
+ pattern=INSTANCE_ID_PATTERN,
46
+ )
47
+ source_unit: str | None = Field(
48
+ default=None,
49
+ description="The unit in the source system.",
50
+ )
51
+
52
+
53
+ class FloatProperty(ListablePropertyTypeDefinition, ABC):
54
+ unit: Unit | None = Field(default=None, description="The unit of the data stored in this property")
55
+
56
+
57
+ class Float32Property(FloatProperty):
58
+ type: Literal["float32"] = "float32"
59
+
60
+
61
+ class Float64Property(FloatProperty):
62
+ type: Literal["float64"] = "float64"
63
+
64
+
65
+ class BooleanProperty(ListablePropertyTypeDefinition):
66
+ type: Literal["boolean"] = "boolean"
67
+
68
+
69
+ class Int32Property(ListablePropertyTypeDefinition):
70
+ type: Literal["int32"] = "int32"
71
+
72
+
73
+ class Int64Property(ListablePropertyTypeDefinition):
74
+ type: Literal["int64"] = "int64"
75
+
76
+
77
+ class TimestampProperty(ListablePropertyTypeDefinition):
78
+ type: Literal["timestamp"] = "timestamp"
79
+
80
+
81
+ class DateProperty(ListablePropertyTypeDefinition):
82
+ type: Literal["date"] = "date"
83
+
84
+
85
+ class JSONProperty(ListablePropertyTypeDefinition):
86
+ type: Literal["json"] = "json"
87
+
88
+
89
+ class TimeseriesCDFExternalIdReference(ListablePropertyTypeDefinition):
90
+ type: Literal["timeseries"] = "timeseries"
91
+
92
+
93
+ class FileCDFExternalIdReference(ListablePropertyTypeDefinition):
94
+ type: Literal["file"] = "file"
95
+
96
+
97
+ class SequenceCDFExternalIdReference(ListablePropertyTypeDefinition):
98
+ type: Literal["sequence"] = "sequence"
99
+
100
+
101
+ class DirectNodeRelation(ListablePropertyTypeDefinition):
102
+ type: Literal["direct"] = "direct"
103
+ container: ContainerReference | None = Field(
104
+ default=None,
105
+ description="The (optional) required type for the node the direct relation points to. If specified, "
106
+ "the node must exist before the direct relation is referenced and of the specified type. "
107
+ "If no container specification is used, the node will be auto created with the built-in node "
108
+ "container type, and it does not explicitly have to be created before the node that references it.",
109
+ )
110
+
111
+
112
+ class EnumValue(BaseModelObject):
113
+ name: str | None = Field(
114
+ max_length=255,
115
+ description="The name of the enum value.",
116
+ )
117
+ description: str | None = Field(
118
+ default=None,
119
+ max_length=1024,
120
+ description="Description of the enum value.",
121
+ )
122
+
123
+
124
+ class EnumProperty(PropertyTypeDefinition):
125
+ type: Literal["enum"] = "enum"
126
+ unknown_value: str | None = Field(
127
+ default=None,
128
+ description="TThe value to use when the enum value is unknown. This can optionally be used to "
129
+ "provide forward-compatibility, Specifying what value to use if the client does not "
130
+ "recognize the returned value. It is not possible to ingest the unknown value, "
131
+ "but it must be part of the allowed values.",
132
+ )
133
+ values: dict[str, EnumValue] = Field(
134
+ description="A set of all possible values for the enum property.",
135
+ min_length=1,
136
+ max_length=32,
137
+ pattern=ENUM_VALUE_IDENTIFIER_PATTERN,
138
+ )
139
+
140
+ @field_validator("values", mode="after")
141
+ def _valid_enum_value(cls, val: dict[str, EnumValue]) -> dict[str, EnumValue]:
142
+ invalid_enum_values = set(val.keys()).intersection(FORBIDDEN_ENUM_VALUES)
143
+ if invalid_enum_values:
144
+ raise ValueError(
145
+ "Enum values cannot be any of the following reserved values: "
146
+ f"{humanize_collection(invalid_enum_values)}"
147
+ )
148
+ return val
149
+
150
+
151
+ DataType = Annotated[
152
+ TextProperty
153
+ | Float32Property
154
+ | Float64Property
155
+ | BooleanProperty
156
+ | Int32Property
157
+ | Int64Property
158
+ | TimestampProperty
159
+ | DateProperty
160
+ | JSONProperty
161
+ | TimeseriesCDFExternalIdReference
162
+ | FileCDFExternalIdReference
163
+ | SequenceCDFExternalIdReference
164
+ | DirectNodeRelation
165
+ | EnumProperty,
166
+ Field(discriminator="type"),
167
+ ]