cognite-neat 1.0.21__tar.gz → 1.0.22__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/PKG-INFO +1 -1
  2. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/_analysis.py +47 -14
  3. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_views.py +38 -0
  4. cognite_neat-1.0.22/cognite/neat/_version.py +2 -0
  5. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/pyproject.toml +4 -2
  6. cognite_neat-1.0.21/cognite/neat/_version.py +0 -2
  7. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/README.md +0 -0
  8. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/__init__.py +0 -0
  9. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/__init__.py +0 -0
  10. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/api.py +0 -0
  11. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/client.py +0 -0
  12. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/config.py +0 -0
  13. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/containers_api.py +0 -0
  14. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/data_classes.py +0 -0
  15. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/data_model_api.py +0 -0
  16. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/init/__init__.py +0 -0
  17. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/init/credentials.py +0 -0
  18. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/init/env_vars.py +0 -0
  19. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/init/main.py +0 -0
  20. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/spaces_api.py +0 -0
  21. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/statistics_api.py +0 -0
  22. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_client/views_api.py +0 -0
  23. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_config.py +0 -0
  24. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/__init__.py +0 -0
  25. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/_constants.py +0 -0
  26. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/_identifiers.py +0 -0
  27. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/_shared.py +0 -0
  28. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/_snapshot.py +0 -0
  29. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/__init__.py +0 -0
  30. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/_differ.py +0 -0
  31. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/_differ_container.py +0 -0
  32. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/_differ_data_model.py +0 -0
  33. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/_differ_space.py +0 -0
  34. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/_differ_view.py +0 -0
  35. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/data_classes.py +0 -0
  36. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/deployer/deployer.py +0 -0
  37. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/exporters/__init__.py +0 -0
  38. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/exporters/_api_exporter.py +0 -0
  39. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/exporters/_base.py +0 -0
  40. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/exporters/_table_exporter/__init__.py +0 -0
  41. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/exporters/_table_exporter/exporter.py +0 -0
  42. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/exporters/_table_exporter/workbook.py +0 -0
  43. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/exporters/_table_exporter/writer.py +0 -0
  44. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/__init__.py +0 -0
  45. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/_api_importer.py +0 -0
  46. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/_base.py +0 -0
  47. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/_table_importer/__init__.py +0 -0
  48. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/_table_importer/data_classes.py +0 -0
  49. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/_table_importer/importer.py +0 -0
  50. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/_table_importer/reader.py +0 -0
  51. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/importers/_table_importer/source.py +0 -0
  52. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/__init__.py +0 -0
  53. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/conceptual/__init__.py +0 -0
  54. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/conceptual/_base.py +0 -0
  55. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/conceptual/_concept.py +0 -0
  56. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/conceptual/_data_model.py +0 -0
  57. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/conceptual/_properties.py +0 -0
  58. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/conceptual/_property.py +0 -0
  59. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/__init__.py +0 -0
  60. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_base.py +0 -0
  61. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_constants.py +0 -0
  62. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_constraints.py +0 -0
  63. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_container.py +0 -0
  64. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_data_model.py +0 -0
  65. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_data_types.py +0 -0
  66. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_http.py +0 -0
  67. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_indexes.py +0 -0
  68. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_limits.py +0 -0
  69. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_references.py +0 -0
  70. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_schema.py +0 -0
  71. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_space.py +0 -0
  72. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_types.py +0 -0
  73. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_view_filter.py +0 -0
  74. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_view_property.py +0 -0
  75. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/dms/_views.py +0 -0
  76. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/entities/__init__.py +0 -0
  77. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/entities/_base.py +0 -0
  78. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/entities/_constants.py +0 -0
  79. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/entities/_data_types.py +0 -0
  80. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/entities/_identifiers.py +0 -0
  81. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/models/entities/_parser.py +0 -0
  82. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/__init__.py +0 -0
  83. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/__init__.py +0 -0
  84. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_ai_readiness.py +0 -0
  85. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_base.py +0 -0
  86. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_connections.py +0 -0
  87. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_consistency.py +0 -0
  88. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_containers.py +0 -0
  89. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_limits.py +0 -0
  90. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_data_model/validation/dms/_orchestrator.py +0 -0
  91. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_exceptions.py +0 -0
  92. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_issues.py +0 -0
  93. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/__init__.py +0 -0
  94. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/__init__.py +0 -0
  95. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/_render.py +0 -0
  96. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/static/__init__.py +0 -0
  97. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/static/deployment.css +0 -0
  98. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/static/deployment.js +0 -0
  99. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/static/issues.css +0 -0
  100. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/static/issues.js +0 -0
  101. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/static/shared.css +0 -0
  102. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/templates/__init__.py +0 -0
  103. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/templates/deployment.html +0 -0
  104. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_html/templates/issues.html +0 -0
  105. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_issues.py +0 -0
  106. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_physical.py +0 -0
  107. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_result/__init__.py +0 -0
  108. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_result/_deployment/__init__.py +0 -0
  109. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_result/_deployment/_physical/__init__.py +0 -0
  110. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_result/_deployment/_physical/_changes.py +0 -0
  111. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_result/_deployment/_physical/_statistics.py +0 -0
  112. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_result/_deployment/_physical/serializer.py +0 -0
  113. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_result/_result.py +0 -0
  114. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_session.py +0 -0
  115. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_usage_analytics/__init__.py +0 -0
  116. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_usage_analytics/_collector.py +0 -0
  117. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_usage_analytics/_constants.py +0 -0
  118. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_usage_analytics/_storage.py +0 -0
  119. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_session/_wrappers.py +0 -0
  120. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_state_machine/__init__.py +0 -0
  121. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_state_machine/_base.py +0 -0
  122. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_state_machine/_states.py +0 -0
  123. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_store/__init__.py +0 -0
  124. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_store/_provenance.py +0 -0
  125. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_store/_store.py +0 -0
  126. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/__init__.py +0 -0
  127. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/_reader.py +0 -0
  128. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/auxiliary.py +0 -0
  129. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/collection.py +0 -0
  130. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/http_client/__init__.py +0 -0
  131. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/http_client/_client.py +0 -0
  132. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/http_client/_config.py +0 -0
  133. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/http_client/_data_classes.py +0 -0
  134. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/http_client/_tracker.py +0 -0
  135. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/repo.py +0 -0
  136. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/text.py +0 -0
  137. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/useful_types.py +0 -0
  138. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_utils/validation.py +0 -0
  139. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/__init__.py +0 -0
  140. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/__init__.py +0 -0
  141. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/__init__.py +0 -0
  142. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/_api/__init__.py +0 -0
  143. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/_api/data_modeling_loaders.py +0 -0
  144. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/_api/neat_instances.py +0 -0
  145. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/_api/schema.py +0 -0
  146. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/_api/statistics.py +0 -0
  147. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/_api_client.py +0 -0
  148. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/data_classes/__init__.py +0 -0
  149. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/data_classes/data_modeling.py +0 -0
  150. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/data_classes/neat_sequence.py +0 -0
  151. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/data_classes/schema.py +0 -0
  152. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/data_classes/statistics.py +0 -0
  153. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_client/testing.py +0 -0
  154. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_config.py +0 -0
  155. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_constants.py +0 -0
  156. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/__init__.py +0 -0
  157. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/_constants.py +0 -0
  158. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/_shared.py +0 -0
  159. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/analysis/__init__.py +0 -0
  160. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/analysis/_base.py +0 -0
  161. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/catalog/__init__.py +0 -0
  162. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/catalog/classic_model.xlsx +0 -0
  163. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  164. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
  165. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/exporters/__init__.py +0 -0
  166. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/exporters/_base.py +0 -0
  167. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/exporters/_data_model2dms.py +0 -0
  168. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/exporters/_data_model2excel.py +0 -0
  169. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/exporters/_data_model2instance_template.py +0 -0
  170. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/exporters/_data_model2semantic_model.py +0 -0
  171. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/exporters/_data_model2yaml.py +0 -0
  172. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/__init__.py +0 -0
  173. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_base.py +0 -0
  174. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_base_file_reader.py +0 -0
  175. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_dict2data_model.py +0 -0
  176. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_dms2data_model.py +0 -0
  177. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_graph2data_model.py +0 -0
  178. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_rdf/__init__.py +0 -0
  179. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_rdf/_base.py +0 -0
  180. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
  181. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
  182. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_rdf/_shared.py +0 -0
  183. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
  184. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/__init__.py +0 -0
  185. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/_base_unverified.py +0 -0
  186. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/_base_verified.py +0 -0
  187. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/_import_contexts.py +0 -0
  188. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/_types.py +0 -0
  189. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/conceptual/__init__.py +0 -0
  190. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/conceptual/_unverified.py +0 -0
  191. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/conceptual/_validation.py +0 -0
  192. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/conceptual/_verified.py +0 -0
  193. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/data_types.py +0 -0
  194. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/__init__.py +0 -0
  195. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/_constants.py +0 -0
  196. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/_loaders.py +0 -0
  197. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/_multi_value.py +0 -0
  198. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/_restrictions.py +0 -0
  199. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/_single_value.py +0 -0
  200. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/_types.py +0 -0
  201. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/entities/_wrapped.py +0 -0
  202. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/mapping/__init__.py +0 -0
  203. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/mapping/_classic2core.py +0 -0
  204. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/mapping/_classic2core.yaml +0 -0
  205. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/physical/__init__.py +0 -0
  206. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/physical/_exporter.py +0 -0
  207. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/physical/_unverified.py +0 -0
  208. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/physical/_validation.py +0 -0
  209. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/models/physical/_verified.py +0 -0
  210. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/transformers/__init__.py +0 -0
  211. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/transformers/_base.py +0 -0
  212. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/transformers/_converters.py +0 -0
  213. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/transformers/_mapping.py +0 -0
  214. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/transformers/_union_conceptual.py +0 -0
  215. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_data_model/transformers/_verification.py +0 -0
  216. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/__init__.py +0 -0
  217. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/_shared.py +0 -0
  218. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/_tracking/__init__.py +0 -0
  219. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/_tracking/base.py +0 -0
  220. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/_tracking/log.py +0 -0
  221. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  222. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  223. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/examples/__init__.py +0 -0
  224. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  225. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/__init__.py +0 -0
  226. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_base.py +0 -0
  227. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
  228. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
  229. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_base.py +0 -0
  230. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
  231. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  232. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_events.py +0 -0
  233. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_files.py +0 -0
  234. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
  235. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
  236. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
  237. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  238. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_dict.py +0 -0
  239. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_dms.py +0 -0
  240. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_dms_graph.py +0 -0
  241. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_mock_graph_generator.py +0 -0
  242. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_raw.py +0 -0
  243. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/extractors/_rdf_file.py +0 -0
  244. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/loaders/__init__.py +0 -0
  245. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/loaders/_base.py +0 -0
  246. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/loaders/_rdf2dms.py +0 -0
  247. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/loaders/_rdf_to_instance_space.py +0 -0
  248. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/queries/__init__.py +0 -0
  249. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/queries/_base.py +0 -0
  250. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/queries/_queries.py +0 -0
  251. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/queries/_select.py +0 -0
  252. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/queries/_update.py +0 -0
  253. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/transformers/__init__.py +0 -0
  254. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/transformers/_base.py +0 -0
  255. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/transformers/_classic_cdf.py +0 -0
  256. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/transformers/_prune_graph.py +0 -0
  257. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/transformers/_rdfpath.py +0 -0
  258. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_instances/transformers/_value_type.py +0 -0
  259. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/__init__.py +0 -0
  260. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/_base.py +0 -0
  261. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/_contextmanagers.py +0 -0
  262. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/_factory.py +0 -0
  263. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/errors/__init__.py +0 -0
  264. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/errors/_external.py +0 -0
  265. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/errors/_general.py +0 -0
  266. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/errors/_properties.py +0 -0
  267. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/errors/_resources.py +0 -0
  268. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/errors/_wrapper.py +0 -0
  269. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/formatters.py +0 -0
  270. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/warnings/__init__.py +0 -0
  271. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/warnings/_external.py +0 -0
  272. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/warnings/_general.py +0 -0
  273. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/warnings/_models.py +0 -0
  274. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/warnings/_properties.py +0 -0
  275. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/warnings/_resources.py +0 -0
  276. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_issues/warnings/user_modeling.py +0 -0
  277. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_shared.py +0 -0
  278. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_store/__init__.py +0 -0
  279. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_store/_data_model.py +0 -0
  280. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_store/_instance.py +0 -0
  281. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_store/_provenance.py +0 -0
  282. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_store/exceptions.py +0 -0
  283. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/__init__.py +0 -0
  284. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/auth.py +0 -0
  285. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/auxiliary.py +0 -0
  286. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/collection_.py +0 -0
  287. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/graph_transformations_report.py +0 -0
  288. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/io_.py +0 -0
  289. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/rdf_.py +0 -0
  290. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/reader/__init__.py +0 -0
  291. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/reader/_base.py +0 -0
  292. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/spreadsheet.py +0 -0
  293. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/tarjan.py +0 -0
  294. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/text.py +0 -0
  295. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/time_.py +0 -0
  296. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/upload.py +0 -0
  297. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/core/_utils/xml_.py +0 -0
  298. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/engine/__init__.py +0 -0
  299. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/engine/_import.py +0 -0
  300. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/engine/_interface.py +0 -0
  301. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/engine/_load.py +0 -0
  302. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/plugins/__init__.py +0 -0
  303. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/plugins/_base.py +0 -0
  304. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/plugins/_data_model.py +0 -0
  305. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/plugins/_issues.py +0 -0
  306. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/plugins/_manager.py +0 -0
  307. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/__init__.py +0 -0
  308. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_base.py +0 -0
  309. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_collector.py +0 -0
  310. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_diff.py +0 -0
  311. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_drop.py +0 -0
  312. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_experimental.py +0 -0
  313. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_explore.py +0 -0
  314. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_fix.py +0 -0
  315. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_inspect.py +0 -0
  316. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_mapping.py +0 -0
  317. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_plugin.py +0 -0
  318. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_prepare.py +0 -0
  319. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_read.py +0 -0
  320. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_set.py +0 -0
  321. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_show.py +0 -0
  322. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_state/README.md +0 -0
  323. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_state.py +0 -0
  324. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_subset.py +0 -0
  325. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_template.py +0 -0
  326. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_to.py +0 -0
  327. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/_wizard.py +0 -0
  328. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/_v0/session/exceptions.py +0 -0
  329. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/legacy.py +0 -0
  330. {cognite_neat-1.0.21 → cognite_neat-1.0.22}/cognite/neat/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite-neat
