cognite-toolkit 0.5.97__py3-none-any.whl → 0.7.34__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 (769) hide show
  1. cognite_toolkit/_cdf.py +24 -26
  2. cognite_toolkit/_cdf_tk/apps/__init__.py +10 -2
  3. cognite_toolkit/_cdf_tk/apps/_core_app.py +21 -7
  4. cognite_toolkit/_cdf_tk/apps/_data_app.py +24 -0
  5. cognite_toolkit/_cdf_tk/apps/_dev_app.py +86 -0
  6. cognite_toolkit/_cdf_tk/apps/_download_app.py +1146 -0
  7. cognite_toolkit/_cdf_tk/apps/_dump_app.py +302 -92
  8. cognite_toolkit/_cdf_tk/apps/_import_app.py +41 -0
  9. cognite_toolkit/_cdf_tk/apps/_landing_app.py +18 -4
  10. cognite_toolkit/_cdf_tk/apps/_migrate_app.py +890 -34
  11. cognite_toolkit/_cdf_tk/apps/_modules_app.py +24 -0
  12. cognite_toolkit/_cdf_tk/apps/_profile_app.py +13 -3
  13. cognite_toolkit/_cdf_tk/apps/_purge.py +188 -27
  14. cognite_toolkit/_cdf_tk/apps/_run.py +11 -0
  15. cognite_toolkit/_cdf_tk/apps/_upload_app.py +107 -0
  16. cognite_toolkit/_cdf_tk/builders/__init__.py +2 -2
  17. cognite_toolkit/_cdf_tk/builders/_base.py +35 -49
  18. cognite_toolkit/_cdf_tk/builders/_datamodels.py +4 -4
  19. cognite_toolkit/_cdf_tk/builders/_file.py +5 -5
  20. cognite_toolkit/_cdf_tk/builders/_function.py +7 -7
  21. cognite_toolkit/_cdf_tk/builders/_location.py +3 -3
  22. cognite_toolkit/_cdf_tk/builders/_raw.py +9 -9
  23. cognite_toolkit/_cdf_tk/builders/_streamlit.py +4 -4
  24. cognite_toolkit/_cdf_tk/builders/_transformation.py +4 -4
  25. cognite_toolkit/_cdf_tk/cdf_toml.py +33 -10
  26. cognite_toolkit/_cdf_tk/client/__init__.py +2 -1
  27. cognite_toolkit/_cdf_tk/client/_toolkit_client.py +36 -58
  28. cognite_toolkit/_cdf_tk/client/api/canvas.py +2 -1
  29. cognite_toolkit/_cdf_tk/client/api/charts.py +125 -0
  30. cognite_toolkit/_cdf_tk/client/api/extended_data_modeling.py +0 -13
  31. cognite_toolkit/_cdf_tk/client/api/extended_files.py +68 -2
  32. cognite_toolkit/_cdf_tk/client/api/extended_functions.py +80 -0
  33. cognite_toolkit/_cdf_tk/client/api/extended_timeseries.py +1 -1
  34. cognite_toolkit/_cdf_tk/client/api/infield.py +254 -0
  35. cognite_toolkit/_cdf_tk/client/api/location_filters.py +19 -1
  36. cognite_toolkit/_cdf_tk/client/api/lookup.py +176 -71
  37. cognite_toolkit/_cdf_tk/client/api/migration.py +375 -19
  38. cognite_toolkit/_cdf_tk/client/api/project.py +24 -0
  39. cognite_toolkit/_cdf_tk/client/api/streams.py +89 -0
  40. cognite_toolkit/_cdf_tk/client/api/three_d.py +131 -0
  41. cognite_toolkit/_cdf_tk/client/config.py +120 -0
  42. cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +17 -0
  43. cognite_toolkit/_cdf_tk/client/data_classes/base.py +71 -0
  44. cognite_toolkit/_cdf_tk/client/data_classes/canvas.py +86 -8
  45. cognite_toolkit/_cdf_tk/client/data_classes/charts.py +114 -0
  46. cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py +184 -0
  47. cognite_toolkit/_cdf_tk/client/data_classes/infield.py +116 -0
  48. cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +162 -0
  49. cognite_toolkit/_cdf_tk/client/data_classes/instances.py +24 -2
  50. cognite_toolkit/_cdf_tk/client/data_classes/migration.py +205 -74
  51. cognite_toolkit/_cdf_tk/client/data_classes/project.py +41 -0
  52. cognite_toolkit/_cdf_tk/client/data_classes/search_config.py +50 -35
  53. cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py +11 -11
  54. cognite_toolkit/_cdf_tk/client/data_classes/streams.py +90 -0
  55. cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +53 -0
  56. cognite_toolkit/_cdf_tk/client/testing.py +60 -4
  57. cognite_toolkit/_cdf_tk/commands/__init__.py +11 -14
  58. cognite_toolkit/_cdf_tk/commands/_base.py +8 -1
  59. cognite_toolkit/_cdf_tk/commands/_changes.py +3 -42
  60. cognite_toolkit/_cdf_tk/commands/_download.py +154 -0
  61. cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py +2 -8
  62. cognite_toolkit/_cdf_tk/commands/_migrate/command.py +309 -0
  63. cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +373 -0
  64. cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +232 -0
  65. cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +244 -132
  66. cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +471 -0
  67. cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +108 -29
  68. cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +137 -0
  69. cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +212 -0
  70. cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +456 -0
  71. cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py +27 -18
  72. cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py +71 -0
  73. cognite_toolkit/_cdf_tk/commands/_profile.py +139 -42
  74. cognite_toolkit/_cdf_tk/commands/_purge.py +652 -690
  75. cognite_toolkit/_cdf_tk/commands/_questionary_style.py +16 -0
  76. cognite_toolkit/_cdf_tk/commands/_upload.py +289 -0
  77. cognite_toolkit/_cdf_tk/commands/_utils.py +1 -24
  78. cognite_toolkit/_cdf_tk/commands/about.py +221 -0
  79. cognite_toolkit/_cdf_tk/commands/auth.py +45 -25
  80. cognite_toolkit/_cdf_tk/commands/build_cmd.py +69 -109
  81. cognite_toolkit/_cdf_tk/commands/build_v2/build_cmd.py +241 -0
  82. cognite_toolkit/_cdf_tk/commands/build_v2/build_input.py +85 -0
  83. cognite_toolkit/_cdf_tk/commands/build_v2/build_issues.py +27 -0
  84. cognite_toolkit/_cdf_tk/commands/clean.py +84 -31
  85. cognite_toolkit/_cdf_tk/commands/deploy.py +147 -60
  86. cognite_toolkit/_cdf_tk/commands/dump_resource.py +396 -88
  87. cognite_toolkit/_cdf_tk/commands/init.py +219 -18
  88. cognite_toolkit/_cdf_tk/commands/modules.py +158 -82
  89. cognite_toolkit/_cdf_tk/commands/pull.py +33 -40
  90. cognite_toolkit/_cdf_tk/commands/repo.py +1 -1
  91. cognite_toolkit/_cdf_tk/commands/resources.py +179 -0
  92. cognite_toolkit/_cdf_tk/commands/run.py +11 -11
  93. cognite_toolkit/_cdf_tk/constants.py +38 -7
  94. cognite_toolkit/_cdf_tk/cruds/__init__.py +224 -0
  95. cognite_toolkit/_cdf_tk/{loaders/_base_loaders.py → cruds/_base_cruds.py} +64 -130
  96. cognite_toolkit/_cdf_tk/{loaders/_data_loaders.py → cruds/_data_cruds.py} +26 -33
  97. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +98 -0
  98. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/agent_loaders.py → cruds/_resource_cruds/agent.py} +33 -29
  99. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/auth_loaders.py → cruds/_resource_cruds/auth.py} +30 -68
  100. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/classic_loaders.py → cruds/_resource_cruds/classic.py} +84 -121
  101. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +149 -0
  102. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/data_organization_loaders.py → cruds/_resource_cruds/data_organization.py} +13 -49
  103. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/datamodel_loaders.py → cruds/_resource_cruds/datamodel.py} +264 -367
  104. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/extraction_pipeline_loaders.py → cruds/_resource_cruds/extraction_pipeline.py} +54 -96
  105. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +438 -0
  106. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/file_loader.py → cruds/_resource_cruds/file.py} +26 -83
  107. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/function_loaders.py → cruds/_resource_cruds/function.py} +128 -91
  108. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/group_scoped_loader.py → cruds/_resource_cruds/group_scoped.py} +18 -18
  109. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders → cruds/_resource_cruds}/hosted_extractors.py +32 -100
  110. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/industrial_tool_loaders.py → cruds/_resource_cruds/industrial_tool.py} +13 -25
  111. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/location_loaders.py → cruds/_resource_cruds/location.py} +25 -156
  112. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +111 -0
  113. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/raw_loaders.py → cruds/_resource_cruds/raw.py} +17 -25
  114. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/relationship_loader.py → cruds/_resource_cruds/relationship.py} +21 -43
  115. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/robotics_loaders.py → cruds/_resource_cruds/robotics.py} +29 -48
  116. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +94 -0
  117. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/three_d_model_loaders.py → cruds/_resource_cruds/three_d_model.py} +9 -31
  118. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/timeseries_loaders.py → cruds/_resource_cruds/timeseries.py} +200 -96
  119. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/transformation_loaders.py → cruds/_resource_cruds/transformation.py} +150 -141
  120. cognite_toolkit/_cdf_tk/{loaders/_resource_loaders/workflow_loaders.py → cruds/_resource_cruds/workflow.py} +73 -194
  121. cognite_toolkit/_cdf_tk/{loaders → cruds}/_worker.py +33 -41
  122. cognite_toolkit/_cdf_tk/data_classes/__init__.py +2 -0
  123. cognite_toolkit/_cdf_tk/data_classes/_build_files.py +3 -3
  124. cognite_toolkit/_cdf_tk/data_classes/_build_variables.py +120 -14
  125. cognite_toolkit/_cdf_tk/data_classes/_built_modules.py +13 -3
  126. cognite_toolkit/_cdf_tk/data_classes/_built_resources.py +8 -8
  127. cognite_toolkit/_cdf_tk/data_classes/_config_yaml.py +14 -9
  128. cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +22 -0
  129. cognite_toolkit/_cdf_tk/data_classes/_module_resources.py +2 -2
  130. cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +7 -0
  131. cognite_toolkit/_cdf_tk/data_classes/_packages.py +24 -7
  132. cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +43 -0
  133. cognite_toolkit/_cdf_tk/exceptions.py +10 -1
  134. cognite_toolkit/_cdf_tk/feature_flags.py +59 -52
  135. cognite_toolkit/_cdf_tk/hints.py +5 -3
  136. cognite_toolkit/_cdf_tk/plugins.py +2 -1
  137. cognite_toolkit/_cdf_tk/protocols.py +97 -0
  138. cognite_toolkit/_cdf_tk/resource_classes/__init__.py +61 -0
  139. cognite_toolkit/_cdf_tk/resource_classes/agent.py +58 -0
  140. cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py +101 -0
  141. cognite_toolkit/_cdf_tk/resource_classes/authentication.py +15 -0
  142. cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +12 -0
  143. cognite_toolkit/_cdf_tk/resource_classes/cognitefile.py +51 -0
  144. cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py +2 -2
  145. cognite_toolkit/_cdf_tk/resource_classes/containers.py +2 -2
  146. cognite_toolkit/_cdf_tk/resource_classes/data_model.py +51 -0
  147. cognite_toolkit/_cdf_tk/resource_classes/datapoint_subscription.py +77 -0
  148. cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline.py +54 -0
  149. cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline_config.py +15 -0
  150. cognite_toolkit/_cdf_tk/resource_classes/function_schedule.py +1 -5
  151. cognite_toolkit/_cdf_tk/resource_classes/functions.py +12 -1
  152. cognite_toolkit/_cdf_tk/resource_classes/graphql_model.py +50 -0
  153. cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_destination.py +19 -0
  154. cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_job.py +255 -0
  155. cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_mapping.py +117 -0
  156. cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_source.py +390 -0
  157. cognite_toolkit/_cdf_tk/resource_classes/infield_cdm_location_config.py +109 -0
  158. cognite_toolkit/_cdf_tk/resource_classes/infield_location_config.py +94 -0
  159. cognite_toolkit/_cdf_tk/resource_classes/infield_v1.py +100 -0
  160. cognite_toolkit/_cdf_tk/resource_classes/instance.py +93 -0
  161. cognite_toolkit/_cdf_tk/resource_classes/migration.py +28 -0
  162. cognite_toolkit/_cdf_tk/resource_classes/raw_database_table.py +1 -1
  163. cognite_toolkit/_cdf_tk/resource_classes/relationship.py +50 -0
  164. cognite_toolkit/_cdf_tk/resource_classes/robotics/__init__.py +13 -0
  165. cognite_toolkit/_cdf_tk/resource_classes/robotics/capability.py +19 -0
  166. cognite_toolkit/_cdf_tk/resource_classes/robotics/data_postprocessing.py +15 -0
  167. cognite_toolkit/_cdf_tk/resource_classes/robotics/frame.py +25 -0
  168. cognite_toolkit/_cdf_tk/resource_classes/robotics/location.py +12 -0
  169. cognite_toolkit/_cdf_tk/resource_classes/robotics/map.py +16 -0
  170. cognite_toolkit/_cdf_tk/resource_classes/search_config.py +1 -1
  171. cognite_toolkit/_cdf_tk/resource_classes/sequence.py +107 -0
  172. cognite_toolkit/_cdf_tk/resource_classes/streamlit_.py +26 -0
  173. cognite_toolkit/_cdf_tk/resource_classes/streams.py +29 -0
  174. cognite_toolkit/_cdf_tk/resource_classes/transformation_notification.py +8 -0
  175. cognite_toolkit/_cdf_tk/resource_classes/transformations.py +2 -13
  176. cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py +7 -8
  177. cognite_toolkit/_cdf_tk/resource_classes/views.py +4 -4
  178. cognite_toolkit/_cdf_tk/resource_classes/workflow_trigger.py +115 -0
  179. cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +233 -0
  180. cognite_toolkit/_cdf_tk/storageio/__init__.py +69 -0
  181. cognite_toolkit/_cdf_tk/storageio/_annotations.py +105 -0
  182. cognite_toolkit/_cdf_tk/storageio/_applications.py +408 -0
  183. cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +693 -0
  184. cognite_toolkit/_cdf_tk/storageio/_base.py +328 -0
  185. cognite_toolkit/_cdf_tk/storageio/_data_classes.py +91 -0
  186. cognite_toolkit/_cdf_tk/storageio/_datapoints.py +448 -0
  187. cognite_toolkit/_cdf_tk/storageio/_file_content.py +436 -0
  188. cognite_toolkit/_cdf_tk/storageio/_instances.py +225 -0
  189. cognite_toolkit/_cdf_tk/storageio/_raw.py +124 -0
  190. cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +133 -0
  191. cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py +60 -0
  192. cognite_toolkit/_cdf_tk/storageio/selectors/_base.py +80 -0
  193. cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py +22 -0
  194. cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py +45 -0
  195. cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py +89 -0
  196. cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py +164 -0
  197. cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py +162 -0
  198. cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py +24 -0
  199. cognite_toolkit/_cdf_tk/storageio/selectors/_three_d.py +34 -0
  200. cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +5 -3
  201. cognite_toolkit/_cdf_tk/tk_warnings/other.py +9 -1
  202. cognite_toolkit/_cdf_tk/tracker.py +21 -22
  203. cognite_toolkit/_cdf_tk/utils/__init__.py +2 -2
  204. cognite_toolkit/_cdf_tk/utils/_auxiliary.py +11 -2
  205. cognite_toolkit/_cdf_tk/utils/aggregators.py +121 -16
  206. cognite_toolkit/_cdf_tk/utils/auxiliary.py +23 -0
  207. cognite_toolkit/_cdf_tk/utils/cdf.py +10 -6
  208. cognite_toolkit/_cdf_tk/utils/cli_args.py +34 -0
  209. cognite_toolkit/_cdf_tk/utils/collection.py +42 -1
  210. cognite_toolkit/_cdf_tk/utils/dtype_conversion.py +307 -15
  211. cognite_toolkit/_cdf_tk/utils/file.py +55 -2
  212. cognite_toolkit/_cdf_tk/utils/fileio/__init__.py +61 -0
  213. cognite_toolkit/_cdf_tk/utils/fileio/_base.py +32 -0
  214. cognite_toolkit/_cdf_tk/utils/fileio/_compression.py +61 -0
  215. cognite_toolkit/_cdf_tk/utils/fileio/_readers.py +422 -0
  216. cognite_toolkit/_cdf_tk/utils/fileio/_writers.py +429 -0
  217. cognite_toolkit/_cdf_tk/utils/graphql_parser.py +4 -0
  218. cognite_toolkit/_cdf_tk/utils/http_client/__init__.py +69 -0
  219. cognite_toolkit/_cdf_tk/utils/http_client/_client.py +536 -0
  220. cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py +412 -0
  221. cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +249 -0
  222. cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +4 -0
  223. cognite_toolkit/_cdf_tk/utils/http_client/_tracker.py +34 -0
  224. cognite_toolkit/_cdf_tk/utils/interactive_select.py +452 -57
  225. cognite_toolkit/_cdf_tk/utils/modules.py +10 -14
  226. cognite_toolkit/_cdf_tk/utils/producer_worker.py +216 -58
  227. cognite_toolkit/_cdf_tk/utils/progress_tracker.py +87 -0
  228. cognite_toolkit/_cdf_tk/utils/sentry_utils.py +1 -1
  229. cognite_toolkit/_cdf_tk/utils/sql_parser.py +2 -3
  230. cognite_toolkit/_cdf_tk/utils/text.py +55 -0
  231. cognite_toolkit/_cdf_tk/utils/thread_safe_dict.py +99 -0
  232. cognite_toolkit/_cdf_tk/utils/useful_types.py +27 -1
  233. cognite_toolkit/_cdf_tk/utils/validate_access.py +350 -36
  234. cognite_toolkit/_cdf_tk/validation.py +143 -76
  235. cognite_toolkit/_repo_files/.gitignore +2 -0
  236. cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml +1 -1
  237. cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml +1 -1
  238. cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
  239. cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
  240. cognite_toolkit/_resources/cdf.toml +18 -0
  241. cognite_toolkit/_version.py +1 -1
  242. cognite_toolkit/config.dev.yaml +9 -3
  243. cognite_toolkit/demo/_base.py +3 -3
  244. {cognite_toolkit-0.5.97.dist-info → cognite_toolkit-0.7.34.dist-info}/METADATA +24 -23
  245. cognite_toolkit-0.7.34.dist-info/RECORD +320 -0
  246. cognite_toolkit-0.7.34.dist-info/WHEEL +4 -0
  247. {cognite_toolkit-0.5.97.dist-info → cognite_toolkit-0.7.34.dist-info}/entry_points.txt +1 -0
  248. cognite_toolkit/_builtin_modules/README.md +0 -7
  249. cognite_toolkit/_builtin_modules/bootcamp/README.md +0 -5
  250. cognite_toolkit/_builtin_modules/bootcamp/default.config.yaml +0 -3
  251. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/default.config.yaml +0 -9
  252. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/handler.py +0 -168
  253. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/ice_cream_factory_api.py +0 -61
  254. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/requirements.txt +0 -3
  255. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/module.toml +0 -3
  256. cognite_toolkit/_builtin_modules/bootcamp/module.toml +0 -3
  257. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/default.config.yaml +0 -6
  258. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/functions/oee_timeseries/handler.py +0 -229
  259. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/functions/oee_timeseries/requirements.txt +0 -2
  260. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/module.toml +0 -3
  261. cognite_toolkit/_builtin_modules/cdf.toml +0 -13
  262. cognite_toolkit/_builtin_modules/cdf_common/data_models/demo.Space.yaml +0 -3
  263. cognite_toolkit/_builtin_modules/cdf_common/data_sets/demo.DataSet.yaml +0 -3
  264. cognite_toolkit/_builtin_modules/cdf_common/default.config.yaml +0 -8
  265. cognite_toolkit/_builtin_modules/cdf_common/extraction_pipelines/ctx_files_direct_relation_write.ExtractionPipeline.yaml +0 -54
  266. cognite_toolkit/_builtin_modules/cdf_common/extraction_pipelines/ctx_files_direct_relation_write.config.yaml +0 -28
  267. cognite_toolkit/_builtin_modules/cdf_common/functions/contextualization_connection_writer/handler.py +0 -342
  268. cognite_toolkit/_builtin_modules/cdf_common/functions/contextualization_connection_writer/requirements.txt +0 -3
  269. cognite_toolkit/_builtin_modules/cdf_common/functions/write.Function.yaml +0 -7
  270. cognite_toolkit/_builtin_modules/cdf_common/module.toml +0 -3
  271. cognite_toolkit/_builtin_modules/cdf_common/raw/contextualization_state.DataBase.yaml +0 -1
  272. cognite_toolkit/_builtin_modules/cdf_common/raw/contextualization_state.Table.yaml +0 -2
  273. cognite_toolkit/_builtin_modules/cdf_common/raw/source.DataBase.yaml +0 -1
  274. cognite_toolkit/_builtin_modules/cdf_ingestion/auth/user.Group.yaml +0 -124
  275. cognite_toolkit/_builtin_modules/cdf_ingestion/auth/workflow.Group.yaml +0 -114
  276. cognite_toolkit/_builtin_modules/cdf_ingestion/default.config.yaml +0 -34
  277. cognite_toolkit/_builtin_modules/cdf_ingestion/module.toml +0 -9
  278. cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/ingest.Workflow.yaml +0 -3
  279. cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/trigger.WorkflowTrigger.yaml +0 -9
  280. cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/v1.WorkflowVersion.yaml +0 -150
  281. cognite_toolkit/_builtin_modules/common/README.md +0 -5
  282. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/apm.datamodel.yaml +0 -18
  283. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/apm_config.datamodel.yaml +0 -10
  284. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/config.space.yaml +0 -3
  285. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Activity.container.yaml +0 -108
  286. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Notification.container.yaml +0 -85
  287. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Operation.container.yaml +0 -83
  288. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/ApmConfig.container.yaml +0 -39
  289. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/source.space.yaml +0 -3
  290. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Activity.view.yaml +0 -119
  291. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Notification.view.yaml +0 -84
  292. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Operation.view.yaml +0 -86
  293. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/ApmConfig.view.yaml +0 -48
  294. cognite_toolkit/_builtin_modules/common/cdf_apm_base/default.config.yaml +0 -1
  295. cognite_toolkit/_builtin_modules/common/cdf_apm_base/module.toml +0 -3
  296. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/README.md +0 -23
  297. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/auth/admin.readonly.group.yaml +0 -265
  298. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/auth/admin.readwrite.group.yaml +0 -329
  299. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/default.config.yaml +0 -2
  300. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/module.toml +0 -2
  301. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/default.config.yaml +0 -10
  302. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/module.toml +0 -13
  303. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_asset.Transformation.sql +0 -31
  304. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_asset.Transformation.yaml +0 -13
  305. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_equipment.Transformation.sql +0 -31
  306. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_equipment.Transformation.yaml +0 -14
  307. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_timeseries.Transformation.sql +0 -34
  308. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_timeseries.Transformation.yaml +0 -13
  309. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_asset.Transformation.sql +0 -32
  310. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_asset.Transformation.yaml +0 -14
  311. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_equipment.Transformation.sql +0 -32
  312. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_equipment.Transformation.yaml +0 -13
  313. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/auth/workflow.Group.yaml +0 -83
  314. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/data_models/annotation_type.Node.yaml +0 -2
  315. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/data_models/sourceSystem.node.yaml +0 -13
  316. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/default.config.yaml +0 -16
  317. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/extraction_pipelines/ctx_files_entity_matcher.ExtractionPipeline.yaml +0 -48
  318. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/extraction_pipelines/ctx_files_entity_matcher.config.yaml +0 -35
  319. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/contextualization_entity_matcher/handler.py +0 -476
  320. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/contextualization_entity_matcher/requirements.txt +0 -3
  321. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/functions.Function.yaml +0 -7
  322. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/module.toml +0 -23
  323. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/raw/state.Table.yaml +0 -2
  324. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/entity_matching.Workflow.yaml +0 -3
  325. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/trigger.WorkflowTrigger.yaml +0 -9
  326. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/v1.WorkflowVersion.yaml +0 -22
  327. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/auth/function.Group.yaml +0 -89
  328. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/data_models/sourceSystem.node.yaml +0 -13
  329. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/default.config.yaml +0 -13
  330. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/extraction_pipelines/ctx_files_pandid_annotater.ExtractionPipeline.yaml +0 -44
  331. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/extraction_pipelines/ctx_files_pandid_annotater.config.yaml +0 -33
  332. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/contextualization_p_and_id_annotater/handler.py +0 -405
  333. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/contextualization_p_and_id_annotater/requirements.txt +0 -3
  334. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/functions.Function.yaml +0 -7
  335. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/module.toml +0 -25
  336. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/p_and_id_parser.Workflow.yaml +0 -3
  337. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/trigger.WorkflowTrigger.yaml +0 -9
  338. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/v1.WorkflowVersion.yaml +0 -22
  339. cognite_toolkit/_builtin_modules/custom/my_module/auth/.gitkeep +0 -0
  340. cognite_toolkit/_builtin_modules/custom/my_module/default.config.yaml +0 -1
  341. cognite_toolkit/_builtin_modules/custom/my_module/module.toml +0 -2
  342. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/classic/root.Asset.yaml +0 -9
  343. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/data_sets/data_sets.DataSet.yaml +0 -3
  344. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/default.config.yaml +0 -4
  345. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/locations/individualFilters.LocationFilter.yaml +0 -19
  346. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/locations/oneFilter.LocationFilter.yaml +0 -12
  347. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/module.toml +0 -2
  348. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/data_models/instance.Space.yaml +0 -2
  349. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/default.config.yaml +0 -2
  350. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/locations/dataModel.LocationFilter.yaml +0 -17
  351. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/module.toml +0 -2
  352. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/auth/locationfilter.Group.yaml +0 -12
  353. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/default.config.yaml +0 -3
  354. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/locations/user.LocationFilter.yaml +0 -9
  355. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/module.toml +0 -5
  356. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/README.md +0 -3
  357. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/auth/applications-configuration.Group.yaml +0 -22
  358. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/data_models/infieldAppData.space.yaml +0 -3
  359. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/data_models/infield_apm_app_config.node.yaml +0 -28
  360. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/default.config.yaml +0 -2
  361. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/module.toml +0 -6
  362. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/README.md +0 -61
  363. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_checklist_admin_role.group.yaml +0 -100
  364. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_normal_role.group.yaml +0 -100
  365. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_template_admin_role.group.yaml +0 -100
  366. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_viewer_role.group.yaml +0 -85
  367. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_models/infieldLocationAppData.space.yaml +0 -3
  368. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_models/infieldLocationSourceData.space.yaml +0 -3
  369. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_sets/location_app_data_set.DataSet.yaml +0 -3
  370. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_sets/location_source_data_set.DataSet.yaml +0 -20
  371. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/default.config.yaml +0 -23
  372. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/module.toml +0 -3
  373. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.sql +0 -34
  374. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.yaml +0 -24
  375. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.schedule.yaml +0 -3
  376. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.sql +0 -17
  377. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.yaml +0 -25
  378. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.schedule.yaml +0 -3
  379. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/README.md +0 -61
  380. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_checklist_admin_role.group.yaml +0 -100
  381. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_normal_role.group.yaml +0 -100
  382. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_template_admin_role.group.yaml +0 -100
  383. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_viewer_role.group.yaml +0 -85
  384. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_models/infieldLocationAppData.space.yaml +0 -3
  385. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_models/infieldLocationSourceData.space.yaml +0 -3
  386. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_sets/location_app_data_set.DataSet.yaml +0 -3
  387. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_sets/location_source_data_set.DataSet.yaml +0 -20
  388. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/default.config.yaml +0 -23
  389. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/module.toml +0 -3
  390. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.sql +0 -34
  391. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.yaml +0 -24
  392. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.schedule.yaml +0 -3
  393. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.sql +0 -17
  394. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.yaml +0 -25
  395. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.schedule.yaml +0 -3
  396. cognite_toolkit/_builtin_modules/infield/default.config.yaml +0 -21
  397. cognite_toolkit/_builtin_modules/inrobot/README.md +0 -41
  398. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/README.md +0 -53
  399. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/auth/run-function-user.Group.yaml +0 -89
  400. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/classic/robot.Label.yaml +0 -6
  401. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_models/cogniteAppData.space.yaml +0 -3
  402. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_models/inrobotApmConfig.node.yaml +0 -17
  403. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_sets/robot_1.dataset.yaml +0 -2
  404. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/default.config.yaml +0 -3
  405. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/.gitkeep +0 -0
  406. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/README.md +0 -30
  407. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/__init__.py +0 -1
  408. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/README.md +0 -58
  409. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/__init__.py +0 -0
  410. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/apm_helpers.py +0 -269
  411. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/cdf_helpers.py +0 -112
  412. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/__init__.py +0 -0
  413. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/common.py +0 -16
  414. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/vision.py +0 -66
  415. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/utils.py +0 -17
  416. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/handler.py +0 -269
  417. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/requirements.txt +0 -22
  418. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/README.md +0 -56
  419. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/__init__.py +0 -1
  420. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/README.md +0 -58
  421. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/__init__.py +0 -0
  422. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/apm_helpers.py +0 -269
  423. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/cdf_helpers.py +0 -112
  424. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/__init__.py +0 -0
  425. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/common.py +0 -16
  426. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/vision.py +0 -66
  427. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/utils.py +0 -17
  428. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/handler.py +0 -396
  429. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/requirements.txt +0 -22
  430. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/README.md +0 -18
  431. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/__init__.py +0 -1
  432. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/README.md +0 -58
  433. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/__init__.py +0 -0
  434. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/apm_helpers.py +0 -269
  435. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/cdf_helpers.py +0 -112
  436. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/__init__.py +0 -0
  437. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/common.py +0 -16
  438. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/vision.py +0 -66
  439. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/utils.py +0 -17
  440. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/handler.py +0 -195
  441. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/requirements.txt +0 -23
  442. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/README.md +0 -14
  443. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/__init__.py +0 -1
  444. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/cognite_threesixty_images.py +0 -284
  445. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/handler.py +0 -257
  446. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/requirements.txt +0 -7
  447. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/robots.functions.Function.yaml +0 -51
  448. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/schedules.Schedule.yaml +0 -94
  449. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/module.toml +0 -6
  450. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/acoustic_video.RobotCapability.yaml +0 -72
  451. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/process_threesixty.DataPostProcessing.yaml +0 -23
  452. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/pt_ir_video.RobotCapability.yaml +0 -64
  453. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz.RobotCapability.yaml +0 -63
  454. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz_ir.RobotCapability.yaml +0 -80
  455. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz_video.RobotCapability.yaml +0 -68
  456. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_dial_gauge.DataPostProcessing.yaml +0 -31
  457. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_digital_gauge.DataPostProcessing.yaml +0 -35
  458. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_level_gauge.DataPostProcessing.yaml +0 -29
  459. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_valve.DataPostProcessing.yaml +0 -23
  460. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/threesixty.RobotCapability.yaml +0 -47
  461. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/threesixty_video.RobotCapability.yaml +0 -47
  462. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/README.md +0 -33
  463. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/inrobot-admin.Group.yaml +0 -107
  464. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/inrobot-users.Group.yaml +0 -94
  465. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/robot-1.Group.yaml +0 -77
  466. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/data_models/locationAppData.space.yaml +0 -3
  467. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/data_models/locationSourceData.space.yaml +0 -3
  468. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/default.config.yaml +0 -7
  469. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/module.toml +0 -3
  470. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Frame.yaml +0 -15
  471. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Location.yaml +0 -3
  472. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Map.yaml +0 -10
  473. cognite_toolkit/_builtin_modules/inrobot/default.config.yaml +0 -3
  474. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Activity.Container.yaml +0 -13
  475. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Asset.Container.yaml +0 -13
  476. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Equipment.Container.yaml +0 -13
  477. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/File.Container.yaml +0 -13
  478. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/TimeSeries.Container.yaml +0 -13
  479. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/enterprise.datamodel.yaml +0 -54
  480. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/schema.space.yaml +0 -1
  481. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Activity.view.yaml +0 -69
  482. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Asset.view.yaml +0 -186
  483. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Equipment.view.yaml +0 -100
  484. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/File.view.yaml +0 -72
  485. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/TimeSeries.view.yaml +0 -85
  486. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/default.config.yaml +0 -2
  487. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/module.toml +0 -2
  488. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360Image.Container.yaml +0 -13
  489. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageAnnotation.Container.yaml +0 -13
  490. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageCollection.Container.yaml +0 -13
  491. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageModel.Container.yaml +0 -13
  492. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageStation.Container.yaml +0 -13
  493. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DModel.Container.yaml +0 -13
  494. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DObject.Container.yaml +0 -13
  495. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DRevision.Container.yaml +0 -13
  496. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DTransformation.Container.yaml +0 -13
  497. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Activity.Container.yaml +0 -13
  498. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Annotation.Container.yaml +0 -14
  499. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Asset.Container.yaml +0 -13
  500. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/AssetClass.Container.yaml +0 -13
  501. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/AssetType.Container.yaml +0 -13
  502. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADModel.Container.yaml +0 -13
  503. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADNode.Container.yaml +0 -13
  504. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADRevision.Container.yaml +0 -13
  505. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CubeMap.Container.yaml +0 -13
  506. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Describable.Container.yaml +0 -13
  507. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/DiagramAnnotation.Container.yaml +0 -13
  508. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Equipment.Container.yaml +0 -13
  509. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/EquipmentType.Container.yaml +0 -13
  510. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/File.Container.yaml +0 -13
  511. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/FileCategory.Container.yaml +0 -13
  512. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudModel.Container.yaml +0 -13
  513. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudRevision.Container.yaml +0 -13
  514. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudVolume.Container.yaml +0 -13
  515. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Schedulable.Container.yaml +0 -13
  516. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/SourceSystem.Container.yaml +0 -13
  517. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Sourceable.Container.yaml +0 -13
  518. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/TimeSeries.Container.yaml +0 -13
  519. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Unit.Container.yaml +0 -13
  520. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Visualizable.Container.yaml +0 -13
  521. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/enterprise.datamodel.yaml +0 -138
  522. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/schema.space.yaml +0 -1
  523. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360Image.view.yaml +0 -119
  524. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageAnnotation.view.yaml +0 -28
  525. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageCollection.view.yaml +0 -39
  526. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageModel.view.yaml +0 -55
  527. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageStation.view.yaml +0 -29
  528. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DModel.view.yaml +0 -29
  529. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DObject.view.yaml +0 -81
  530. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DRevision.view.yaml +0 -30
  531. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DTransformation.view.yaml +0 -23
  532. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Activity.view.yaml +0 -69
  533. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Annotation.view.yaml +0 -28
  534. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Asset.view.yaml +0 -191
  535. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/AssetClass.view.yaml +0 -17
  536. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/AssetType.view.yaml +0 -31
  537. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADModel.view.yaml +0 -55
  538. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADNode.view.yaml +0 -53
  539. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADRevision.view.yaml +0 -39
  540. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CubeMap.view.yaml +0 -97
  541. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Describable.view.yaml +0 -19
  542. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/DiagramAnnotation.view.yaml +0 -28
  543. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Equipment.view.yaml +0 -100
  544. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/EquipmentType.view.yaml +0 -17
  545. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/File.view.yaml +0 -72
  546. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/FileCategory.view.yaml +0 -18
  547. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudModel.view.yaml +0 -55
  548. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudRevision.view.yaml +0 -39
  549. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudVolume.view.yaml +0 -52
  550. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Schedulable.view.yaml +0 -17
  551. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/SourceSystem.view.yaml +0 -17
  552. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Sourceable.view.yaml +0 -27
  553. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/TimeSeries.view.yaml +0 -85
  554. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Unit.view.yaml +0 -16
  555. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Visualizable.view.yaml +0 -29
  556. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/default.config.yaml +0 -2
  557. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/module.toml +0 -2
  558. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Activity.Container.yaml +0 -13
  559. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Asset.Container.yaml +0 -13
  560. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Equipment.Container.yaml +0 -13
  561. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/File.Container.yaml +0 -13
  562. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/MaintenanceOrder.Container.yaml +0 -13
  563. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Notification.Container.yaml +0 -13
  564. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Operation.Container.yaml +0 -13
  565. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/TimeSeries.Container.yaml +0 -13
  566. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/enterprise.datamodel.yaml +0 -66
  567. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/schema.space.yaml +0 -1
  568. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Activity.view.yaml +0 -69
  569. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Asset.view.yaml +0 -186
  570. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Equipment.view.yaml +0 -100
  571. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/File.view.yaml +0 -72
  572. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/MaintenanceOrder.view.yaml +0 -100
  573. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Notification.view.yaml +0 -56
  574. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Operation.view.yaml +0 -96
  575. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/TimeSeries.view.yaml +0 -85
  576. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/default.config.yaml +0 -3
  577. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/module.toml +0 -2
  578. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360Image.Container.yaml +0 -13
  579. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageAnnotation.Container.yaml +0 -14
  580. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageCollection.Container.yaml +0 -13
  581. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageModel.Container.yaml +0 -13
  582. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageStation.Container.yaml +0 -13
  583. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DModel.Container.yaml +0 -13
  584. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DObject.Container.yaml +0 -13
  585. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DRevision.Container.yaml +0 -13
  586. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DTransformation.Container.yaml +0 -13
  587. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Activity.Container.yaml +0 -13
  588. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Annotation.Container.yaml +0 -14
  589. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Asset.Container.yaml +0 -13
  590. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/AssetClass.Container.yaml +0 -13
  591. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/AssetType.Container.yaml +0 -13
  592. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADModel.Container.yaml +0 -13
  593. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADNode.Container.yaml +0 -13
  594. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADRevision.Container.yaml +0 -13
  595. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CubeMap.Container.yaml +0 -13
  596. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Describable.Container.yaml +0 -13
  597. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/DiagramAnnotation.Container.yaml +0 -14
  598. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Equipment.Container.yaml +0 -13
  599. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/EquipmentType.Container.yaml +0 -13
  600. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/File.Container.yaml +0 -13
  601. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/FileCategory.Container.yaml +0 -13
  602. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/MaintenanceOrder.Container.yaml +0 -13
  603. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Notification.Container.yaml +0 -13
  604. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Operation.Container.yaml +0 -13
  605. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudModel.Container.yaml +0 -13
  606. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudRevision.Container.yaml +0 -13
  607. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudVolume.Container.yaml +0 -13
  608. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Schedulable.Container.yaml +0 -13
  609. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/SourceSystem.Container.yaml +0 -13
  610. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Sourceable.Container.yaml +0 -13
  611. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/TimeSeries.Container.yaml +0 -13
  612. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Unit.Container.yaml +0 -13
  613. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Visualizable.Container.yaml +0 -13
  614. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/enterprise.datamodel.yaml +0 -150
  615. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/schema.space.yaml +0 -1
  616. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360Image.view.yaml +0 -119
  617. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageAnnotation.view.yaml +0 -28
  618. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageCollection.view.yaml +0 -39
  619. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageModel.view.yaml +0 -55
  620. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageStation.view.yaml +0 -29
  621. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DModel.view.yaml +0 -29
  622. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DObject.view.yaml +0 -81
  623. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DRevision.view.yaml +0 -30
  624. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DTransformation.view.yaml +0 -23
  625. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Activity.view.yaml +0 -69
  626. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Annotation.view.yaml +0 -28
  627. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Asset.view.yaml +0 -191
  628. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/AssetClass.view.yaml +0 -17
  629. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/AssetType.view.yaml +0 -31
  630. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADModel.view.yaml +0 -55
  631. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADNode.view.yaml +0 -53
  632. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADRevision.view.yaml +0 -39
  633. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CubeMap.view.yaml +0 -97
  634. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Describable.view.yaml +0 -19
  635. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/DiagramAnnotation.view.yaml +0 -28
  636. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Equipment.view.yaml +0 -100
  637. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/EquipmentType.view.yaml +0 -17
  638. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/File.view.yaml +0 -72
  639. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/FileCategory.view.yaml +0 -18
  640. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/MaintenanceOrder.view.yaml +0 -100
  641. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Notification.view.yaml +0 -56
  642. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Operation.view.yaml +0 -96
  643. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudModel.view.yaml +0 -55
  644. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudRevision.view.yaml +0 -39
  645. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudVolume.view.yaml +0 -52
  646. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Schedulable.view.yaml +0 -17
  647. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/SourceSystem.view.yaml +0 -17
  648. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Sourceable.view.yaml +0 -27
  649. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/TimeSeries.view.yaml +0 -85
  650. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Unit.view.yaml +0 -16
  651. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Visualizable.view.yaml +0 -29
  652. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/default.config.yaml +0 -2
  653. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/module.toml +0 -2
  654. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Cdf3dRevisionProperties.Container.yaml +0 -13
  655. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_EnvironmentMap.Container.yaml +0 -12
  656. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Image360CollectionProperties.Container.yaml +0 -23
  657. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Image360CollectionScene.Container.yaml +0 -12
  658. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_SceneConfiguration.Container.yaml +0 -152
  659. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_TexturedMap.Container.yaml +0 -21
  660. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_TexturedPlane.Container.yaml +0 -29
  661. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/scene.Space.yaml +0 -3
  662. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/scene_data_model.DataModel.yaml +0 -66
  663. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/EnvironmentMap.View.yaml +0 -28
  664. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/Image360CollectionProperties.View.yaml +0 -22
  665. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/Image360CollectionScene.View.yaml +0 -20
  666. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/RevisionProperties.View.yaml +0 -16
  667. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/SceneConfiguration.View.yaml +0 -166
  668. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/TexturedMap.View.yaml +0 -17
  669. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/TexturedPlane.View.yaml +0 -40
  670. cognite_toolkit/_builtin_modules/models/cdf_scene/default.config.yaml +0 -1
  671. cognite_toolkit/_builtin_modules/models/cdf_scene/module.toml +0 -2
  672. cognite_toolkit/_builtin_modules/packages.toml +0 -102
  673. cognite_toolkit/_builtin_modules/sourcesystem/README.md +0 -4
  674. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/auth/workflow.Group.yaml +0 -53
  675. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/default.config.yaml +0 -13
  676. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/extraction_pipelines/extractor.Config.yaml +0 -5
  677. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/extraction_pipelines/extractor.ExtractionPipeline.yaml +0 -12
  678. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/module.toml +0 -24
  679. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/raw/timeseries.Table.yaml +0 -2
  680. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/transformations/population/timeseries.Transformation.sql +0 -9
  681. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/transformations/population/timeseries.Transformation.yaml +0 -14
  682. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/population.Workflow.yaml +0 -3
  683. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/trigger.WorkflowTrigger.yaml +0 -9
  684. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/v1.WorkflowVersion.yaml +0 -12
  685. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/auth/workflow.Group.yaml +0 -54
  686. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/default.config.yaml +0 -16
  687. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/module.toml +0 -24
  688. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/raw/dump.Table.yaml +0 -2
  689. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/connection/equipment_to_asset.Transformation.sql +0 -14
  690. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/connection/equipment_to_asset.Transformation.yaml +0 -14
  691. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/asset.Transformation.sql +0 -35
  692. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/asset.Transformation.yaml +0 -14
  693. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/equipment.Transformation.sql +0 -17
  694. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/equipment.Transformation.yaml +0 -13
  695. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/population.Workflow.yaml +0 -3
  696. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/trigger.WorkflowTrigger.yaml +0 -9
  697. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/v1.WorkflowVersion.yaml +0 -28
  698. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/auth/workflow.Group.yaml +0 -46
  699. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/default.config.yaml +0 -15
  700. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/module.toml +0 -20
  701. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workitem.Table.yaml +0 -2
  702. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workorder.Table.yaml +0 -2
  703. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workpackage.Table.yaml +0 -2
  704. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/worktask.Table.yaml +0 -3
  705. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/connection/operation_to_maintenance_order.Transformation.sql +0 -32
  706. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/connection/operation_to_maintenance_order.Transformation.yaml +0 -13
  707. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/maintenanceOrder.Transformation.sql +0 -18
  708. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/maintenanceOrder.Transformation.yaml +0 -14
  709. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/operation.Transformation.sql +0 -18
  710. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/operation.Transformation.yaml +0 -14
  711. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/population.Workflow.yaml +0 -3
  712. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/trigger.WorkflowTrigger.yaml +0 -9
  713. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/v1.WorkflowVersion.yaml +0 -28
  714. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/auth/workflow.Group.yaml +0 -47
  715. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/default.config.yaml +0 -13
  716. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/files/upload.CogniteFile.yaml +0 -4
  717. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/module.toml +0 -26
  718. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/raw/files.Table.yaml +0 -2
  719. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/transformations/population/files.Transformation.sql +0 -9
  720. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/transformations/population/files.Transformation.yaml +0 -13
  721. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/population.Workflow.yaml +0 -3
  722. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/trigger.WorkflowTrigger.yaml +0 -9
  723. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/v1.WorkflowVersion.yaml +0 -11
  724. cognite_toolkit/_cdf_tk/_parameters/__init__.py +0 -18
  725. cognite_toolkit/_cdf_tk/_parameters/constants.py +0 -82
  726. cognite_toolkit/_cdf_tk/_parameters/data_classes.py +0 -200
  727. cognite_toolkit/_cdf_tk/_parameters/functions.py +0 -190
  728. cognite_toolkit/_cdf_tk/_parameters/get_type_hints.py +0 -123
  729. cognite_toolkit/_cdf_tk/_parameters/type_hint.py +0 -116
  730. cognite_toolkit/_cdf_tk/apps/_populate_app.py +0 -80
  731. cognite_toolkit/_cdf_tk/commands/_migrate/assets.py +0 -144
  732. cognite_toolkit/_cdf_tk/commands/_migrate/base.py +0 -88
  733. cognite_toolkit/_cdf_tk/commands/_migrate/canvas.py +0 -145
  734. cognite_toolkit/_cdf_tk/commands/_migrate/files.py +0 -165
  735. cognite_toolkit/_cdf_tk/commands/_migrate/timeseries.py +0 -165
  736. cognite_toolkit/_cdf_tk/commands/_populate.py +0 -306
  737. cognite_toolkit/_cdf_tk/commands/dump_data.py +0 -490
  738. cognite_toolkit/_cdf_tk/commands/featureflag.py +0 -27
  739. cognite_toolkit/_cdf_tk/loaders/__init__.py +0 -198
  740. cognite_toolkit/_cdf_tk/loaders/_resource_loaders/__init__.py +0 -90
  741. cognite_toolkit/_cdf_tk/loaders/_resource_loaders/fieldops_loaders.py +0 -260
  742. cognite_toolkit/_cdf_tk/prototypes/_packages/__init__.py +0 -1
  743. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/manifest.yaml +0 -4
  744. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/auth/reference.Group.yaml +0 -375
  745. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/auth/reference.SecurityCategory.yaml +0 -1
  746. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_models/reference.DataModel.yaml +0 -19
  747. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_models/reference.View.yaml +0 -8
  748. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_sets/reference.DataSet.yaml +0 -8
  749. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/extraction_pipelines/reference.ExtractionPipeline.yaml +0 -27
  750. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/extraction_pipelines/reference.ExtractionPipelineConfig.yaml +0 -3
  751. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/functions/reference.Function.yaml +0 -22
  752. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/functions/reference.FunctionSchedule.yaml +0 -6
  753. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/labels/reference.LabelDefinition.yaml +0 -4
  754. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/timeseries/reference.DataPointSubscription.yaml +0 -7
  755. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.Transformation.yaml +0 -51
  756. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.TransformationNotification.yaml +0 -3
  757. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.TransformationSchedule.yaml +0 -4
  758. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/workflows/reference.WorkflowUpsert.yaml +0 -2
  759. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/workflows/reference.WorkflowVersionUpsert.yaml +0 -10
  760. cognite_toolkit/_cdf_tk/prototypes/_packages/update_references.py +0 -337
  761. cognite_toolkit/_cdf_tk/prototypes/commands/__init__.py +0 -0
  762. cognite_toolkit/_cdf_tk/prototypes/import_app.py +0 -41
  763. cognite_toolkit/_cdf_tk/utils/table_writers.py +0 -434
  764. cognite_toolkit/_cdf_tk/utils/tarjan.py +0 -46
  765. cognite_toolkit-0.5.97.dist-info/RECORD +0 -726
  766. cognite_toolkit-0.5.97.dist-info/WHEEL +0 -4
  767. cognite_toolkit-0.5.97.dist-info/licenses/LICENSE +0 -18
  768. /cognite_toolkit/_cdf_tk/{prototypes/commands/import_.py → commands/_import_cmd.py} +0 -0
  769. /cognite_toolkit/{_builtin_modules → _cdf_tk/commands/build_v2}/__init__.py +0 -0
