cognite-neat 0.123.2__py3-none-any.whl → 0.127.30__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. cognite/neat/__init__.py +2 -2
  2. cognite/neat/_client/__init__.py +4 -0
  3. cognite/neat/_client/api.py +8 -0
  4. cognite/neat/_client/client.py +21 -0
  5. cognite/neat/_client/config.py +40 -0
  6. cognite/neat/_client/containers_api.py +125 -0
  7. cognite/neat/_client/data_classes.py +44 -0
  8. cognite/neat/_client/data_model_api.py +115 -0
  9. cognite/neat/_client/spaces_api.py +115 -0
  10. cognite/neat/_client/statistics_api.py +24 -0
  11. cognite/neat/_client/views_api.py +129 -0
  12. cognite/neat/_config.py +185 -0
  13. cognite/neat/_data_model/_analysis.py +196 -0
  14. cognite/neat/_data_model/_constants.py +67 -0
  15. cognite/neat/_data_model/_identifiers.py +61 -0
  16. cognite/neat/_data_model/_shared.py +41 -0
  17. cognite/neat/_data_model/deployer/_differ.py +140 -0
  18. cognite/neat/_data_model/deployer/_differ_container.py +360 -0
  19. cognite/neat/_data_model/deployer/_differ_data_model.py +54 -0
  20. cognite/neat/_data_model/deployer/_differ_space.py +9 -0
  21. cognite/neat/_data_model/deployer/_differ_view.py +299 -0
  22. cognite/neat/_data_model/deployer/data_classes.py +529 -0
  23. cognite/neat/_data_model/deployer/deployer.py +401 -0
  24. cognite/neat/_data_model/exporters/__init__.py +15 -0
  25. cognite/neat/_data_model/exporters/_api_exporter.py +37 -0
  26. cognite/neat/_data_model/exporters/_base.py +24 -0
  27. cognite/neat/_data_model/exporters/_table_exporter/exporter.py +128 -0
  28. cognite/neat/_data_model/exporters/_table_exporter/workbook.py +409 -0
  29. cognite/neat/_data_model/exporters/_table_exporter/writer.py +421 -0
  30. cognite/neat/_data_model/importers/__init__.py +5 -0
  31. cognite/neat/_data_model/importers/_api_importer.py +166 -0
  32. cognite/neat/_data_model/importers/_base.py +16 -0
  33. cognite/neat/_data_model/importers/_table_importer/data_classes.py +295 -0
  34. cognite/neat/_data_model/importers/_table_importer/importer.py +192 -0
  35. cognite/neat/_data_model/importers/_table_importer/reader.py +1063 -0
  36. cognite/neat/_data_model/importers/_table_importer/source.py +94 -0
  37. cognite/neat/_data_model/models/conceptual/_base.py +18 -0
  38. cognite/neat/_data_model/models/conceptual/_concept.py +67 -0
  39. cognite/neat/_data_model/models/conceptual/_data_model.py +51 -0
  40. cognite/neat/_data_model/models/conceptual/_properties.py +104 -0
  41. cognite/neat/_data_model/models/conceptual/_property.py +105 -0
  42. cognite/neat/_data_model/models/dms/__init__.py +206 -0
  43. cognite/neat/_data_model/models/dms/_base.py +31 -0
  44. cognite/neat/_data_model/models/dms/_constants.py +48 -0
  45. cognite/neat/_data_model/models/dms/_constraints.py +42 -0
  46. cognite/neat/_data_model/models/dms/_container.py +159 -0
  47. cognite/neat/_data_model/models/dms/_data_model.py +95 -0
  48. cognite/neat/_data_model/models/dms/_data_types.py +195 -0
  49. cognite/neat/_data_model/models/dms/_http.py +28 -0
  50. cognite/neat/_data_model/models/dms/_indexes.py +30 -0
  51. cognite/neat/_data_model/models/dms/_limits.py +96 -0
  52. cognite/neat/_data_model/models/dms/_references.py +135 -0
  53. cognite/neat/_data_model/models/dms/_schema.py +18 -0
  54. cognite/neat/_data_model/models/dms/_space.py +48 -0
  55. cognite/neat/_data_model/models/dms/_types.py +17 -0
  56. cognite/neat/_data_model/models/dms/_view_filter.py +282 -0
  57. cognite/neat/_data_model/models/dms/_view_property.py +235 -0
  58. cognite/neat/_data_model/models/dms/_views.py +210 -0
  59. cognite/neat/_data_model/models/entities/__init__.py +50 -0
  60. cognite/neat/_data_model/models/entities/_base.py +101 -0
  61. cognite/neat/_data_model/models/entities/_constants.py +22 -0
  62. cognite/neat/_data_model/models/entities/_data_types.py +144 -0
  63. cognite/neat/_data_model/models/entities/_identifiers.py +61 -0
  64. cognite/neat/_data_model/models/entities/_parser.py +226 -0
  65. cognite/neat/_data_model/validation/dms/__init__.py +75 -0
  66. cognite/neat/_data_model/validation/dms/_ai_readiness.py +364 -0
  67. cognite/neat/_data_model/validation/dms/_base.py +307 -0
  68. cognite/neat/_data_model/validation/dms/_connections.py +638 -0
  69. cognite/neat/_data_model/validation/dms/_consistency.py +57 -0
  70. cognite/neat/_data_model/validation/dms/_containers.py +174 -0
  71. cognite/neat/_data_model/validation/dms/_limits.py +420 -0
  72. cognite/neat/_data_model/validation/dms/_orchestrator.py +222 -0
  73. cognite/neat/_data_model/validation/dms/_views.py +103 -0
  74. cognite/neat/_exceptions.py +56 -0
  75. cognite/neat/_issues.py +68 -0
  76. cognite/neat/_session/__init__.py +3 -0
  77. cognite/neat/_session/_html/_render.py +30 -0
  78. cognite/neat/_session/_html/static/__init__.py +8 -0
  79. cognite/neat/_session/_html/static/deployment.css +303 -0
  80. cognite/neat/_session/_html/static/deployment.js +150 -0
  81. cognite/neat/_session/_html/static/issues.css +211 -0
  82. cognite/neat/_session/_html/static/issues.js +168 -0
  83. cognite/neat/_session/_html/static/shared.css +186 -0
  84. cognite/neat/_session/_html/templates/__init__.py +4 -0
  85. cognite/neat/_session/_html/templates/deployment.html +75 -0
  86. cognite/neat/_session/_html/templates/issues.html +45 -0
  87. cognite/neat/_session/_issues.py +81 -0
  88. cognite/neat/_session/_opt.py +35 -0
  89. cognite/neat/_session/_physical.py +261 -0
  90. cognite/neat/_session/_result.py +236 -0
  91. cognite/neat/_session/_session.py +88 -0
  92. cognite/neat/_session/_usage_analytics/__init__.py +0 -0
  93. cognite/neat/_session/_usage_analytics/_collector.py +131 -0
  94. cognite/neat/_session/_usage_analytics/_constants.py +23 -0
  95. cognite/neat/_session/_usage_analytics/_storage.py +240 -0
  96. cognite/neat/_session/_wrappers.py +82 -0
  97. cognite/neat/_state_machine/__init__.py +10 -0
  98. cognite/neat/_state_machine/_base.py +37 -0
  99. cognite/neat/_state_machine/_states.py +52 -0
  100. cognite/neat/_store/__init__.py +3 -0
  101. cognite/neat/_store/_provenance.py +81 -0
  102. cognite/neat/_store/_store.py +156 -0
  103. cognite/neat/_utils/__init__.py +0 -0
  104. cognite/neat/_utils/_reader.py +194 -0
  105. cognite/neat/_utils/auxiliary.py +39 -0
  106. cognite/neat/_utils/collection.py +11 -0
  107. cognite/neat/_utils/http_client/__init__.py +39 -0
  108. cognite/neat/_utils/http_client/_client.py +245 -0
  109. cognite/neat/_utils/http_client/_config.py +19 -0
  110. cognite/neat/_utils/http_client/_data_classes.py +294 -0
  111. cognite/neat/_utils/http_client/_tracker.py +31 -0
  112. cognite/neat/_utils/text.py +71 -0
  113. cognite/neat/_utils/useful_types.py +37 -0
  114. cognite/neat/_utils/validation.py +154 -0
  115. cognite/neat/_version.py +1 -1
  116. cognite/neat/v0/__init__.py +0 -0
  117. cognite/neat/v0/core/__init__.py +0 -0
  118. cognite/neat/v0/core/_client/_api/__init__.py +0 -0
  119. cognite/neat/{core → v0/core}/_client/_api/data_modeling_loaders.py +86 -7
  120. cognite/neat/{core → v0/core}/_client/_api/neat_instances.py +5 -5
  121. cognite/neat/{core → v0/core}/_client/_api/schema.py +5 -5
  122. cognite/neat/{core → v0/core}/_client/_api/statistics.py +3 -3
  123. cognite/neat/{core → v0/core}/_client/_api_client.py +1 -1
  124. cognite/neat/v0/core/_client/data_classes/__init__.py +0 -0
  125. cognite/neat/{core → v0/core}/_client/data_classes/schema.py +4 -4
  126. cognite/neat/{core → v0/core}/_client/testing.py +1 -1
  127. cognite/neat/{core → v0/core}/_constants.py +10 -3
  128. cognite/neat/v0/core/_data_model/__init__.py +0 -0
  129. cognite/neat/{core → v0/core}/_data_model/_constants.py +9 -6
  130. cognite/neat/{core → v0/core}/_data_model/_shared.py +5 -5
  131. cognite/neat/{core → v0/core}/_data_model/analysis/_base.py +12 -8
  132. cognite/neat/{core → v0/core}/_data_model/exporters/__init__.py +1 -2
  133. cognite/neat/{core → v0/core}/_data_model/exporters/_base.py +7 -7
  134. cognite/neat/{core → v0/core}/_data_model/exporters/_data_model2dms.py +9 -9
  135. cognite/neat/{core → v0/core}/_data_model/exporters/_data_model2excel.py +13 -13
  136. cognite/neat/{core → v0/core}/_data_model/exporters/_data_model2instance_template.py +4 -4
  137. cognite/neat/{core/_data_model/exporters/_data_model2ontology.py → v0/core/_data_model/exporters/_data_model2semantic_model.py} +126 -133
  138. cognite/neat/{core → v0/core}/_data_model/exporters/_data_model2yaml.py +1 -1
  139. cognite/neat/{core → v0/core}/_data_model/importers/__init__.py +4 -6
  140. cognite/neat/{core → v0/core}/_data_model/importers/_base.py +5 -5
  141. cognite/neat/{core → v0/core}/_data_model/importers/_base_file_reader.py +2 -2
  142. cognite/neat/{core → v0/core}/_data_model/importers/_dict2data_model.py +6 -6
  143. cognite/neat/{core → v0/core}/_data_model/importers/_dms2data_model.py +19 -16
  144. cognite/neat/v0/core/_data_model/importers/_graph2data_model.py +299 -0
  145. cognite/neat/v0/core/_data_model/importers/_rdf/__init__.py +4 -0
  146. cognite/neat/{core → v0/core}/_data_model/importers/_rdf/_base.py +13 -13
  147. cognite/neat/{core → v0/core}/_data_model/importers/_rdf/_inference2rdata_model.py +14 -14
  148. cognite/neat/v0/core/_data_model/importers/_rdf/_owl2data_model.py +144 -0
  149. cognite/neat/v0/core/_data_model/importers/_rdf/_shared.py +255 -0
  150. cognite/neat/{core → v0/core}/_data_model/importers/_spreadsheet2data_model.py +94 -13
  151. cognite/neat/{core → v0/core}/_data_model/models/__init__.py +3 -3
  152. cognite/neat/{core → v0/core}/_data_model/models/_base_verified.py +5 -5
  153. cognite/neat/v0/core/_data_model/models/_import_contexts.py +82 -0
  154. cognite/neat/{core → v0/core}/_data_model/models/_types.py +5 -5
  155. cognite/neat/{core → v0/core}/_data_model/models/conceptual/_unverified.py +18 -12
  156. cognite/neat/v0/core/_data_model/models/conceptual/_validation.py +308 -0
  157. cognite/neat/{core → v0/core}/_data_model/models/conceptual/_verified.py +13 -11
  158. cognite/neat/{core → v0/core}/_data_model/models/data_types.py +14 -4
  159. cognite/neat/{core → v0/core}/_data_model/models/entities/__init__.py +6 -0
  160. cognite/neat/v0/core/_data_model/models/entities/_loaders.py +155 -0
  161. cognite/neat/{core → v0/core}/_data_model/models/entities/_multi_value.py +2 -2
  162. cognite/neat/v0/core/_data_model/models/entities/_restrictions.py +230 -0
  163. cognite/neat/{core → v0/core}/_data_model/models/entities/_single_value.py +121 -16
  164. cognite/neat/{core → v0/core}/_data_model/models/entities/_types.py +10 -0
  165. cognite/neat/{core → v0/core}/_data_model/models/mapping/_classic2core.py +5 -5
  166. cognite/neat/{core → v0/core}/_data_model/models/physical/__init__.py +1 -1
  167. cognite/neat/{core → v0/core}/_data_model/models/physical/_exporter.py +28 -21
  168. cognite/neat/{core → v0/core}/_data_model/models/physical/_unverified.py +141 -38
  169. cognite/neat/{core → v0/core}/_data_model/models/physical/_validation.py +190 -24
  170. cognite/neat/{core → v0/core}/_data_model/models/physical/_verified.py +135 -15
  171. cognite/neat/{core → v0/core}/_data_model/transformers/__init__.py +2 -0
  172. cognite/neat/{core → v0/core}/_data_model/transformers/_base.py +4 -4
  173. cognite/neat/{core → v0/core}/_data_model/transformers/_converters.py +39 -32
  174. cognite/neat/{core → v0/core}/_data_model/transformers/_mapping.py +7 -7
  175. cognite/neat/v0/core/_data_model/transformers/_union_conceptual.py +208 -0
  176. cognite/neat/{core → v0/core}/_data_model/transformers/_verification.py +7 -7
  177. cognite/neat/v0/core/_instances/__init__.py +0 -0
  178. cognite/neat/{core → v0/core}/_instances/_tracking/base.py +1 -1
  179. cognite/neat/{core → v0/core}/_instances/_tracking/log.py +1 -1
  180. cognite/neat/{core → v0/core}/_instances/extractors/__init__.py +1 -1
  181. cognite/neat/{core → v0/core}/_instances/extractors/_base.py +6 -6
  182. cognite/neat/v0/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
  183. cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_base.py +7 -7
  184. cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_classic.py +12 -12
  185. cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_relationships.py +3 -3
  186. cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_sequences.py +2 -2
  187. cognite/neat/{core → v0/core}/_instances/extractors/_dict.py +6 -3
  188. cognite/neat/{core → v0/core}/_instances/extractors/_dms.py +6 -6
  189. cognite/neat/{core → v0/core}/_instances/extractors/_dms_graph.py +11 -11
  190. cognite/neat/{core → v0/core}/_instances/extractors/_mock_graph_generator.py +10 -10
  191. cognite/neat/{core → v0/core}/_instances/extractors/_raw.py +3 -3
  192. cognite/neat/{core → v0/core}/_instances/extractors/_rdf_file.py +7 -7
  193. cognite/neat/{core → v0/core}/_instances/loaders/_base.py +5 -5
  194. cognite/neat/{core → v0/core}/_instances/loaders/_rdf2dms.py +17 -17
  195. cognite/neat/{core → v0/core}/_instances/loaders/_rdf_to_instance_space.py +11 -11
  196. cognite/neat/{core → v0/core}/_instances/queries/_select.py +29 -3
  197. cognite/neat/{core → v0/core}/_instances/queries/_update.py +1 -1
  198. cognite/neat/{core → v0/core}/_instances/transformers/_base.py +4 -4
  199. cognite/neat/{core → v0/core}/_instances/transformers/_classic_cdf.py +6 -6
  200. cognite/neat/{core → v0/core}/_instances/transformers/_prune_graph.py +4 -4
  201. cognite/neat/{core → v0/core}/_instances/transformers/_rdfpath.py +1 -1
  202. cognite/neat/{core → v0/core}/_instances/transformers/_value_type.py +4 -4
  203. cognite/neat/{core → v0/core}/_issues/_base.py +11 -6
  204. cognite/neat/{core → v0/core}/_issues/_contextmanagers.py +8 -6
  205. cognite/neat/{core → v0/core}/_issues/_factory.py +11 -8
  206. cognite/neat/{core → v0/core}/_issues/errors/__init__.py +3 -1
  207. cognite/neat/{core → v0/core}/_issues/errors/_external.py +1 -1
  208. cognite/neat/{core → v0/core}/_issues/errors/_general.py +1 -1
  209. cognite/neat/{core → v0/core}/_issues/errors/_properties.py +12 -1
  210. cognite/neat/{core → v0/core}/_issues/errors/_resources.py +2 -2
  211. cognite/neat/{core → v0/core}/_issues/errors/_wrapper.py +7 -3
  212. cognite/neat/{core → v0/core}/_issues/warnings/__init__.py +5 -1
  213. cognite/neat/{core → v0/core}/_issues/warnings/_external.py +1 -1
  214. cognite/neat/{core → v0/core}/_issues/warnings/_general.py +1 -1
  215. cognite/neat/{core → v0/core}/_issues/warnings/_models.py +39 -4
  216. cognite/neat/{core → v0/core}/_issues/warnings/_properties.py +13 -2
  217. cognite/neat/{core → v0/core}/_issues/warnings/_resources.py +1 -1
  218. cognite/neat/{core → v0/core}/_issues/warnings/user_modeling.py +1 -1
  219. cognite/neat/{core → v0/core}/_store/_data_model.py +13 -12
  220. cognite/neat/{core → v0/core}/_store/_instance.py +45 -12
  221. cognite/neat/{core → v0/core}/_store/_provenance.py +3 -3
  222. cognite/neat/{core → v0/core}/_store/exceptions.py +4 -4
  223. cognite/neat/v0/core/_utils/__init__.py +0 -0
  224. cognite/neat/{core → v0/core}/_utils/auth.py +1 -1
  225. cognite/neat/{core → v0/core}/_utils/auxiliary.py +7 -1
  226. cognite/neat/{core → v0/core}/_utils/collection_.py +2 -2
  227. cognite/neat/{core → v0/core}/_utils/graph_transformations_report.py +1 -1
  228. cognite/neat/{core → v0/core}/_utils/rdf_.py +38 -14
  229. cognite/neat/{core → v0/core}/_utils/reader/_base.py +1 -1
  230. cognite/neat/{core → v0/core}/_utils/spreadsheet.py +22 -4
  231. cognite/neat/v0/core/_utils/tarjan.py +44 -0
  232. cognite/neat/{core → v0/core}/_utils/text.py +1 -1
  233. cognite/neat/{core → v0/core}/_utils/upload.py +3 -3
  234. cognite/neat/v0/plugins/__init__.py +4 -0
  235. cognite/neat/v0/plugins/_base.py +9 -0
  236. cognite/neat/v0/plugins/_data_model.py +48 -0
  237. cognite/neat/{plugins → v0/plugins}/_issues.py +1 -1
  238. cognite/neat/{plugins → v0/plugins}/_manager.py +7 -16
  239. cognite/neat/{session → v0/session}/_base.py +13 -10
  240. cognite/neat/{session → v0/session}/_collector.py +1 -1
  241. cognite/neat/v0/session/_diff.py +51 -0
  242. cognite/neat/{session → v0/session}/_drop.py +3 -3
  243. cognite/neat/{session → v0/session}/_explore.py +2 -2
  244. cognite/neat/{session → v0/session}/_fix.py +2 -2
  245. cognite/neat/{session → v0/session}/_inspect.py +3 -3
  246. cognite/neat/{session → v0/session}/_mapping.py +3 -3
  247. cognite/neat/{session → v0/session}/_plugin.py +4 -5
  248. cognite/neat/{session → v0/session}/_prepare.py +8 -8
  249. cognite/neat/{session → v0/session}/_read.py +33 -43
  250. cognite/neat/{session → v0/session}/_set.py +8 -8
  251. cognite/neat/{session → v0/session}/_show.py +5 -5
  252. cognite/neat/{session → v0/session}/_state.py +22 -8
  253. cognite/neat/{session → v0/session}/_subset.py +4 -4
  254. cognite/neat/{session → v0/session}/_template.py +11 -11
  255. cognite/neat/{session → v0/session}/_to.py +12 -12
  256. cognite/neat/{session → v0/session}/_wizard.py +1 -1
  257. cognite/neat/{session → v0/session}/engine/_load.py +1 -1
  258. cognite/neat/{session → v0/session}/exceptions.py +5 -5
  259. cognite/neat/v1.py +3 -0
  260. {cognite_neat-0.123.2.dist-info → cognite_neat-0.127.30.dist-info}/METADATA +9 -8
  261. cognite_neat-0.127.30.dist-info/RECORD +319 -0
  262. {cognite_neat-0.123.2.dist-info → cognite_neat-0.127.30.dist-info}/WHEEL +1 -1
  263. cognite/neat/core/_data_model/importers/_dtdl2data_model/__init__.py +0 -3
  264. cognite/neat/core/_data_model/importers/_dtdl2data_model/_unit_lookup.py +0 -224
  265. cognite/neat/core/_data_model/importers/_dtdl2data_model/dtdl_converter.py +0 -320
  266. cognite/neat/core/_data_model/importers/_dtdl2data_model/dtdl_importer.py +0 -155
  267. cognite/neat/core/_data_model/importers/_dtdl2data_model/spec.py +0 -363
  268. cognite/neat/core/_data_model/importers/_rdf/__init__.py +0 -5
  269. cognite/neat/core/_data_model/importers/_rdf/_imf2data_model.py +0 -98
  270. cognite/neat/core/_data_model/importers/_rdf/_owl2data_model.py +0 -87
  271. cognite/neat/core/_data_model/importers/_rdf/_shared.py +0 -168
  272. cognite/neat/core/_data_model/models/conceptual/_validation.py +0 -294
  273. cognite/neat/core/_data_model/models/entities/_loaders.py +0 -75
  274. cognite/neat/plugins/__init__.py +0 -3
  275. cognite/neat/plugins/data_model/importers/__init__.py +0 -5
  276. cognite/neat/plugins/data_model/importers/_base.py +0 -28
  277. cognite_neat-0.123.2.dist-info/RECORD +0 -197
  278. /cognite/neat/{core → _data_model}/__init__.py +0 -0
  279. /cognite/neat/{core/_client/_api → _data_model/deployer}/__init__.py +0 -0
  280. /cognite/neat/{core/_client/data_classes → _data_model/exporters/_table_exporter}/__init__.py +0 -0
  281. /cognite/neat/{core/_data_model → _data_model/importers/_table_importer}/__init__.py +0 -0
  282. /cognite/neat/{core/_instances → _data_model/models}/__init__.py +0 -0
  283. /cognite/neat/{core/_instances/extractors/_classic_cdf → _data_model/models/conceptual}/__init__.py +0 -0
  284. /cognite/neat/{core/_utils → _data_model/validation}/__init__.py +0 -0
  285. /cognite/neat/{plugins/data_model → _session/_html}/__init__.py +0 -0
  286. /cognite/neat/{core → v0/core}/_client/__init__.py +0 -0
  287. /cognite/neat/{core → v0/core}/_client/data_classes/data_modeling.py +0 -0
  288. /cognite/neat/{core → v0/core}/_client/data_classes/neat_sequence.py +0 -0
  289. /cognite/neat/{core → v0/core}/_client/data_classes/statistics.py +0 -0
  290. /cognite/neat/{core → v0/core}/_config.py +0 -0
  291. /cognite/neat/{core → v0/core}/_data_model/analysis/__init__.py +0 -0
  292. /cognite/neat/{core → v0/core}/_data_model/catalog/__init__.py +0 -0
  293. /cognite/neat/{core → v0/core}/_data_model/catalog/classic_model.xlsx +0 -0
  294. /cognite/neat/{core → v0/core}/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  295. /cognite/neat/{core → v0/core}/_data_model/catalog/hello_world_pump.xlsx +0 -0
  296. /cognite/neat/{core → v0/core}/_data_model/models/_base_unverified.py +0 -0
  297. /cognite/neat/{core → v0/core}/_data_model/models/conceptual/__init__.py +0 -0
  298. /cognite/neat/{core → v0/core}/_data_model/models/entities/_constants.py +0 -0
  299. /cognite/neat/{core → v0/core}/_data_model/models/entities/_wrapped.py +0 -0
  300. /cognite/neat/{core → v0/core}/_data_model/models/mapping/__init__.py +0 -0
  301. /cognite/neat/{core → v0/core}/_data_model/models/mapping/_classic2core.yaml +0 -0
  302. /cognite/neat/{core → v0/core}/_instances/_shared.py +0 -0
  303. /cognite/neat/{core → v0/core}/_instances/_tracking/__init__.py +0 -0
  304. /cognite/neat/{core → v0/core}/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  305. /cognite/neat/{core → v0/core}/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  306. /cognite/neat/{core → v0/core}/_instances/examples/__init__.py +0 -0
  307. /cognite/neat/{core → v0/core}/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  308. /cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_assets.py +0 -0
  309. /cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  310. /cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_events.py +0 -0
  311. /cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_files.py +0 -0
  312. /cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_labels.py +0 -0
  313. /cognite/neat/{core → v0/core}/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  314. /cognite/neat/{core → v0/core}/_instances/loaders/__init__.py +0 -0
  315. /cognite/neat/{core → v0/core}/_instances/queries/__init__.py +0 -0
  316. /cognite/neat/{core → v0/core}/_instances/queries/_base.py +0 -0
  317. /cognite/neat/{core → v0/core}/_instances/queries/_queries.py +0 -0
  318. /cognite/neat/{core → v0/core}/_instances/transformers/__init__.py +0 -0
  319. /cognite/neat/{core → v0/core}/_issues/__init__.py +0 -0
  320. /cognite/neat/{core → v0/core}/_issues/formatters.py +0 -0
  321. /cognite/neat/{core → v0/core}/_shared.py +0 -0
  322. /cognite/neat/{core → v0/core}/_store/__init__.py +0 -0
  323. /cognite/neat/{core → v0/core}/_utils/io_.py +0 -0
  324. /cognite/neat/{core → v0/core}/_utils/reader/__init__.py +0 -0
  325. /cognite/neat/{core → v0/core}/_utils/time_.py +0 -0
  326. /cognite/neat/{core → v0/core}/_utils/xml_.py +0 -0
  327. /cognite/neat/{session → v0/session}/__init__.py +0 -0
  328. /cognite/neat/{session → v0/session}/_experimental.py +0 -0
  329. /cognite/neat/{session → v0/session}/_state/README.md +0 -0
  330. /cognite/neat/{session → v0/session}/engine/__init__.py +0 -0
  331. /cognite/neat/{session → v0/session}/engine/_import.py +0 -0
  332. /cognite/neat/{session → v0/session}/engine/_interface.py +0 -0
  333. {cognite_neat-0.123.2.dist-info → cognite_neat-0.127.30.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,303 @@
1
+ .deployment-list {
2
+ background: var(--bg-primary);
3
+ border: 1px solid var(--border-color);
4
+ border-top: none;
5
+ border-radius: 0 0 8px 8px;
6
+ max-height: 700px;
7
+ overflow-y: auto;
8
+ }
9
+
10
+ .change-item {
11
+ padding: 16px 20px;
12
+ border-bottom: 1px solid var(--border-light);
13
+ transition: background 0.2s;
14
+ }
15
+
16
+ .change-item:hover {
17
+ background: var(--hover-bg);
18
+ }
19
+
20
+ .change-header {
21
+ display: flex;
22
+ align-items: start;
23
+ gap: 12px;
24
+ margin-bottom: 8px;
25
+ flex-wrap: wrap;
26
+ }
27
+
28
+ .endpoint-badge {
29
+ padding: 4px 10px;
30
+ border-radius: 4px;
31
+ font-size: 11px;
32
+ font-weight: 600;
33
+ text-transform: uppercase;
34
+ letter-spacing: 0.5px;
35
+ }
36
+
37
+ .endpoint-spaces {
38
+ background: #dbeafe;
39
+ color: #1e40af;
40
+ }
41
+
42
+ .endpoint-containers {
43
+ background: #fce7f3;
44
+ color: #9f1239;
45
+ }
46
+
47
+ .endpoint-views {
48
+ background: #dcfce7;
49
+ color: #166534;
50
+ }
51
+
52
+ .endpoint-datamodels {
53
+ background: #fef3c7;
54
+ color: #92400e;
55
+ }
56
+
57
+ .dark-mode .endpoint-spaces {
58
+ background: #1e3a8a;
59
+ color: #93c5fd;
60
+ }
61
+
62
+ .dark-mode .endpoint-containers {
63
+ background: #831843;
64
+ color: #f9a8d4;
65
+ }
66
+
67
+ .dark-mode .endpoint-views {
68
+ background: #14532d;
69
+ color: #86efac;
70
+ }
71
+
72
+ .dark-mode .endpoint-datamodels {
73
+ background: #78350f;
74
+ color: #fde68a;
75
+ }
76
+
77
+ .change-type-badge {
78
+ padding: 4px 10px;
79
+ border-radius: 4px;
80
+ font-size: 11px;
81
+ font-weight: 600;
82
+ text-transform: uppercase;
83
+ }
84
+
85
+ .change-create {
86
+ background: #d1fae5;
87
+ color: #065f46;
88
+ }
89
+
90
+ .change-update {
91
+ background: #dbeafe;
92
+ color: #1e40af;
93
+ }
94
+
95
+ .change-delete {
96
+ background: #fee2e2;
97
+ color: #991b1b;
98
+ }
99
+
100
+ .change-skip {
101
+ background: #fef3c7;
102
+ color: #92400e;
103
+ }
104
+
105
+ .change-unchanged {
106
+ background: #f3f4f6;
107
+ color: #4b5563;
108
+ }
109
+
110
+ .dark-mode .change-create {
111
+ background: #064e3b;
112
+ color: #6ee7b7;
113
+ }
114
+
115
+ .dark-mode .change-update {
116
+ background: #1e3a8a;
117
+ color: #93c5fd;
118
+ }
119
+
120
+ .dark-mode .change-delete {
121
+ background: #7f1d1d;
122
+ color: #fca5a5;
123
+ }
124
+
125
+ .dark-mode .change-skip {
126
+ background: #78350f;
127
+ color: #fde68a;
128
+ }
129
+
130
+ .dark-mode .change-unchanged {
131
+ background: #374151;
132
+ color: #9ca3af;
133
+ }
134
+
135
+ .severity-badge {
136
+ padding: 4px 10px;
137
+ border-radius: 4px;
138
+ font-size: 11px;
139
+ font-weight: 600;
140
+ }
141
+
142
+ .severity-SAFE {
143
+ background: #d1fae5;
144
+ color: #065f46;
145
+ }
146
+
147
+ .severity-WARNING {
148
+ background: #fef3c7;
149
+ color: #92400e;
150
+ }
151
+
152
+ .severity-BREAKING {
153
+ background: #fee2e2;
154
+ color: #991b1b;
155
+ }
156
+
157
+ .dark-mode .severity-SAFE {
158
+ background: #064e3b;
159
+ color: #6ee7b7;
160
+ }
161
+
162
+ .dark-mode .severity-WARNING {
163
+ background: #78350f;
164
+ color: #fde68a;
165
+ }
166
+
167
+ .dark-mode .severity-BREAKING {
168
+ background: #7f1d1d;
169
+ color: #fca5a5;
170
+ }
171
+
172
+ .resource-id {
173
+ color: var(--text-primary);
174
+ font-weight: 600;
175
+ font-family: 'Monaco', 'Courier New', monospace;
176
+ font-size: 13px;
177
+ }
178
+
179
+ .field-changes {
180
+ margin-top: 12px;
181
+ padding-left: 20px;
182
+ }
183
+
184
+ .field-change {
185
+ padding: 8px 12px;
186
+ margin: 4px 0;
187
+ background: var(--bg-secondary);
188
+ border-left: 3px solid var(--fix-border);
189
+ border-radius: 4px;
190
+ font-size: 12px;
191
+ }
192
+
193
+ .field-path {
194
+ font-weight: 600;
195
+ color: var(--fix-border);
196
+ font-family: 'Monaco', 'Courier New', monospace;
197
+ }
198
+
199
+ .field-description {
200
+ color: var(--text-secondary);
201
+ margin-top: 4px;
202
+ }
203
+
204
+ .recovery-notice {
205
+ background: var(--fix-bg);
206
+ border: 1px solid var(--fix-border);
207
+ border-radius: 6px;
208
+ padding: 12px 16px;
209
+ margin-top: 12px;
210
+ font-size: 13px;
211
+ color: var(--fix-text);
212
+ }
213
+
214
+ .status-badge {
215
+ padding: 6px 14px;
216
+ border-radius: 20px;
217
+ font-size: 14px;
218
+ font-weight: 600;
219
+ display: inline-flex;
220
+ align-items: center;
221
+ gap: 6px;
222
+ }
223
+
224
+
225
+ .deployment-controls {
226
+ display: flex;
227
+ flex-direction: column;
228
+ gap: 12px;
229
+ }
230
+
231
+ .filter-group {
232
+ display: flex;
233
+ gap: 8px;
234
+ align-items: center;
235
+ flex-wrap: wrap;
236
+ }
237
+
238
+ .filter-label {
239
+ font-size: 13px;
240
+ font-weight: 600;
241
+ color: var(--text-secondary);
242
+ min-width: 80px;
243
+ }
244
+
245
+ .filter-btn {
246
+ padding: 6px 12px;
247
+ border: 1px solid var(--border-color);
248
+ background: var(--bg-primary);
249
+ color: var(--text-primary);
250
+ border-radius: 6px;
251
+ font-size: 12px;
252
+ cursor: pointer;
253
+ transition: all 0.2s;
254
+ }
255
+
256
+ .filter-btn:hover {
257
+ background: var(--hover-bg);
258
+ border-color: var(--fix-border);
259
+ }
260
+
261
+ .filter-btn.active {
262
+ background: var(--fix-border);
263
+ color: white;
264
+ border-color: var(--fix-border);
265
+ }
266
+
267
+
268
+
269
+ .status-success {
270
+ background: #10b981;
271
+ color: white;
272
+ }
273
+
274
+ .status-failure {
275
+ background: #ff8686;
276
+ color: white;
277
+ }
278
+
279
+ .status-partial {
280
+ background: #f59e0b;
281
+ color: white;
282
+ }
283
+
284
+ .status-pending {
285
+ background: #3b82f6;
286
+ color: white;
287
+ }
288
+
289
+ .dark-mode .status-success {
290
+ background: #059669;
291
+ }
292
+
293
+ .dark-mode .status-failure {
294
+ background: #ff8686;
295
+ }
296
+
297
+ .dark-mode .status-partial {
298
+ background: #d97706;
299
+ }
300
+
301
+ .dark-mode .status-pending {
302
+ background: #2563eb;
303
+ }
@@ -0,0 +1,150 @@
1
+ let currentFilters = {
2
+ changeType: 'all',
3
+ endpoint: 'all',
4
+ severity: 'all',
5
+ };
6
+ let currentSearch = '';
7
+ const storageKey = 'neat-deployment-theme-' + uniqueId;
8
+ let isDarkMode = localStorage.getItem(storageKey) === 'dark';
9
+
10
+ const container = document.getElementById('deploymentContainer-' + uniqueId);
11
+ const themeToggle = document.getElementById('themeToggle-' + uniqueId);
12
+ const themeIcon = document.getElementById('themeIcon-' + uniqueId);
13
+ const themeText = document.getElementById('themeText-' + uniqueId);
14
+
15
+ // Status configuration
16
+ const STATUS_CONFIG = {
17
+ success: { icon: '✅', text: 'Success' },
18
+ failure: { icon: '❌', text: 'Failure' },
19
+ partial: { icon: '⚠️', text: 'Partial Success' },
20
+ pending: { icon: '⏳', text: 'Pending (Dry Run)' }
21
+ };
22
+
23
+ // Initialize status badge
24
+ function initializeStatus() {
25
+ const statusBadge = document.getElementById('statusBadge-' + uniqueId);
26
+ const statusIcon = document.getElementById('statusIcon-' + uniqueId);
27
+ const statusText = document.getElementById('statusText-' + uniqueId);
28
+
29
+ const statusConfig = STATUS_CONFIG[stats.status] || STATUS_CONFIG.pending;
30
+ statusIcon.textContent = statusConfig.icon;
31
+ statusText.textContent = statusConfig.text;
32
+ }
33
+
34
+ function updateTheme() {
35
+ if (isDarkMode) {
36
+ container.classList.add('dark-mode');
37
+ themeIcon.textContent = '☀️';
38
+ themeText.textContent = 'Light';
39
+ } else {
40
+ container.classList.remove('dark-mode');
41
+ themeIcon.textContent = '🌙';
42
+ themeText.textContent = 'Dark';
43
+ }
44
+ }
45
+
46
+ updateTheme();
47
+ initializeStatus();
48
+
49
+ themeToggle.addEventListener('click', function() {
50
+ isDarkMode = !isDarkMode;
51
+ localStorage.setItem(storageKey, isDarkMode ? 'dark' : 'light');
52
+ updateTheme();
53
+ });
54
+
55
+ function renderChanges() {
56
+ const listContainer = document.getElementById('deploymentList-' + uniqueId);
57
+ const filtered = changes.filter(change => {
58
+ const matchesChangeType = currentFilters.changeType === 'all' ||
59
+ change.change_type === currentFilters.changeType;
60
+ const matchesEndpoint = currentFilters.endpoint === 'all' ||
61
+ change.endpoint === currentFilters.endpoint;
62
+ const matchesSeverity = currentFilters.severity === 'all' ||
63
+ change.severity === currentFilters.severity;
64
+ const matchesSearch = !currentSearch ||
65
+ change.resource_id.toLowerCase().includes(currentSearch.toLowerCase()) ||
66
+ change.changes.some(fc =>
67
+ fc.field_path.toLowerCase().includes(currentSearch.toLowerCase()) ||
68
+ fc.description.toLowerCase().includes(currentSearch.toLowerCase())
69
+ );
70
+ return matchesChangeType && matchesEndpoint && matchesSeverity && matchesSearch;
71
+ });
72
+
73
+ if (filtered.length === 0) {
74
+ listContainer.innerHTML = '<div class="no-changes">No changes match your filters</div>';
75
+ return;
76
+ }
77
+
78
+ listContainer.innerHTML = filtered.map(change => `
79
+ <div class="change-item">
80
+ <div class="change-header">
81
+ <span class="endpoint-badge endpoint-${change.endpoint}">${change.endpoint}</span>
82
+ <span class="change-type-badge change-${change.change_type}">${change.change_type}</span>
83
+ <span class="severity-badge severity-${change.severity}">${change.severity}</span>
84
+ </div>
85
+ <div class="resource-id">${change.resource_id}</div>
86
+ ${change.changes.length > 0 ? `
87
+ <div class="field-changes">
88
+ ${change.changes.map(fc => `
89
+ <div class="field-change">
90
+ <div class="field-path">${fc.field_path}</div>
91
+ <div class="field-description">${fc.description}</div>
92
+ </div>
93
+ `).join('')}
94
+ </div>
95
+ ` : ''}
96
+ </div>
97
+ `).join('');
98
+ }
99
+
100
+ // Change type filters (stat items)
101
+ document.querySelectorAll('#deploymentContainer-' + uniqueId + ' .stat-item').forEach(item => {
102
+ item.addEventListener('click', function() {
103
+ document.querySelectorAll('#deploymentContainer-' + uniqueId + ' .stat-item').forEach(i => i.classList.remove('active'));
104
+ this.classList.add('active');
105
+ currentFilters.changeType = this.dataset.filter;
106
+ renderChanges();
107
+ });
108
+ });
109
+
110
+ // Other filters
111
+ document.querySelectorAll('#deploymentContainer-' + uniqueId + ' .filter-btn').forEach(btn => {
112
+ btn.addEventListener('click', function() {
113
+ const filterType = this.dataset.filterType;
114
+ document.querySelectorAll('#deploymentContainer-' + uniqueId + ` [data-filter-type="${filterType}"]`).forEach(b =>
115
+ b.classList.remove('active')
116
+ );
117
+ this.classList.add('active');
118
+ currentFilters[filterType] = this.dataset.filter;
119
+ renderChanges();
120
+ });
121
+ });
122
+
123
+ // Search
124
+ document.getElementById('searchInput-' + uniqueId).addEventListener('input', function(e) {
125
+ currentSearch = e.target.value;
126
+ renderChanges();
127
+ });
128
+
129
+ // Export function
130
+ window['exportDeployment_' + uniqueId] = function() {
131
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
132
+ const report = {
133
+ status: stats.status,
134
+ is_dry_run: stats.is_dry_run,
135
+ timestamp: timestamp,
136
+ statistics: stats,
137
+ changes: changes,
138
+ };
139
+
140
+ const json = JSON.stringify(report, null, 2);
141
+ const blob = new Blob([json], { type: 'application/json' });
142
+ const url = window.URL.createObjectURL(blob);
143
+ const a = document.createElement('a');
144
+ a.href = url;
145
+ a.download = `deployment_report_${timestamp}.json`;
146
+ a.click();
147
+ window.URL.revokeObjectURL(url);
148
+ };
149
+
150
+ renderChanges();
@@ -0,0 +1,211 @@
1
+ .issues-list {
2
+ background: var(--bg-primary);
3
+ border: 1px solid var(--border-color);
4
+ border-top: none;
5
+ border-radius: 0 0 8px 8px;
6
+ max-height: 600px;
7
+ overflow-y: auto;
8
+ }
9
+
10
+ .issue-item {
11
+ padding: 16px 20px;
12
+ border-bottom: 1px solid var(--border-light);
13
+ transition: background 0.2s;
14
+ }
15
+
16
+ .issue-item:last-child {
17
+ border-bottom: none;
18
+ }
19
+
20
+ .issue-item:hover {
21
+ background: var(--hover-bg);
22
+ }
23
+
24
+ .issue-header {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 10px;
28
+ margin-bottom: 8px;
29
+ }
30
+
31
+ .issue-badge {
32
+ padding: 4px 10px;
33
+ border-radius: 4px;
34
+ font-size: 11px;
35
+ font-weight: 600;
36
+ text-transform: uppercase;
37
+ letter-spacing: 0.5px;
38
+ }
39
+
40
+ .badge-ModelSyntaxError {
41
+ background: #fee2e2;
42
+ color: #991b1b;
43
+ }
44
+
45
+ .badge-ConsistencyError {
46
+ background: #fef3c7;
47
+ color: #92400e;
48
+ }
49
+
50
+ .badge-Recommendation {
51
+ background: #dbeafe;
52
+ color: #1e40af;
53
+ }
54
+
55
+ .dark-mode .badge-ModelSyntaxError {
56
+ background: #7f1d1d;
57
+ color: #fca5a5;
58
+ }
59
+
60
+ .dark-mode .badge-ConsistencyError {
61
+ background: #78350f;
62
+ color: #fde68a;
63
+ }
64
+
65
+ .dark-mode .badge-Recommendation {
66
+ background: #1e3a8a;
67
+ color: #93c5fd;
68
+ }
69
+
70
+ .issue-code {
71
+ font-family: 'Monaco', 'Courier New', monospace;
72
+ font-size: 12px;
73
+ color: var(--text-secondary);
74
+ background: var(--bg-secondary);
75
+ padding: 3px 8px;
76
+ border-radius: 3px;
77
+ }
78
+
79
+ .issue-message {
80
+ color: var(--text-primary);
81
+ line-height: 1.6;
82
+ font-size: 14px;
83
+ }
84
+
85
+ .issue-fix {
86
+ margin-top: 12px;
87
+ padding: 12px;
88
+ background: var(--fix-bg);
89
+ border-left: 3px solid var(--fix-border);
90
+ border-radius: 4px;
91
+ }
92
+
93
+ .issue-fix-label {
94
+ font-weight: 600;
95
+ font-size: 12px;
96
+ color: var(--fix-text);
97
+ margin-bottom: 6px;
98
+ }
99
+
100
+ .issue-fix-content {
101
+ color: var(--fix-text);
102
+ font-size: 13px;
103
+ line-height: 1.5;
104
+ }
105
+
106
+ .issue-group {
107
+ background: var(--bg-secondary);
108
+ border: 1px solid var(--border-color);
109
+ border-radius: 8px;
110
+ margin-bottom: 12px;
111
+ overflow: hidden;
112
+ }
113
+
114
+ .issue-group-header {
115
+ display: flex;
116
+ align-items: center;
117
+ padding: 12px 16px;
118
+ cursor: pointer;
119
+ background: var(--bg-primary);
120
+ border-bottom: 1px solid var(--border-color);
121
+ transition: background-color 0.2s;
122
+ }
123
+
124
+ .issue-group-header:hover {
125
+ background: var(--bg-secondary);
126
+ }
127
+
128
+ .issue-group-info {
129
+ display: flex;
130
+ align-items: center;
131
+ gap: 10px;
132
+ flex: 1;
133
+ }
134
+
135
+ .expand-icon {
136
+ font-size: 12px;
137
+ transition: transform 0.2s;
138
+ width: 16px;
139
+ }
140
+
141
+ .issue-count {
142
+ color: var(--text-secondary);
143
+ font-size: 13px;
144
+ font-weight: 500;
145
+ }
146
+
147
+ .issue-group-preview {
148
+ padding: 8px 16px 8px 48px;
149
+ color: var(--text-secondary);
150
+ font-size: 13px;
151
+ border-bottom: 1px solid var(--border-color);
152
+ }
153
+
154
+ .issue-group-items {
155
+ display: none;
156
+ padding: 8px 0;
157
+ }
158
+
159
+ .issue-group.expanded .issue-group-items {
160
+ display: block;
161
+ }
162
+
163
+ .issue-group.expanded .expand-icon {
164
+ transform: rotate(0deg);
165
+ }
166
+
167
+ .issue-item.grouped {
168
+ margin: 4px 16px 4px 48px;
169
+ padding: 12px;
170
+ border-left: 3px solid var(--border-color);
171
+ }
172
+
173
+ .issue-number {
174
+ display: inline-block;
175
+ background: var(--bg-tertiary);
176
+ color: var(--text-secondary);
177
+ font-size: 11px;
178
+ font-weight: 600;
179
+ padding: 2px 8px;
180
+ border-radius: 4px;
181
+ margin-bottom: 6px;
182
+ }
183
+
184
+ .issue-fix.grouped {
185
+ margin: 12px 16px 8px 48px;
186
+ }
187
+
188
+ .issue-code-link {
189
+ font-family: 'Monaco', 'Courier New', monospace;
190
+ font-size: 12px;
191
+ color: #2563eb;
192
+ background: var(--bg-secondary);
193
+ padding: 3px 8px;
194
+ border-radius: 3px;
195
+ text-decoration: none;
196
+ transition: all 0.2s;
197
+ }
198
+
199
+ .issue-code-link:hover {
200
+ background: #dbeafe;
201
+ color: #1e40af;
202
+ }
203
+
204
+ .dark-mode .issue-code-link {
205
+ color: #60a5fa;
206
+ }
207
+
208
+ .dark-mode .issue-code-link:hover {
209
+ background: #1e3a8a;
210
+ color: #93c5fd;
211
+ }