3
- Version: 1.0.21
3
+ Version: 1.0.22
4
4
  Summary: Knowledge graph transformation
5
5
  Author: Nikola Vasiljevic, Anders Albert
6
6
  Author-email: Nikola Vasiljevic <nikola.vasiljevic@cognite.com>, Anders Albert <anders.albert@cognite.com>
@@ -23,7 +23,7 @@ from cognite.neat._data_model.models.dms._view_property import (
23
23
  ViewRequestProperty,
24
24
  )
25
25
  from cognite.neat._data_model.models.dms._views import ViewRequest
26
- from cognite.neat._utils.useful_types import ModusOperandi
26
+ from cognite.neat._utils.useful_types import ModusOperandi, T_Reference
27
27
 
28
28
  # Type aliases for better readability
29
29
  ViewsByReference: TypeAlias = dict[ViewReference, ViewRequest]
@@ -458,9 +458,42 @@ class ValidationResources:
458
458
  view_sets = [self.views_by_container.get(c, set()) for c in containers]
459
459
  return set.intersection(*view_sets)
460
460
 
461
- # =========================================================================
462
- # Methods used for requires constraint validation
463
- # =========================================================================
461
+ @cached_property
462
+ def implements_graph(self) -> nx.DiGraph:
463
+ """Build a weighted directed graph of view implements.
464
+
465
+ Nodes are ViewReferences, edges represent implements.
466
+ An edge A → B means view A implements view B. Order of views in implements is used to set weight of an edge.
467
+
468
+ Includes views from both merged schema and CDF
469
+ """
470
+ graph: nx.DiGraph = nx.DiGraph()
471
+
472
+ for view_ref in self.cdf.views:
473
+ graph.add_node(view_ref)
474
+ for view_ref in self.merged.views:
475
+ graph.add_node(view_ref)
476
+
477
+ # Add edges for implements
478
+ for view_ref in graph.nodes():
479
+ view = self.select_view(view_ref)
480
+ if not view or not view.implements:
481
+ continue
482
+
483
+ # Adding weight to preserve order of implements
484
+ for i, implement in enumerate(view.implements):
485
+ graph.add_edge(view_ref, implement, weight=i + 1)
486
+
487
+ return graph
488
+
489
+ @cached_property
490
+ def implements_cycles(self) -> list[list[ViewReference]]:
491
+ """Find all cycles in the implements graph.
492
+ Returns:
493
+ List of lists, where each list contains the ordered Views involved in forming the implements cycle.
494
+ """
495
+
496
+ return self.graph_cycles(self.implements_graph)
464
497
 