@@ -18,7 +18,6 @@ import sys
18
18
  import time
19
19
  from collections import defaultdict
20
20
  from collections.abc import Hashable, Iterable, Sequence
21
- from functools import lru_cache
22
21
  from graphlib import CycleError, TopologicalSorter
23
22
  from pathlib import Path
24
23
  from time import sleep
@@ -35,29 +34,26 @@ from cognite.client.data_classes.capabilities import (
35
34
  from cognite.client.data_classes.data_modeling import (
36
35
  Container,
37
36
  ContainerApply,
38
- ContainerApplyList,
39
37
  ContainerList,
40
38
  DataModel,
41
39
  DataModelApply,
42
- DataModelApplyList,
43
40
  DataModelList,
41
+ DirectRelation,
44
42
  Edge,
45
43
  EdgeApply,
46
- EdgeApplyList,
47
44
  EdgeApplyResultList,
48
45
  EdgeList,
46
+ MappedProperty,
49
47
  Node,
50
48
  NodeApply,
51
- NodeApplyList,
52
49
  NodeApplyResultList,
53
50
  NodeList,
51
+ RequiresConstraint,
54
52
  Space,
55
53
  SpaceApply,
56
- SpaceApplyList,
57
54
  SpaceList,
58
55
  View,
59
56
  ViewApply,
60
- ViewApplyList,
61
57
  ViewList,
62
58
  )
63
59
  from cognite.client.data_classes.data_modeling.graphql import DMLApplyResult
@@ -68,7 +64,6 @@ from cognite.client.data_classes.data_modeling.ids import (
68
64
  NodeId,
69
65
  ViewId,
70
66
  )
71
- from cognite.client.data_classes.data_modeling.views import ReverseDirectRelationApply
72
67
  from cognite.client.exceptions import CogniteAPIError
73
68
  from cognite.client.utils.useful_types import SequenceNotStr
74
69
  from rich import print
@@ -76,21 +71,28 @@ from rich.console import Console
76
71
  from rich.markup import escape
77
72
  from rich.panel import Panel
78
73
 
79
- from cognite_toolkit._cdf_tk._parameters import ANY_INT, ANY_STR, ANYTHING, ParameterSpec, ParameterSpecSet
74
+ from cognite_toolkit._cdf_tk import constants
80
75
  from cognite_toolkit._cdf_tk.client import ToolkitClient
81
76
  from cognite_toolkit._cdf_tk.client.data_classes.graphql_data_models import (
82
77
  GraphQLDataModel,
83
78
  GraphQLDataModelList,
84
79
  GraphQLDataModelWrite,
85
- GraphQLDataModelWriteList,
86
80
  )
87
81
  from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING, HAS_DATA_FILTER_LIMIT
82
+ from cognite_toolkit._cdf_tk.cruds._base_cruds import (
83
+ ResourceContainerCRUD,
84
+ ResourceCRUD,
85
+ )
88
86
  from cognite_toolkit._cdf_tk.exceptions import GraphQLParseError, ToolkitCycleError, ToolkitFileNotFoundError
89
- from cognite_toolkit._cdf_tk.loaders._base_loaders import (
90
- ResourceContainerLoader,
91
- ResourceLoader,
87
+ from cognite_toolkit._cdf_tk.resource_classes import (
88
+ ContainerYAML,
89
+ DataModelYAML,
90
+ EdgeYAML,
91
+ GraphQLDataModelYAML,
92
+ NodeYAML,
93
+ SpaceYAML,
94
+ ViewYAML,
92
95
  )
93
- from cognite_toolkit._cdf_tk.resource_classes import SpaceYAML
94
96
  from cognite_toolkit._cdf_tk.tk_warnings import HighSeverityWarning, LowSeverityWarning, MediumSeverityWarning
95
97
  from cognite_toolkit._cdf_tk.utils import (
96
98
  GraphQLParser,
@@ -99,28 +101,24 @@ from cognite_toolkit._cdf_tk.utils import (
99
101
  load_yaml_inject_variables,
100
102
  quote_int_value_by_key_in_yaml,
101
103
  safe_read,
104
+ sanitize_filename,
102
105
  to_diff,
103
- to_directory_compatible,
104
106
  )
105
107
  from cognite_toolkit._cdf_tk.utils.cdf import iterate_instances
106
108
  from cognite_toolkit._cdf_tk.utils.diff_list import diff_list_identifiable, dm_identifier
107
- from cognite_toolkit._cdf_tk.utils.tarjan import tarjan
108
109
 
109
- from .auth_loaders import GroupAllScopedLoader
110
+ from .auth import GroupAllScopedCRUD
110
111
 
111
112
 
112
113
  @final
113
- class SpaceLoader(ResourceContainerLoader[str, SpaceApply, Space, SpaceApplyList, SpaceList]):
114
+ class SpaceCRUD(ResourceContainerCRUD[str, SpaceApply, Space]):
114
115
  item_name = "nodes and edges"
115
- folder_name = "data_models"
116
- filename_pattern = r"^.*space$"
116
+ folder_name = "data_modeling"
117
117
  resource_cls = Space
118
118
  resource_write_cls = SpaceApply
119
- list_write_cls = SpaceApplyList
120
- list_cls = SpaceList
121
119
  kind = "Space"
122
120
  yaml_cls = SpaceYAML
123
- dependencies = frozenset({GroupAllScopedLoader})
121
+ dependencies = frozenset({GroupAllScopedCRUD})
124
122
  _doc_url = "Spaces/operation/ApplySpaces"
125
123
  delete_recreate_limit_seconds: int = 10
126
124
 
@@ -242,19 +240,26 @@ class SpaceLoader(ResourceContainerLoader[str, SpaceApply, Space, SpaceApplyList
242
240
  yield instances.as_ids()
243
241
 
244
242
 
245
- class ContainerLoader(
246
- ResourceContainerLoader[ContainerId, ContainerApply, Container, ContainerApplyList, ContainerList]
247
- ):
243
+ class ContainerCRUD(ResourceContainerCRUD[ContainerId, ContainerApply, Container]):
248
244
  item_name = "nodes and edges"
249
- folder_name = "data_models"
250
- filename_pattern = r"^.*container$"
245
+ folder_name = "data_modeling"
251
246
  resource_cls = Container
252
247
  resource_write_cls = ContainerApply
253
- list_cls = ContainerList
254
- list_write_cls = ContainerApplyList
255
248
  kind = "Container"
256
- dependencies = frozenset({SpaceLoader})
249
+ dependencies = frozenset({SpaceCRUD})
250
+ yaml_cls = ContainerYAML
257
251
  _doc_url = "Containers/operation/ApplyContainers"
252
+ sub_folder_name = "containers"
253
+
254
+ def __init__(
255
+ self,
256
+ client: ToolkitClient,
257
+ build_dir: Path | None,
258
+ console: Console | None = None,
259
+ topological_sort_implements: bool = False,
260
+ ) -> None:
261
+ super().__init__(client, build_dir, console)
262
+ self._container_by_id: dict[ContainerId, Container] = {}
258
263
 
259
264
  @property
260
265
  def display_name(self) -> str:
@@ -275,7 +280,7 @@ class ContainerLoader(
275
280
  else DataModelsAcl.Scope.All()
276
281
  )
277
282
 
278
- return DataModelsAcl(actions, scope) # type: ignore[arg-type]
283
+ return DataModelsAcl(actions, scope)
279
284
 
280
285
  @classmethod
281
286
  def get_id(cls, item: ContainerApply | Container | dict) -> ContainerId:
@@ -291,9 +296,9 @@ class ContainerLoader(
291
296
  return id.dump(include_type=False)
292
297
 
293
298
  @classmethod
294
- def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceLoader], Hashable]]:
299
+ def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
295
300
  if "space" in item:
296
- yield SpaceLoader, item["space"]
301
+ yield SpaceCRUD, item["space"]
297
302
  # Note that we are very careful in the code below to not raise an exception if the
298
303
  # item is not properly formed. If that is the case, an appropriate warning will be given elsewhere.
299
304
  for prop in item.get("properties", {}).values():
@@ -305,12 +310,13 @@ class ContainerLoader(
305
310
  container = prop_type["container"]
306
311
  if "space" in container and "externalId" in container and container.get("type") == "container":
307
312
  yield (
308
- ContainerLoader,
313
+ ContainerCRUD,
309
314
  ContainerId(space=container["space"], external_id=container["externalId"]),
310
315
  )
311
316
 
312
317
  def dump_resource(self, resource: Container, local: dict[str, Any] | None = None) -> dict[str, Any]:
313
318
  dumped = resource.as_write().dump()
319
+ has_local = local is not None
314
320
  local = local or {}
315
321
  for key in ["constraints", "indexes"]:
316
322
  if not dumped.get(key) and key not in local:
@@ -322,15 +328,16 @@ class ContainerLoader(
322
328
  continue
323
329
  local_prop = local_prop_by_id[prop_id]
324
330
  for key, default in [("immutable", False), ("autoIncrement", False), ("nullable", True)]:
325
- if cdf_prop.get(key) is default and key not in local_prop:
331
+ if has_local and cdf_prop.get(key) is default and key not in local_prop:
326
332
  cdf_prop.pop(key, None)
327
333
  cdf_type = cdf_prop.get("type", {})
328
334
  local_type = local_prop.get("type", {})
329
335
  for key, type_default in [("list", False), ("collation", "ucs_basic")]:
330
- if cdf_type.get(key) == type_default and key not in local_type:
336
+ if has_local and cdf_type.get(key) == type_default and key not in local_type:
331
337
  cdf_type.pop(key, None)
332
- if "usedFor" not in local:
333
- dumped.pop("usedFor", None)
338
+ if has_local and "usedFor" not in local and dumped.get("usedFor") == "node":
339
+ # Only drop if set to default by server.
340
+ dumped.pop("usedFor", None)
334
341
  return dumped
335
342
 
336
343
  def create(self, items: Sequence[ContainerApply]) -> ContainerList:
@@ -422,78 +429,89 @@ class ContainerLoader(
422
429
  ):
423
430
  yield instances.as_ids()
424
431
 
432
+ def _lookup_containers(self, container_ids: Sequence[ContainerId]) -> dict[ContainerId, Container]:
433
+ ids_to_lookup = [container_id for container_id in container_ids if container_id not in self._container_by_id]
434
+ if ids_to_lookup:
435
+ retrieved_containers = self.client.data_modeling.containers.retrieve(ids_to_lookup)
436
+ for container in retrieved_containers:
437
+ self._container_by_id[container.as_id()] = container
438
+ if missing_container_ids := set(container_ids) - set(self._container_by_id.keys()):
439
+ MediumSeverityWarning(
440
+ f"Containers {missing_container_ids} not found or you don't have permission to access them."
441
+ ).print_warning(console=self.console)
442
+ return {
443
+ container_id: self._container_by_id[container_id]
444
+ for container_id in container_ids
445
+ if container_id in self._container_by_id
446
+ }
447
+
448
+ def _find_direct_container_dependencies(
449
+ self, container_ids: Sequence[ContainerId]
450
+ ) -> dict[ContainerId, set[ContainerId]]:
451
+ containers_by_id = self._lookup_containers(container_ids)
452
+ container_dependencies: dict[ContainerId, set[ContainerId]] = defaultdict(set)
453
+ for container_id, container in containers_by_id.items():
454
+ for constraint in container.constraints.values():
455
+ if not isinstance(constraint, RequiresConstraint):
456
+ continue
457
+ container_dependencies[container_id].add(constraint.require)
458
+ for property in container.properties.values():
459
+ if not isinstance(property.type, DirectRelation) or property.type.container is None:
460
+ continue
461
+ container_dependencies[container_id].add(property.type.container)
462
+ return container_dependencies
463
+
464
+ def _propagate_indirect_container_dependencies(
465
+ self, container_dependencies_by_id: dict[ContainerId, set[ContainerId]], dependants: Sequence[ContainerId]
466
+ ) -> dict[ContainerId, set[ContainerId]]:
467
+ """Propagate indirect container dependencies using a recursive approach.
468
+
469
+ Args:
470
+ container_dependencies_by_id: Mapping of container IDs to their direct dependencies
471
+ dependants: Chain of dependant containers to propagate dependencies to
472
+
473
+ Returns:
474
+ Updated dictionary mapping each container ID to all its direct and indirect dependencies
475
+ """
476
+ current_container_id = dependants[0]
477
+ dependencies_to_propagate: set[ContainerId] = set()
478
+ for container_dependency in container_dependencies_by_id[current_container_id]:
479
+ if container_dependency in container_dependencies_by_id:
480
+ # If already processed, propagate its dependencies to current container instead of revisiting it
481
+ dependencies_to_propagate.update(container_dependencies_by_id[container_dependency])
482
+ continue
483
+ self._propagate_indirect_container_dependencies(
484
+ container_dependencies_by_id, [container_dependency, *dependants]
485
+ )
486
+ container_dependencies_by_id[current_container_id].update(dependencies_to_propagate)
487
+ return container_dependencies_by_id
488
+
489
+ def _find_direct_and_indirect_container_dependencies(
490
+ self, container_ids: Sequence[ContainerId]
491
+ ) -> dict[ContainerId, set[ContainerId]]:
492
+ container_dependencies_by_id = self._find_direct_container_dependencies(container_ids)
493
+ for container_id in list(container_dependencies_by_id.keys()):
494
+ self._propagate_indirect_container_dependencies(container_dependencies_by_id, [container_id])
495
+ return container_dependencies_by_id
496
+
425
497
  @staticmethod
426
498
  def _chunker(seq: Sequence, size: int) -> Iterable[Sequence]:
427
499
  return (seq[pos : pos + size] for pos in range(0, len(seq), size))
428
500
 
429
- @classmethod
430
- @lru_cache(maxsize=1)
431
- def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
432
- output = super().get_write_cls_parameter_spec()
433
- # In the SDK this is called isList, while in the API it is called list.
434
- output.discard(
435
- ParameterSpec(
436
- ("properties", ANY_STR, "type", "isList"), frozenset({"bool"}), is_required=True, _is_nullable=False
437
- )
438
- )
439
- output.add(
440
- ParameterSpec(
441
- ("properties", ANY_STR, "type", "list"), frozenset({"bool"}), is_required=True, _is_nullable=False
442
- )
443
- )
444
- # The parameters below are used by the SDK to load the correct class, and ase thus not part of the init
445
- # that the spec is created from, so we need to add them manually.
446
- output.update(
447
- ParameterSpecSet(
448
- {
449
- ParameterSpec(
450
- ("properties", ANY_STR, "type", "type"),
451
- frozenset({"str"}),
452
- is_required=True,
453
- _is_nullable=False,
454
- ),
455
- ParameterSpec(
456
- # direct relations with constraint
457
- ("properties", ANY_STR, "type", "container", "type"),
458
- frozenset({"str"}),
459
- is_required=True,
460
- _is_nullable=False,
461
- ),
462
- ParameterSpec(
463
- ("constraints", ANY_STR, "constraintType"),
464
- frozenset({"str"}),
465
- is_required=True,
466
- _is_nullable=False,
467
- ),
468
- ParameterSpec(
469
- ("constraints", ANY_STR, "require", "type"),
470
- frozenset({"str"}),
471
- is_required=True,
472
- _is_nullable=False,
473
- ),
474
- ParameterSpec(
475
- ("indexes", ANY_STR, "indexType"), frozenset({"str"}), is_required=True, _is_nullable=False
476
- ),
477
- }
478
- )
479
- )
480
- return output
481
-
482
501
  @classmethod
483
502
  def as_str(cls, id: ContainerId) -> str:
484
- return to_directory_compatible(f"{id.space}_{id.external_id}")
503
+ return sanitize_filename(f"{id.space}_{id.external_id}")
485
504
 
486
505
 
487
- class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList]):
488
- folder_name = "data_models"
489
- filename_pattern = r"^.*view$"
506
+ class ViewCRUD(ResourceCRUD[ViewId, ViewApply, View]):
507
+ folder_name = "data_modeling"
490
508
  resource_cls = View
491
509
  resource_write_cls = ViewApply
492
- list_cls = ViewList
493
- list_write_cls = ViewApplyList
494
510
  kind = "View"
495
- dependencies = frozenset({SpaceLoader, ContainerLoader})
511
+ dependencies = frozenset({SpaceCRUD, ContainerCRUD})
512
+ yaml_cls = ViewYAML
496
513
  _doc_url = "Views/operation/ApplyViews"
514
+ sub_folder_name = "views"
497
515
 
498
516
  def __init__(
499
517
  self,
@@ -525,7 +543,7 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
525
543
  else DataModelsAcl.Scope.All()
526
544
  )
527
545
 
528
- return DataModelsAcl(actions, scope) # type: ignore[arg-type]
546
+ return DataModelsAcl(actions, scope)
529
547
 
530
548
  @classmethod
531
549
  def get_id(cls, item: ViewApply | View | dict) -> ViewId:
@@ -542,33 +560,33 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
542
560
  return id.dump(include_type=False)
543
561
 
544
562
  @classmethod
545
- def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceLoader], Hashable]]:
563
+ def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
546
564
  if "space" in item:
547
- yield SpaceLoader, item["space"]
565
+ yield SpaceCRUD, item["space"]
548
566
  if isinstance(implements := item.get("implements", []), list):
549
567
  for parent in implements:
550
568
  if not isinstance(parent, dict):
551
569
  continue
552
570
  if parent.get("type") == "view" and in_dict(["space", "externalId", "version"], parent):
553
571
  yield (
554
- ViewLoader,
572
+ ViewCRUD,
555
573
  ViewId(parent["space"], parent["externalId"], str(v) if (v := parent.get("version")) else None),
556
574
  )
557
575
  for prop in item.get("properties", {}).values():
558
576
  if (container := prop.get("container", {})) and container.get("type") == "container":
559
577
  if in_dict(("space", "externalId"), container):
560
- yield ContainerLoader, ContainerId(container["space"], container["externalId"])
578
+ yield ContainerCRUD, ContainerId(container["space"], container["externalId"])
561
579
  for key, dct_ in [("source", prop), ("edgeSource", prop), ("source", prop.get("through", {}))]:
562
580
  if source := dct_.get(key, {}):
563
581
  if source.get("type") == "view" and in_dict(("space", "externalId", "version"), source):
564
582
  yield (
565
- ViewLoader,
583
+ ViewCRUD,
566
584
  ViewId(
567
585
  source["space"], source["externalId"], str(v) if (v := source.get("version")) else None
568
586
  ),
569
587
  )