465
498
  @cached_property
466
499
  def requires_constraint_graph(self) -> nx.DiGraph:
@@ -524,15 +557,15 @@ class ValidationResources:
524
557
  return False
525
558
 
526
559
  @cached_property
527
- def requires_constraint_cycles(self) -> list[set[ContainerReference]]:
528
- """Find all cycles in the requires constraint graph using Tarjan's algorithm.
529
-
530
- Uses strongly connected components (SCC) to identify cycles efficiently.
531
- An SCC with more than one node indicates a cycle.
532
-
560
+ def requires_constraint_cycles(self) -> list[list[ContainerReference]]:
561
+ """Find all cycles in the requires constraint graph.
533
562
  Returns:
534
- List of sets, where each set contains the containers involved in a cycle.
563
+ List of lists, where each list contains the ordered containers involved in forming the requires cycle.
535
564
  """
536
- sccs = nx.strongly_connected_components(self.requires_constraint_graph)
537
- # Only SCCs with more than one node represent cycles
538
- return [scc for scc in sccs if len(scc) > 1]
565
+
566
+ return self.graph_cycles(self.requires_constraint_graph)
567
+
568
+ @staticmethod
569
+ def graph_cycles(graph: nx.DiGraph) -> list[list[T_Reference]]:
570
+ """Returns cycles in the graph otherwise empty list"""
571
+ return [candidate for candidate in nx.simple_cycles(graph) if len(candidate) > 1]
@@ -124,3 +124,41 @@ class ImplementedViewNotExisting(DataModelValidator):
124
124
  )
125
125
 
126
126
  return errors
127
+
128
+
129
+ class CyclicImplements(DataModelValidator):
130
+ """Validates that view implements are not forming a cycle (i.e. cyclic graph of implements)
131
+
132
+ ## What it does
133
+ Runs graph analysis of the implements graph finding every cycle within the graph
134
+
135
+ ## Why is this bad?
136
+ You will not be able to deploy the data model to CDF, since cyclic implements are impossible to resolve
137
+ in terms of inheritance of properties.
138
+
139
+ ## Example
140
+ Say we have following views: A, B, and C, where A implements B, B implements C, and C implements A. This forms
141
+ the cyclic graph of implements A->B->C->A.
142
+
143
+ """
144
+
145
+ code = f"{BASE_CODE}-003"
146
+ issue_type = ConsistencyError
147
+ alpha = True
148
+
149
+ def run(self) -> list[ConsistencyError]:
150
+ errors: list[ConsistencyError] = []
151
+
152
+ for cycle in self.validation_resources.implements_cycles:
153
+ errors.append(
154
+ ConsistencyError(
155
+ message=(
156
+ "Detected cycle of view implements "
157
+ f"{'->'.join([str(view) for view in cycle]) + f'->{cycle[0]}'}"
158
+ ),
159
+ fix="Inspect involved views and make necessary fix",
160
+ code=self.code,
161
+ )
162
+ )
163
+
164
+ return errors
@@ -0,0 +1,2 @@
1
+ __version__ = "1.0.22"
2
+ __engine__ = "^2.0.4"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cognite-neat"
3
- version = "1.0.21"
3
+ version = "1.0.22"
4
4
  readme = "README.md"
5
5
  description = "Knowledge graph transformation"
6
6
  authors = [
@@ -112,6 +112,8 @@ dev = [
112
112
  "hypothesis>=6.135.0, <7.0.0",
113
113
  "polyfactory>=2.22.2",
114
114
  "pytest-json-report>=1.5.0",
115
+ "matplotlib>=3.10.8",
116
+ "ipycytoscape>=1.3.3",
115
117
  ]
116
118
 
117
119
  [tool.pytest.ini_options]
@@ -195,4 +197,4 @@ build-backend = "uv_build"
195
197
  [tool.uv.build-backend]
196
198
  module-name = "cognite.neat"
197
199
  module-root = ""
198
- namespace = true
200
+ namespace = true
@@ -1,2 +0,0 @@
1
- __version__ = "1.0.21"
2
- __engine__ = "^2.0.4"
File without changes