570
588
  elif source.get("type") == "container" and in_dict(("space", "externalId"), source):
571
- yield ContainerLoader, ContainerId(source["space"], source["externalId"])
589
+ yield ContainerCRUD, ContainerId(source["space"], source["externalId"])
572
590
 
573
591
  def safe_read(self, filepath: Path | str) -> str:
574
592
  # The version is a string, but the user often writes it as an int.
@@ -605,7 +623,9 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
605
623
  # We sort the implements in topological order to ensure that the child view get the order grandparent,
606
624
  # parent, such that the parent's source is used.
607
625
  try:
608
- dumped["implements"] = [view_id.dump() for view_id in self.topological_sort(resource.implements)]
626
+ dumped["implements"] = [
627
+ view_id.dump() for view_id in self.topological_sort_implements(resource.implements)
628
+ ]
609
629
  except ToolkitCycleError as e:
610
630
  warning = MediumSeverityWarning(f"Failed to sort implements for view {resource.as_id()}: {e}")
611
631
  warning.print_warning(console=self.console)
@@ -644,78 +664,8 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
644
664
  if self._is_auto_retryable(e1):
645
665
  # Fallback to creating one by one if the error is auto-retryable.
646
666
  return self._fallback_create_one_by_one(items, e1)
647
- elif self._is_false_not_exists(e1, {item.as_id() for item in items}):
648
- return self._try_to_recover_coupled(items, e1)
649
667
  raise
650
668
 
651
- @staticmethod
652
- def _is_false_not_exists(e: CogniteAPIError, request_views: set[ViewId]) -> bool:
653
- if "not exist" not in e.message and 400 <= e.code < 500:
654
- return False
655
- results = re.findall(r"'([a-zA-Z0-9_-]+):([a-zA-Z0-9_]+)/([.a-zA-Z0-9_-]+)'", e.message)
656
- if not results:
657
- # No view references in the message
658
- return False
659
- error_message_views = {ViewId(*result) for result in results}
660
- return error_message_views.issubset(request_views)
661
-
662
- def _try_to_recover_coupled(self, items: Sequence[ViewApply], original_error: CogniteAPIError) -> ViewList:
663
- """The /models/views endpoint can give faulty 400 about missing views that are part of the request.
664
-
665
- This method tries to recover from such errors by identifying the strongly connected components in the graph
666
- defined by the implements and through properties of the views. We then create the components in topological
667
- order.
668
-
669
- Args:
670
- items: The items that failed to create.
671
- original_error: The original error that was raised. If the problem is not recoverable, this error is raised.
672
-
673
- Returns:
674
- The views that were created.
675
-
676
- """
677
- views_by_id = {self.get_id(item): item for item in items}
678
- parents_by_child: dict[ViewId, set[ViewId]] = {
679
- view_id: {parent for parent in view.implements or [] if parent in views_by_id}
680
- for view_id, view in views_by_id.items()
681
- }
682
- # Check for cycles in the implements graph
683
- try:
684
- TopologicalSorter(parents_by_child).static_order()
685
- except CycleError as e:
686
- raise ToolkitCycleError(f"Failed to deploy views. This likely due to a cycle in implements. {e.args[1]}")
687
-
688
- dependencies_by_id: dict[ViewId, set[ViewId]] = defaultdict(set)
689
- for view_id, view in views_by_id.items():
690
- dependencies_by_id[view_id].update([parent for parent in view.implements or [] if parent in views_by_id])
691
- for properties in (view.properties or {}).values():
692
- if isinstance(properties, ReverseDirectRelationApply):
693
- if isinstance(properties.through.source, ViewId) and properties.through.source in views_by_id:
694
- dependencies_by_id[view_id].add(properties.through.source)
695
-
696
- LowSeverityWarning(
697
- f"Failed to create {len(items)} views: {escape(original_error.message)}.\nAttempting to recover..."
698
- ).print_warning(include_timestamp=True, console=self.console)
699
- created = ViewList([])
700
- for strongly_connected in tarjan(dependencies_by_id):
701
- to_create = [views_by_id[view_id] for view_id in strongly_connected]
702
- try:
703
- created_set = self.client.data_modeling.views.apply(to_create)
704
- except CogniteAPIError as error:
705
- self.client.data_modeling.views.delete(created.as_ids())
706
- HighSeverityWarning(
707
- f"Recovering attempt failed. Could not create views {self.get_ids(to_create)}: "
708
- f"{escape(error.message)}.\n Raising original error."
709
- ).print_warning(console=self.console)
710
- raise original_error
711
- created.extend(created_set)
712
- message = f"Recovery attempt succeeded. Created {len(created)} views."
713
- if self.console:
714
- self.console.print(message)
715
- else:
716
- print(message)
717
- return created
718
-
719
669
  @staticmethod
720
670
  def _is_auto_retryable(e: CogniteAPIError) -> bool:
721
671
  return isinstance(e.extra, dict) and "isAutoRetryable" in e.extra and e.extra["isAutoRetryable"]
@@ -732,8 +682,8 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
732
682
  try:
733
683
  created = self.client.data_modeling.views.apply(item)
734
684
  except CogniteAPIError as e2:
735
- e2.failed.extend(items[no + 1 :])
736
- e2.successful.extend(created_list)
685
+ e2.failed = tuple(e2.failed) + tuple(items[no + 1 :])
686
+ e2.successful = tuple(e2.successful) + tuple(created_list)
737
687
  raise e2 from e1
738
688
  else:
739
689
  created_list.append(created)
@@ -775,95 +725,9 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
775
725
  ) -> Iterable[View]:
776
726
  return iter(self.client.data_modeling.views(space=space))
777
727
 
778
- @classmethod
779
- @lru_cache(maxsize=1)
780
- def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
781
- spec = super().get_write_cls_parameter_spec()
782
- # The Filter class in the SDK class View implementation is deviating from the API.
783
- # So we need to modify the spec to match the API.
784
- parameter_path = ("filter",)
785
- length = len(parameter_path)
786
- for item in spec:
787
- if len(item.path) >= length + 1 and item.path[:length] == parameter_path[:length]:
788
- # Add extra ANY_STR layer
789
- # The spec class is immutable, so we use this trick to modify it.
790
- is_has_data_filter = item.path[1] in ["containers", "views"]
791
- if is_has_data_filter:
792
- # Special handling of the HasData filter that deviates in SDK implementation from API Spec.
793
- object.__setattr__(item, "path", (*item.path[:length], ANY_STR, item.path[length + 1 :]))
794
- else:
795
- object.__setattr__(item, "path", (*item.path[:length], ANY_STR, *item.path[length:]))
796
-
797
- spec.add(ParameterSpec(("filter", ANY_STR), frozenset({"dict"}), is_required=False, _is_nullable=False))
798
- # The following types are used by the SDK to load the correct class. They are not part of the init,
799
- # so we need to add it manually.
800
- spec.update(
801
- ParameterSpecSet(
802
- {
803
- ParameterSpec(
804
- ("implements", ANY_INT, "type"), frozenset({"str"}), is_required=True, _is_nullable=False
805
- ),
806
- ParameterSpec(
807
- ("properties", ANY_STR, "connectionType"),
808
- frozenset({"str"}),
809
- is_required=True,
810
- _is_nullable=False,
811
- ),
812
- ParameterSpec(
813
- ("properties", ANY_STR, "source", "type"),
814
- frozenset({"str"}),
815
- is_required=True,
816
- _is_nullable=False,
817
- ),
818
- ParameterSpec(
819
- ("properties", ANY_STR, "container", "type"),
820
- frozenset({"str"}),
821
- is_required=True,
822
- _is_nullable=False,
823
- ),
824
- ParameterSpec(
825
- ("properties", ANY_STR, "edgeSource", "type"),
826
- frozenset({"str"}),
827
- is_required=True,
828
- _is_nullable=False,
829
- ),
830
- ParameterSpec(
831
- ("properties", ANY_STR, "through", "source", "type"),
832
- frozenset({"str"}),
833
- is_required=True,
834
- _is_nullable=False,
835
- ),
836
- ParameterSpec(
837
- # In the SDK, this is called "property"
838
- ("properties", ANY_STR, "through", "identifier"),
839
- frozenset({"str"}),
840
- is_required=True,
841
- _is_nullable=False,
842
- ),
843
- # Filters are complex, so we do not attempt to give any more specific spec.
844
- ParameterSpec(
845
- ("filter", ANYTHING),
846
- frozenset({"str"}),
847
- is_required=True,
848
- _is_nullable=False,
849
- ),
850
- }
851
- )
852
- )
853
- spec.discard(
854
- ParameterSpec(
855
- # The API spec calls this "identifier", while the SDK calls it "property".
856
- ("properties", ANY_STR, "through", "property"),
857
- frozenset({"str"}),
858
- is_required=True,
859
- _is_nullable=False,
860
- )
861
- )
862
- return spec
863
-
864
728
  @classmethod
865
729
  def as_str(cls, id: ViewId) -> str:
866
- return to_directory_compatible(id.external_id)
730
+ return sanitize_filename(id.external_id)
867
731
 
868
732
  def _lookup_views(self, view_ids: list[ViewId]) -> dict[ViewId, View]:
869
733
  """Looks up views by their IDs and caches them."""
@@ -874,14 +738,51 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
874
738
  self._view_by_id[view.as_id()] = view
875
739
  return {view_id: self._view_by_id[view_id] for view_id in view_ids if view_id in self._view_by_id}
876
740
 
877
- def topological_sort(self, view_ids: list[ViewId]) -> list[ViewId]:
741
+ def get_readonly_properties(self, view_id: ViewId) -> set[str]:
742
+ """Retrieve the set of read-only properties for a given view."""
743
+
744
+ readonly_properties: set[str] = set()
745
+
746
+ # Retrieve the view to check its properties
747
+ view = self._lookup_views([view_id]).get(view_id)
748
+ if view is None:
749
+ return readonly_properties
750
+
751
+ # Check each property in the view
752
+ for property_identifier, property in view.properties.items():
753
+ if isinstance(
754
+ property, MappedProperty
755
+ ) and property.container_property_identifier in constants.READONLY_CONTAINER_PROPERTIES.get(
756
+ property.container, set()
757
+ ):
758
+ readonly_properties.add(property_identifier)
759
+ return readonly_properties
760
+
761
+ def _build_view_implements_dependencies(
762
+ self, view_by_ids: dict[ViewId, View], include: set[ViewId] | None = None
763
+ ) -> dict[ViewId, set[ViewId]]:
764
+ """Build a dependency graph based on view implements relationships.
765
+
766
+ Args:
767
+ view_by_ids: Mapping of view IDs to View objects
768
+ include: Optional set of view IDs to include in the dependencies, if None, all views are included.
769
+
770
+ Returns:
771
+ Dictionary mapping each view ID to the set of view IDs it depends on (implements)
772
+ """
773
+ dependencies: dict[ViewId, set[ViewId]] = {}
774
+ for view_id, view in view_by_ids.items():
775
+ dependencies[view_id] = set()
776
+ for implemented_view_id in view.implements or []:
777
+ if include is None or implemented_view_id in include:
778
+ dependencies[view_id].add(implemented_view_id)
779
+ return dependencies
780
+
781
+ def topological_sort_implements(self, view_ids: list[ViewId]) -> list[ViewId]:
878
782
  """Sorts the views in topological order based on their implements and through properties."""
879
783
  view_by_ids = self._lookup_views(view_ids)
880
- parents_by_child: dict[ViewId, set[ViewId]] = {}
881
- for child, view in view_by_ids.items():
882
- parents_by_child[child] = set()
883
- for parent in view.implements or []:
884
- parents_by_child[child].add(parent)
784
+ parents_by_child = self._build_view_implements_dependencies(view_by_ids)
785
+
885
786
  try:
886
787
  sorted_views = list(TopologicalSorter(parents_by_child).static_order())
887
788
  except CycleError as e:
@@ -891,17 +792,63 @@ class ViewLoader(ResourceLoader[ViewId, ViewApply, View, ViewApplyList, ViewList
891
792
 
892
793
  return sorted_views
893
794
 
795
+ def topological_sort_container_constraints(self, view_ids: list[ViewId]) -> list[ViewId]:
796
+ """Sorts the views in topological order based on their container constraints."""
797
+
798
+ view_by_ids = self._lookup_views(view_ids)
799
+ if missing_view_ids := set(view_ids) - set(view_by_ids.keys()):
800
+ MediumSeverityWarning(
801
+ f"Views {missing_view_ids} not found or you don't have permission to access them, skipping dependency check."
802
+ ).print_warning(console=self.console)
803
+ return view_ids
804
+
805
+ view_to_containers: dict[ViewId, set[ContainerId]] = {}
806
+ container_to_views: defaultdict[ContainerId, set[ViewId]] = defaultdict(set)
807
+ for view_id, view in view_by_ids.items():
808
+ view_to_containers[view_id] = view.referenced_containers()
809
+ for container_id in view_to_containers[view_id]:
810
+ container_to_views[container_id].add(view_id)
811
+
812
+ container_crud = ContainerCRUD.create_loader(self.client)
813
+ container_dependencies_by_id = container_crud._find_direct_and_indirect_container_dependencies(
814
+ list(container_to_views.keys())
815
+ )
816
+
817
+ # First, add view dependencies based on implements relationships
818
+ view_dependencies = self._build_view_implements_dependencies(view_by_ids, set(view_to_containers.keys()))
819
+
820
+ # Then, add view dependencies based on mapped container constraints
821
+ for view_id, mapped_containers in view_to_containers.items():
822
+ for container_id in mapped_containers:
823
+ # Get all containers this container depends on
824
+ if container_id not in container_dependencies_by_id:
825
+ continue
826
+ for required_container in container_dependencies_by_id[container_id]:
827
+ if required_container not in container_to_views:
828
+ continue
829
+ # If this view already implements the required container, the requirement is self-satisfied
830
+ # and we don't need to depend on other views that also implement it (they are peers).
831
+ if required_container in mapped_containers:
832
+ continue
833
+ # This view doesn't implement the required container, so depend on all views that do
834
+ view_dependencies[view_id].update(container_to_views[required_container])
835
+ try:
836
+ sorted_views = list(TopologicalSorter(view_dependencies).static_order())
837
+ except CycleError as e:
838
+ raise ToolkitCycleError(
839
+ f"Failed to sort views topologically. This likely due to a cycle in implements. {e.args[1]}"
840
+ )
841
+ return sorted_views
842
+
894
843
 
895
844
  @final
896
- class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, DataModelApplyList, DataModelList]):
897
- folder_name = "data_models"
898
- filename_pattern = r"^.*datamodel$"
845
+ class DataModelCRUD(ResourceCRUD[DataModelId, DataModelApply, DataModel]):
846
+ folder_name = "data_modeling"
899
847
  resource_cls = DataModel
900
848
  resource_write_cls = DataModelApply
901
- list_cls = DataModelList
902
- list_write_cls = DataModelApplyList
903
849
  kind = "DataModel"
904
- dependencies = frozenset({SpaceLoader, ViewLoader})
850
+ dependencies = frozenset({SpaceCRUD, ViewCRUD})
851
+ yaml_cls = DataModelYAML
905
852
  _doc_url = "Data-models/operation/createDataModels"
906
853
 
907
854
  @property
@@ -923,7 +870,7 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
923
870
  else DataModelsAcl.Scope.All()
924
871
  )
925
872
 
926
- return DataModelsAcl(actions, scope) # type: ignore[arg-type]
873
+ return DataModelsAcl(actions, scope)
927
874
 
928
875
  @classmethod
929
876
  def get_id(cls, item: DataModelApply | DataModel | dict) -> DataModelId:
@@ -939,13 +886,13 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
939
886
  return id.dump(include_type=False)
940
887
 
941
888
  @classmethod
942
- def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceLoader], Hashable]]:
889
+ def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
943
890
  if "space" in item:
944
- yield SpaceLoader, item["space"]
891
+ yield SpaceCRUD, item["space"]
945
892
  for view in item.get("views", []):
946
893
  if in_dict(("space", "externalId"), view):
947
894
  yield (
948
- ViewLoader,
895
+ ViewCRUD,
949
896
  ViewId(view["space"], view["externalId"], str(v) if (v := view.get("version")) else None),
950
897
  )
951
898
 
@@ -975,13 +922,13 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
975
922
  return diff_list_identifiable(local, cdf, get_identifier=dm_identifier)
976
923
  return super().diff_list(local, cdf, json_path)
977
924
 
978
- def create(self, items: DataModelApplyList) -> DataModelList:
925
+ def create(self, items: Sequence[DataModelApply]) -> DataModelList:
979
926
  return self.client.data_modeling.data_models.apply(items)
980
927
 
981
928
  def retrieve(self, ids: SequenceNotStr[DataModelId]) -> DataModelList:
982
929
  return self.client.data_modeling.data_models.retrieve(cast(Sequence, ids))
983
930
 
984
- def update(self, items: DataModelApplyList) -> DataModelList:
931
+ def update(self, items: Sequence[DataModelApply]) -> DataModelList:
985
932
  updated = self.create(items)
986
933
  # There is a bug in the API not raising an exception if view is removed from a data model.
987
934
  # So we check here that the update was fixed.
@@ -1019,32 +966,22 @@ class DataModelLoader(ResourceLoader[DataModelId, DataModelApply, DataModel, Dat
1019
966
  ) -> Iterable[DataModel]:
1020
967
  return iter(self.client.data_modeling.data_models(space=space, include_global=False))
1021
968
 
1022
- @classmethod
1023
- @lru_cache(maxsize=1)
1024
- def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
1025
- spec = super().get_write_cls_parameter_spec()
1026
- # ViewIds have the type set in the API Spec, but this is hidden in the SDK classes,
1027
- # so we need to add it manually.
1028
- spec.add(ParameterSpec(("views", ANY_INT, "type"), frozenset({"str"}), is_required=True, _is_nullable=False))
1029
- return spec
1030
-
1031
969
  @classmethod
1032
970
  def as_str(cls, id: DataModelId) -> str:
1033
- return to_directory_compatible(id.external_id)
971
+ return sanitize_filename(id.external_id)
1034
972
 
1035
973
 
1036
974
  @final
1037
- class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList, NodeList]):
975
+ class NodeCRUD(ResourceContainerCRUD[NodeId, NodeApply, Node]):
1038
976
  item_name = "nodes"
1039
- folder_name = "data_models"
1040
- filename_pattern = r"^.*node$"
977
+ folder_name = "data_modeling"
1041
978
  resource_cls = Node
1042
979
  resource_write_cls = NodeApply
1043
- list_cls = NodeList
1044
- list_write_cls = NodeApplyList
1045
980
  kind = "Node"
1046
- dependencies = frozenset({SpaceLoader, ViewLoader, ContainerLoader})
981
+ yaml_cls = NodeYAML
982
+ dependencies = frozenset({SpaceCRUD, ViewCRUD, ContainerCRUD})
1047
983
  _doc_url = "Instances/operation/applyNodeAndEdges"
984
+ sub_folder_name = "nodes"
1048
985
 
1049
986
  def __init__(
1050
987
  self,
@@ -1095,14 +1032,14 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
1095
1032
  return id.dump()
1096
1033
 
1097
1034
  @classmethod
1098
- def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceLoader], Hashable]]:
1035
+ def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
1099
1036
  if "space" in item:
1100
- yield SpaceLoader, item["space"]
1037
+ yield SpaceCRUD, item["space"]
1101
1038
  for source in item.get("sources", []):
1102
1039
  if (identifier := source.get("source")) and isinstance(identifier, dict):
1103
1040
  if identifier.get("type") == "view" and in_dict(("space", "externalId", "version"), identifier):
1104
1041
  yield (
1105
- ViewLoader,
1042
+ ViewCRUD,
1106
1043
  ViewId(
1107
1044
  identifier["space"],
1108
1045
  identifier["externalId"],
@@ -1110,7 +1047,7 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
1110
1047
  ),
1111
1048
  )
1112
1049
  elif identifier.get("type") == "container" and in_dict(("space", "externalId"), identifier):
1113
- yield ContainerLoader, ContainerId(identifier["space"], identifier["externalId"])
1050
+ yield ContainerCRUD, ContainerId(identifier["space"], identifier["externalId"])
1114
1051
 
1115
1052
  def dump_resource(self, resource: Node, local: dict[str, Any] | None = None) -> dict[str, Any]:
1116
1053
  # CDF resource does not have properties set, so we need to do a lookup
@@ -1140,7 +1077,7 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
1140
1077
 
1141
1078
  return dumped
1142
1079
 
1143
- def create(self, items: NodeApplyList) -> NodeApplyResultList:
1080
+ def create(self, items: Sequence[NodeApply]) -> NodeApplyResultList:
1144
1081
  result = self.client.data_modeling.instances.apply(
1145
1082
  # Note replace should never be relevant as Toolkit always checks whether the node exists before applying.
1146
1083
  nodes=items,
@@ -1152,7 +1089,7 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
1152
1089
  def retrieve(self, ids: SequenceNotStr[NodeId]) -> NodeList:
1153
1090
  return self.client.data_modeling.instances.retrieve(nodes=cast(Sequence, ids), sources=self.view_id).nodes
1154
1091
 
1155
- def update(self, items: NodeApplyList) -> NodeApplyResultList:
1092
+ def update(self, items: Sequence[NodeApply]) -> NodeApplyResultList:
1156
1093
  result = self.client.data_modeling.instances.apply(
1157
1094
  nodes=items, auto_create_direct_relations=True, replace=False
1158
1095
  )
@@ -1184,41 +1121,19 @@ class NodeLoader(ResourceContainerLoader[NodeId, NodeApply, Node, NodeApplyList,
1184
1121
  # Nodes will be deleted in .delete call.
1185
1122
  return 0
1186
1123
 
1187
- @classmethod
1188
- @lru_cache(maxsize=1)
1189
- def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
1190
- node_spec = super().get_write_cls_parameter_spec()
1191
- # This is a deviation between the SDK and the API
1192
- node_spec.add(ParameterSpec(("instanceType",), frozenset({"str"}), is_required=False, _is_nullable=False))
1193
- node_spec.add(
1194
- ParameterSpec(
1195
- ("sources", ANY_INT, "source", "type"),
1196
- frozenset({"str"}),
1197
- is_required=True,
1198
- _is_nullable=False,
1199
- )
1200
- )
1201
- return ParameterSpecSet(node_spec, spec_name=cls.__name__)
1202
-
1203
1124
  @classmethod
1204
1125
  def as_str(cls, id: NodeId) -> str:
1205
- return to_directory_compatible(f"{id.space}_{id.external_id}")
1126
+ return sanitize_filename(f"{id.space}_{id.external_id}")
1206
1127
 
1207
1128
 
1208
- class GraphQLLoader(
1209
- ResourceContainerLoader[
1210
- DataModelId, GraphQLDataModelWrite, GraphQLDataModel, GraphQLDataModelWriteList, GraphQLDataModelList
1211
- ]
1212
- ):
1213
- folder_name = "data_models"
1214
- filename_pattern = r"^.*GraphQLSchema"
1129
+ class GraphQLCRUD(ResourceContainerCRUD[DataModelId, GraphQLDataModelWrite, GraphQLDataModel]):
1130
+ folder_name = "data_modeling"
1215
1131
  resource_cls = GraphQLDataModel
1216
1132
  resource_write_cls = GraphQLDataModelWrite
1217
- list_cls = GraphQLDataModelList
1218
- list_write_cls = GraphQLDataModelWriteList
1219
1133
  kind = "GraphQLSchema"
1220
- dependencies = frozenset({SpaceLoader, ContainerLoader})
1134
+ dependencies = frozenset({SpaceCRUD, ContainerCRUD})
1221
1135
  item_name = "views"
1136
+ yaml_cls = GraphQLDataModelYAML
1222
1137
  _doc_url = "Data-models/operation/createDataModels"
1223
1138
  _hash_name = "CDFToolkitHash:"
1224
1139
 
@@ -1260,9 +1175,9 @@ class GraphQLLoader(
1260
1175
  )
1261
1176
 
1262
1177
  @classmethod
1263
- def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceLoader], Hashable]]:
1178
+ def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
1264
1179
  if "space" in item:
1265
- yield SpaceLoader, item["space"]
1180
+ yield SpaceCRUD, item["space"]
1266
1181
 
1267
1182
  def safe_read(self, filepath: Path | str) -> str:
1268
1183
  # The version is a string, but the user often writes it as an int.
@@ -1328,7 +1243,7 @@ class GraphQLLoader(
1328
1243
  dumped["graphqlFile"] = match.group(3)
1329
1244
  return dumped
1330
1245
 
1331
- def create(self, items: GraphQLDataModelWriteList) -> list[DMLApplyResult]:
1246
+ def create(self, items: Sequence[GraphQLDataModelWrite]) -> list[DMLApplyResult]:
1332
1247
  creation_order = self._topological_sort(items)
1333
1248
 
1334
1249
  created_list: list[DMLApplyResult] = []
@@ -1359,7 +1274,7 @@ class GraphQLLoader(
1359
1274
  result = self.client.data_modeling.data_models.retrieve(list(ids), inline_views=False)
1360
1275
  return GraphQLDataModelList([GraphQLDataModel._load(d.dump()) for d in result])
1361
1276
 
1362
- def update(self, items: GraphQLDataModelWriteList) -> list[DMLApplyResult]:
1277
+ def update(self, items: Sequence[GraphQLDataModelWrite]) -> list[DMLApplyResult]:
1363
1278
  return self.create(items)
1364
1279
 
1365
1280
  def delete(self, ids: SequenceNotStr[DataModelId]) -> int:
@@ -1384,7 +1299,7 @@ class GraphQLLoader(
1384
1299
  def drop_data(self, ids: SequenceNotStr[DataModelId]) -> int:
1385
1300
  return self.delete(ids)
1386
1301
 
1387
- def _topological_sort(self, items: GraphQLDataModelWriteList) -> list[GraphQLDataModelWrite]:
1302
+ def _topological_sort(self, items: Sequence[GraphQLDataModelWrite]) -> list[GraphQLDataModelWrite]:
1388
1303
  to_sort = {item.as_id(): item for item in items}
1389
1304
  dependencies: dict[DataModelId, set[DataModelId]] = {}
1390
1305
  for item in items:
@@ -1407,16 +1322,14 @@ class GraphQLLoader(
1407
1322
 
1408
1323
 
1409
1324
  @final
1410
- class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList, EdgeList]):
1325
+ class EdgeCRUD(ResourceContainerCRUD[EdgeId, EdgeApply, Edge]):
1411
1326
  item_name = "edges"
1412
- folder_name = "data_models"
1413
- filename_pattern = r"^.*edge"
1327
+ folder_name = "data_modeling"
1414
1328
  resource_cls = Edge
1415
1329
  resource_write_cls = EdgeApply
1416
- list_cls = EdgeList
1417
- list_write_cls = EdgeApplyList
1418
1330
  kind = "Edge"
1419
- dependencies = frozenset({SpaceLoader, ViewLoader, ContainerLoader, NodeLoader})
1331
+ yaml_cls = EdgeYAML
1332
+ dependencies = frozenset({SpaceCRUD, ViewCRUD, ContainerCRUD, NodeCRUD})
1420
1333
  _doc_url = "Instances/operation/applyNodeAndEdges"
1421
1334
 
1422
1335
  @property
@@ -1457,14 +1370,14 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
1457
1370
  return id.dump()
1458
1371
 
1459
1372
  @classmethod
1460
- def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceLoader], Hashable]]:
1373
+ def get_dependent_items(cls, item: dict) -> Iterable[tuple[type[ResourceCRUD], Hashable]]:
1461
1374
  if "space" in item:
1462
- yield SpaceLoader, item["space"]
1375
+ yield SpaceCRUD, item["space"]
1463
1376
  for source in item.get("sources", []):
1464
1377
  if (identifier := source.get("source")) and isinstance(identifier, dict):
1465
1378
  if identifier.get("type") == "view" and in_dict(("space", "externalId", "version"), identifier):
1466
1379
  yield (
1467
- ViewLoader,
1380
+ ViewCRUD,
1468
1381
  ViewId(
1469
1382
  identifier["space"],
1470
1383
  identifier["externalId"],
@@ -1472,12 +1385,12 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
1472
1385
  ),
1473
1386
  )
1474
1387
  elif identifier.get("type") == "container" and in_dict(("space", "externalId"), identifier):
1475
- yield ContainerLoader, ContainerId(identifier["space"], identifier["externalId"])
1388
+ yield ContainerCRUD, ContainerId(identifier["space"], identifier["externalId"])
1476
1389
 
1477
1390
  for key in ["startNode", "endNode", "type"]:
1478
1391
  if node_ref := item.get(key):
1479
1392
  if isinstance(node_ref, dict) and in_dict(("space", "externalId"), node_ref):
1480
- yield NodeLoader, NodeId(node_ref["space"], node_ref["externalId"])
1393
+ yield NodeCRUD, NodeId(node_ref["space"], node_ref["externalId"])
1481
1394
 
1482
1395
  def dump_resource(self, resource: Edge, local: dict[str, Any] | None = None) -> dict[str, Any]:
1483
1396
  # CDF resource does not have properties set, so we need to do a lookup
@@ -1504,7 +1417,7 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
1504
1417
 
1505
1418
  return dumped
1506
1419
 
1507
- def create(self, items: EdgeApplyList) -> EdgeApplyResultList:
1420
+ def create(self, items: Sequence[EdgeApply]) -> EdgeApplyResultList:
1508
1421
  result = self.client.data_modeling.instances.apply(
1509
1422
  edges=items, auto_create_direct_relations=True, replace=False
1510
1423
  )
@@ -1513,7 +1426,7 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
1513
1426
  def retrieve(self, ids: SequenceNotStr[EdgeId]) -> EdgeList:
1514
1427
  return self.client.data_modeling.instances.retrieve(nodes=cast(Sequence, ids)).edges
1515
1428
 
1516
- def update(self, items: EdgeApplyList) -> EdgeApplyResultList:
1429
+ def update(self, items: Sequence[EdgeApply]) -> EdgeApplyResultList:
1517
1430
  result = self.client.data_modeling.instances.apply(
1518
1431
  edges=items, auto_create_direct_relations=False, replace=True
1519
1432
  )
@@ -1543,22 +1456,6 @@ class EdgeLoader(ResourceContainerLoader[EdgeId, EdgeApply, Edge, EdgeApplyList,
1543
1456
  # Edges will be deleted in .delete call.
1544
1457
  return 0
1545
1458
 
1546
- @classmethod
1547
- @lru_cache(maxsize=1)
1548
- def get_write_cls_parameter_spec(cls) -> ParameterSpecSet:
1549
- node_spec = super().get_write_cls_parameter_spec()
1550
- # This is a deviation between the SDK and the API
1551
- node_spec.add(ParameterSpec(("instanceType",), frozenset({"str"}), is_required=False, _is_nullable=False))
1552
- node_spec.add(
1553
- ParameterSpec(
1554
- ("sources", ANY_INT, "source", "type"),
1555
- frozenset({"str"}),
1556
- is_required=True,
1557
- _is_nullable=False,
1558
- )
1559
- )
1560
- return ParameterSpecSet(node_spec, spec_name=cls.__name__)
1561
-
1562
1459
  def diff_list(
1563
1460
  self, local: list[Any], cdf: list[Any], json_path: tuple[str | int, ...]
1564
1461
  ) -> tuple[dict[int, int], list[int]]: