cognite-toolkit 0.6.39__py3-none-any.whl → 0.7.30__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (695) hide show
  1. cognite_toolkit/_cdf.py +17 -26
  2. cognite_toolkit/_cdf_tk/apps/__init__.py +4 -2
  3. cognite_toolkit/_cdf_tk/apps/_core_app.py +15 -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 +945 -28
  7. cognite_toolkit/_cdf_tk/apps/_dump_app.py +101 -95
  8. cognite_toolkit/_cdf_tk/apps/_landing_app.py +18 -4
  9. cognite_toolkit/_cdf_tk/apps/_migrate_app.py +798 -32
  10. cognite_toolkit/_cdf_tk/apps/_modules_app.py +24 -0
  11. cognite_toolkit/_cdf_tk/apps/_profile_app.py +3 -3
  12. cognite_toolkit/_cdf_tk/apps/_purge.py +124 -24
  13. cognite_toolkit/_cdf_tk/apps/_run.py +11 -0
  14. cognite_toolkit/_cdf_tk/apps/_upload_app.py +46 -67
  15. cognite_toolkit/_cdf_tk/builders/__init__.py +2 -2
  16. cognite_toolkit/_cdf_tk/builders/_base.py +28 -42
  17. cognite_toolkit/_cdf_tk/cdf_toml.py +33 -10
  18. cognite_toolkit/_cdf_tk/client/__init__.py +2 -1
  19. cognite_toolkit/_cdf_tk/client/_toolkit_client.py +33 -99
  20. cognite_toolkit/_cdf_tk/client/api/canvas.py +2 -1
  21. cognite_toolkit/_cdf_tk/client/api/extended_functions.py +44 -96
  22. cognite_toolkit/_cdf_tk/client/api/infield.py +248 -0
  23. cognite_toolkit/_cdf_tk/client/api/lookup.py +176 -71
  24. cognite_toolkit/_cdf_tk/client/api/migration.py +351 -1
  25. cognite_toolkit/_cdf_tk/client/api/project.py +23 -0
  26. cognite_toolkit/_cdf_tk/client/api/streams.py +84 -0
  27. cognite_toolkit/_cdf_tk/client/api/three_d.py +50 -0
  28. cognite_toolkit/_cdf_tk/client/config.py +120 -0
  29. cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +17 -0
  30. cognite_toolkit/_cdf_tk/client/data_classes/base.py +87 -0
  31. cognite_toolkit/_cdf_tk/client/data_classes/canvas.py +85 -7
  32. cognite_toolkit/_cdf_tk/client/data_classes/charts.py +3 -3
  33. cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py +95 -213
  34. cognite_toolkit/_cdf_tk/client/data_classes/infield.py +116 -0
  35. cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +157 -0
  36. cognite_toolkit/_cdf_tk/client/data_classes/migration.py +111 -3
  37. cognite_toolkit/_cdf_tk/client/data_classes/project.py +41 -0
  38. cognite_toolkit/_cdf_tk/client/data_classes/search_config.py +3 -0
  39. cognite_toolkit/_cdf_tk/client/data_classes/streams.py +90 -0
  40. cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +47 -0
  41. cognite_toolkit/_cdf_tk/client/testing.py +35 -4
  42. cognite_toolkit/_cdf_tk/commands/__init__.py +6 -12
  43. cognite_toolkit/_cdf_tk/commands/_base.py +8 -1
  44. cognite_toolkit/_cdf_tk/commands/_changes.py +3 -42
  45. cognite_toolkit/_cdf_tk/commands/_download.py +83 -32
  46. cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py +0 -6
  47. cognite_toolkit/_cdf_tk/commands/_migrate/command.py +199 -49
  48. cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +266 -42
  49. cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +232 -0
  50. cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +117 -20
  51. cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +329 -41
  52. cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +89 -3
  53. cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +93 -26
  54. cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +40 -0
  55. cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +350 -0
  56. cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py +14 -9
  57. cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py +71 -0
  58. cognite_toolkit/_cdf_tk/commands/_purge.py +442 -624
  59. cognite_toolkit/_cdf_tk/commands/_questionary_style.py +16 -0
  60. cognite_toolkit/_cdf_tk/commands/_upload.py +249 -54
  61. cognite_toolkit/_cdf_tk/commands/_utils.py +1 -24
  62. cognite_toolkit/_cdf_tk/commands/about.py +221 -0
  63. cognite_toolkit/_cdf_tk/commands/auth.py +41 -21
  64. cognite_toolkit/_cdf_tk/commands/build_cmd.py +31 -72
  65. cognite_toolkit/_cdf_tk/commands/clean.py +63 -10
  66. cognite_toolkit/_cdf_tk/commands/deploy.py +129 -42
  67. cognite_toolkit/_cdf_tk/commands/dump_resource.py +46 -8
  68. cognite_toolkit/_cdf_tk/commands/init.py +219 -18
  69. cognite_toolkit/_cdf_tk/commands/modules.py +93 -59
  70. cognite_toolkit/_cdf_tk/commands/pull.py +14 -21
  71. cognite_toolkit/_cdf_tk/commands/resources.py +179 -0
  72. cognite_toolkit/_cdf_tk/constants.py +32 -4
  73. cognite_toolkit/_cdf_tk/cruds/__init__.py +22 -5
  74. cognite_toolkit/_cdf_tk/cruds/_base_cruds.py +43 -108
  75. cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +15 -21
  76. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +5 -1
  77. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/agent.py +12 -26
  78. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +5 -43
  79. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +61 -90
  80. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +10 -13
  81. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_organization.py +4 -35
  82. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +212 -325
  83. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +5 -42
  84. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +220 -40
  85. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +8 -62
  86. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +93 -80
  87. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/hosted_extractors.py +12 -90
  88. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +3 -17
  89. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +3 -134
  90. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +13 -27
  91. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +4 -10
  92. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/relationship.py +3 -24
  93. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +15 -44
  94. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +94 -0
  95. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/three_d_model.py +3 -20
  96. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +7 -64
  97. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +39 -70
  98. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/workflow.py +22 -147
  99. cognite_toolkit/_cdf_tk/cruds/_worker.py +30 -38
  100. cognite_toolkit/_cdf_tk/data_classes/__init__.py +2 -0
  101. cognite_toolkit/_cdf_tk/data_classes/_build_variables.py +120 -14
  102. cognite_toolkit/_cdf_tk/data_classes/_built_modules.py +6 -0
  103. cognite_toolkit/_cdf_tk/data_classes/_built_resources.py +1 -1
  104. cognite_toolkit/_cdf_tk/data_classes/_config_yaml.py +8 -3
  105. cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +22 -0
  106. cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +7 -0
  107. cognite_toolkit/_cdf_tk/data_classes/_packages.py +24 -7
  108. cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +43 -0
  109. cognite_toolkit/_cdf_tk/feature_flags.py +16 -32
  110. cognite_toolkit/_cdf_tk/plugins.py +2 -1
  111. cognite_toolkit/_cdf_tk/protocols.py +97 -0
  112. cognite_toolkit/_cdf_tk/resource_classes/__init__.py +18 -1
  113. cognite_toolkit/_cdf_tk/resource_classes/agent.py +58 -0
  114. cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py +101 -0
  115. cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +12 -0
  116. cognite_toolkit/_cdf_tk/resource_classes/functions.py +12 -1
  117. cognite_toolkit/_cdf_tk/resource_classes/infield_cdm_location_config.py +109 -0
  118. cognite_toolkit/_cdf_tk/resource_classes/infield_location_config.py +94 -0
  119. cognite_toolkit/_cdf_tk/resource_classes/infield_v1.py +100 -0
  120. cognite_toolkit/_cdf_tk/resource_classes/migration.py +28 -0
  121. cognite_toolkit/_cdf_tk/resource_classes/raw_database_table.py +1 -1
  122. cognite_toolkit/_cdf_tk/resource_classes/streams.py +29 -0
  123. cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py +1 -1
  124. cognite_toolkit/_cdf_tk/storageio/__init__.py +53 -28
  125. cognite_toolkit/_cdf_tk/storageio/_annotations.py +105 -0
  126. cognite_toolkit/_cdf_tk/storageio/_applications.py +375 -53
  127. cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +512 -147
  128. cognite_toolkit/_cdf_tk/storageio/_base.py +211 -78
  129. cognite_toolkit/_cdf_tk/storageio/_datapoints.py +448 -0
  130. cognite_toolkit/_cdf_tk/storageio/_file_content.py +436 -0
  131. cognite_toolkit/_cdf_tk/storageio/_instances.py +171 -56
  132. cognite_toolkit/_cdf_tk/storageio/_raw.py +92 -47
  133. cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +124 -0
  134. cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py +60 -0
  135. cognite_toolkit/_cdf_tk/storageio/selectors/_base.py +80 -0
  136. cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py +22 -0
  137. cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py +45 -0
  138. cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py +89 -0
  139. cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py +164 -0
  140. cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py +162 -0
  141. cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py +24 -0
  142. cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +3 -1
  143. cognite_toolkit/_cdf_tk/tk_warnings/other.py +4 -0
  144. cognite_toolkit/_cdf_tk/tracker.py +21 -22
  145. cognite_toolkit/_cdf_tk/utils/__init__.py +2 -2
  146. cognite_toolkit/_cdf_tk/utils/aggregators.py +47 -9
  147. cognite_toolkit/_cdf_tk/utils/cdf.py +10 -6
  148. cognite_toolkit/_cdf_tk/utils/cli_args.py +34 -0
  149. cognite_toolkit/_cdf_tk/utils/dtype_conversion.py +93 -11
  150. cognite_toolkit/_cdf_tk/utils/file.py +47 -33
  151. cognite_toolkit/_cdf_tk/utils/fileio/__init__.py +4 -0
  152. cognite_toolkit/_cdf_tk/utils/fileio/_base.py +5 -1
  153. cognite_toolkit/_cdf_tk/utils/fileio/_readers.py +208 -55
  154. cognite_toolkit/_cdf_tk/utils/fileio/_writers.py +18 -18
  155. cognite_toolkit/_cdf_tk/utils/http_client/__init__.py +14 -18
  156. cognite_toolkit/_cdf_tk/utils/http_client/_client.py +320 -62
  157. cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py +209 -185
  158. cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +187 -0
  159. cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +4 -0
  160. cognite_toolkit/_cdf_tk/utils/interactive_select.py +151 -33
  161. cognite_toolkit/_cdf_tk/utils/modules.py +0 -4
  162. cognite_toolkit/_cdf_tk/utils/producer_worker.py +25 -3
  163. cognite_toolkit/_cdf_tk/utils/sql_parser.py +2 -3
  164. cognite_toolkit/_cdf_tk/utils/text.py +55 -0
  165. cognite_toolkit/_cdf_tk/utils/useful_types.py +16 -4
  166. cognite_toolkit/_cdf_tk/utils/validate_access.py +248 -31
  167. cognite_toolkit/_cdf_tk/validation.py +96 -69
  168. cognite_toolkit/_repo_files/.gitignore +2 -0
  169. cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
  170. cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
  171. cognite_toolkit/_resources/cdf.toml +18 -0
  172. cognite_toolkit/_version.py +1 -1
  173. cognite_toolkit/config.dev.yaml +13 -0
  174. {cognite_toolkit-0.6.39.dist-info → cognite_toolkit-0.7.30.dist-info}/METADATA +24 -24
  175. cognite_toolkit-0.7.30.dist-info/RECORD +316 -0
  176. cognite_toolkit-0.7.30.dist-info/WHEEL +4 -0
  177. {cognite_toolkit-0.6.39.dist-info → cognite_toolkit-0.7.30.dist-info}/entry_points.txt +1 -0
  178. cognite_toolkit/_builtin_modules/README.md +0 -7
  179. cognite_toolkit/_builtin_modules/__init__.py +0 -0
  180. cognite_toolkit/_builtin_modules/bootcamp/README.md +0 -5
  181. cognite_toolkit/_builtin_modules/bootcamp/default.config.yaml +0 -3
  182. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/default.config.yaml +0 -9
  183. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/handler.py +0 -168
  184. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/ice_cream_factory_api.py +0 -61
  185. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/functions/icapi_datapoints_extractor/requirements.txt +0 -3
  186. cognite_toolkit/_builtin_modules/bootcamp/ice_cream_api/module.toml +0 -3
  187. cognite_toolkit/_builtin_modules/bootcamp/module.toml +0 -3
  188. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/default.config.yaml +0 -6
  189. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/functions/oee_timeseries/handler.py +0 -229
  190. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/functions/oee_timeseries/requirements.txt +0 -2
  191. cognite_toolkit/_builtin_modules/bootcamp/use_cases/oee/module.toml +0 -3
  192. cognite_toolkit/_builtin_modules/cdf.toml +0 -13
  193. cognite_toolkit/_builtin_modules/cdf_common/data_models/demo.Space.yaml +0 -3
  194. cognite_toolkit/_builtin_modules/cdf_common/data_sets/demo.DataSet.yaml +0 -3
  195. cognite_toolkit/_builtin_modules/cdf_common/default.config.yaml +0 -8
  196. cognite_toolkit/_builtin_modules/cdf_common/extraction_pipelines/ctx_files_direct_relation_write.ExtractionPipeline.yaml +0 -54
  197. cognite_toolkit/_builtin_modules/cdf_common/extraction_pipelines/ctx_files_direct_relation_write.config.yaml +0 -28
  198. cognite_toolkit/_builtin_modules/cdf_common/functions/contextualization_connection_writer/handler.py +0 -342
  199. cognite_toolkit/_builtin_modules/cdf_common/functions/contextualization_connection_writer/requirements.txt +0 -3
  200. cognite_toolkit/_builtin_modules/cdf_common/functions/write.Function.yaml +0 -7
  201. cognite_toolkit/_builtin_modules/cdf_common/module.toml +0 -3
  202. cognite_toolkit/_builtin_modules/cdf_common/raw/contextualization_state.DataBase.yaml +0 -1
  203. cognite_toolkit/_builtin_modules/cdf_common/raw/contextualization_state.Table.yaml +0 -2
  204. cognite_toolkit/_builtin_modules/cdf_common/raw/source.DataBase.yaml +0 -1
  205. cognite_toolkit/_builtin_modules/cdf_ingestion/auth/user.Group.yaml +0 -124
  206. cognite_toolkit/_builtin_modules/cdf_ingestion/auth/workflow.Group.yaml +0 -114
  207. cognite_toolkit/_builtin_modules/cdf_ingestion/default.config.yaml +0 -34
  208. cognite_toolkit/_builtin_modules/cdf_ingestion/module.toml +0 -9
  209. cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/ingest.Workflow.yaml +0 -3
  210. cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/trigger.WorkflowTrigger.yaml +0 -9
  211. cognite_toolkit/_builtin_modules/cdf_ingestion/workflows/v1.WorkflowVersion.yaml +0 -150
  212. cognite_toolkit/_builtin_modules/common/README.md +0 -5
  213. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/apm.datamodel.yaml +0 -18
  214. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/apm_config.datamodel.yaml +0 -10
  215. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/config.space.yaml +0 -3
  216. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Activity.container.yaml +0 -108
  217. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Notification.container.yaml +0 -85
  218. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/APM_Operation.container.yaml +0 -83
  219. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/containers/ApmConfig.container.yaml +0 -39
  220. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/source.space.yaml +0 -3
  221. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Activity.view.yaml +0 -119
  222. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Notification.view.yaml +0 -84
  223. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/APM_Operation.view.yaml +0 -86
  224. cognite_toolkit/_builtin_modules/common/cdf_apm_base/data_models/views/ApmConfig.view.yaml +0 -48
  225. cognite_toolkit/_builtin_modules/common/cdf_apm_base/default.config.yaml +0 -1
  226. cognite_toolkit/_builtin_modules/common/cdf_apm_base/module.toml +0 -3
  227. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/README.md +0 -23
  228. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/auth/admin.readonly.group.yaml +0 -270
  229. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/auth/admin.readwrite.group.yaml +0 -336
  230. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/default.config.yaml +0 -2
  231. cognite_toolkit/_builtin_modules/common/cdf_auth_readwrite_all/module.toml +0 -2
  232. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/default.config.yaml +0 -10
  233. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/module.toml +0 -12
  234. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_asset.Transformation.sql +0 -31
  235. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_asset.Transformation.yaml +0 -13
  236. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_equipment.Transformation.sql +0 -31
  237. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_equipment.Transformation.yaml +0 -13
  238. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_timeseries.Transformation.sql +0 -34
  239. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/activity_to_timeseries.Transformation.yaml +0 -13
  240. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_asset.Transformation.sql +0 -32
  241. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_asset.Transformation.yaml +0 -13
  242. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_equipment.Transformation.sql +0 -32
  243. cognite_toolkit/_builtin_modules/contextualization/cdf_connection_sql/transformations/timeseries_to_equipment.Transformation.yaml +0 -13
  244. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/auth/workflow.Group.yaml +0 -83
  245. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/data_models/annotation_type.Node.yaml +0 -2
  246. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/data_models/sourceSystem.node.yaml +0 -13
  247. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/default.config.yaml +0 -16
  248. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/extraction_pipelines/ctx_files_entity_matcher.ExtractionPipeline.yaml +0 -48
  249. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/extraction_pipelines/ctx_files_entity_matcher.config.yaml +0 -35
  250. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/contextualization_entity_matcher/handler.py +0 -476
  251. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/contextualization_entity_matcher/requirements.txt +0 -3
  252. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/functions/functions.Function.yaml +0 -7
  253. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/module.toml +0 -23
  254. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/raw/state.Table.yaml +0 -2
  255. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/entity_matching.Workflow.yaml +0 -3
  256. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/trigger.WorkflowTrigger.yaml +0 -9
  257. cognite_toolkit/_builtin_modules/contextualization/cdf_entity_matching/workflows/v1.WorkflowVersion.yaml +0 -22
  258. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/auth/function.Group.yaml +0 -89
  259. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/data_models/sourceSystem.node.yaml +0 -13
  260. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/default.config.yaml +0 -13
  261. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/extraction_pipelines/ctx_files_pandid_annotater.ExtractionPipeline.yaml +0 -44
  262. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/extraction_pipelines/ctx_files_pandid_annotater.config.yaml +0 -33
  263. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/contextualization_p_and_id_annotater/handler.py +0 -405
  264. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/contextualization_p_and_id_annotater/requirements.txt +0 -3
  265. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/functions/functions.Function.yaml +0 -7
  266. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/module.toml +0 -23
  267. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/p_and_id_parser.Workflow.yaml +0 -3
  268. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/trigger.WorkflowTrigger.yaml +0 -9
  269. cognite_toolkit/_builtin_modules/contextualization/cdf_p_and_id_parser/workflows/v1.WorkflowVersion.yaml +0 -22
  270. cognite_toolkit/_builtin_modules/custom/my_module/auth/.gitkeep +0 -0
  271. cognite_toolkit/_builtin_modules/custom/my_module/default.config.yaml +0 -1
  272. cognite_toolkit/_builtin_modules/custom/my_module/module.toml +0 -2
  273. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/classic/root.Asset.yaml +0 -8
  274. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/data_sets/data_sets.DataSet.yaml +0 -3
  275. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/default.config.yaml +0 -4
  276. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/locations/individualFilters.LocationFilter.yaml +0 -19
  277. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/locations/oneFilter.LocationFilter.yaml +0 -12
  278. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_asset_centric/module.toml +0 -2
  279. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/data_models/instance.Space.yaml +0 -2
  280. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/default.config.yaml +0 -2
  281. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/locations/dataModel.LocationFilter.yaml +0 -17
  282. cognite_toolkit/_builtin_modules/industrial_tools/cdf_location_filter_datamodel_based/module.toml +0 -2
  283. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/auth/locationfilter.Group.yaml +0 -12
  284. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/default.config.yaml +0 -3
  285. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/locations/user.LocationFilter.yaml +0 -9
  286. cognite_toolkit/_builtin_modules/industrial_tools/cdf_search/module.toml +0 -5
  287. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/README.md +0 -3
  288. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/auth/applications-configuration.Group.yaml +0 -22
  289. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/data_models/infieldAppData.space.yaml +0 -3
  290. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/data_models/infield_apm_app_config.node.yaml +0 -28
  291. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/default.config.yaml +0 -2
  292. cognite_toolkit/_builtin_modules/infield/cdf_infield_common/module.toml +0 -6
  293. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/README.md +0 -61
  294. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_checklist_admin_role.group.yaml +0 -100
  295. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_normal_role.group.yaml +0 -100
  296. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_template_admin_role.group.yaml +0 -100
  297. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/auth/infield_viewer_role.group.yaml +0 -85
  298. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_models/infieldLocationAppData.space.yaml +0 -3
  299. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_models/infieldLocationSourceData.space.yaml +0 -3
  300. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_sets/location_app_data_set.DataSet.yaml +0 -3
  301. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/data_sets/location_source_data_set.DataSet.yaml +0 -20
  302. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/default.config.yaml +0 -23
  303. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/module.toml +0 -3
  304. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.sql +0 -34
  305. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.Transformation.yaml +0 -24
  306. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_asset_oid_workmate_infield_sync_assets_from_hierarchy_to_apm.schedule.yaml +0 -3
  307. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.sql +0 -17
  308. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.yaml +0 -25
  309. cognite_toolkit/_builtin_modules/infield/cdf_infield_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.schedule.yaml +0 -3
  310. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/README.md +0 -61
  311. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_checklist_admin_role.group.yaml +0 -100
  312. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_normal_role.group.yaml +0 -100
  313. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_template_admin_role.group.yaml +0 -100
  314. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/auth/infield_viewer_role.group.yaml +0 -85
  315. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_models/infieldLocationAppData.space.yaml +0 -3
  316. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_models/infieldLocationSourceData.space.yaml +0 -3
  317. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_sets/location_app_data_set.DataSet.yaml +0 -3
  318. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/data_sets/location_source_data_set.DataSet.yaml +0 -20
  319. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/default.config.yaml +0 -23
  320. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/module.toml +0 -3
  321. 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
  322. 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
  323. 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
  324. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.sql +0 -17
  325. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.Transformation.yaml +0 -25
  326. cognite_toolkit/_builtin_modules/infield/cdf_infield_second_location/transformations/tr_workorder_oid_workmate_infield_sync_workorders_to_apm_activities.schedule.yaml +0 -3
  327. cognite_toolkit/_builtin_modules/infield/default.config.yaml +0 -21
  328. cognite_toolkit/_builtin_modules/inrobot/README.md +0 -41
  329. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/README.md +0 -53
  330. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/auth/run-function-user.Group.yaml +0 -89
  331. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/classic/robot.Label.yaml +0 -6
  332. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_models/cogniteAppData.space.yaml +0 -3
  333. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_models/inrobotApmConfig.node.yaml +0 -17
  334. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/data_sets/robot_1.dataset.yaml +0 -2
  335. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/default.config.yaml +0 -3
  336. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/.gitkeep +0 -0
  337. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/README.md +0 -30
  338. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/__init__.py +0 -1
  339. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/README.md +0 -58
  340. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/__init__.py +0 -0
  341. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/apm_helpers.py +0 -269
  342. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/cdf_helpers.py +0 -112
  343. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/__init__.py +0 -0
  344. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/common.py +0 -16
  345. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/dataclass/vision.py +0 -66
  346. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/common/utils.py +0 -17
  347. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/handler.py +0 -269
  348. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_contextualize_robot_data/requirements.txt +0 -22
  349. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/README.md +0 -56
  350. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/__init__.py +0 -1
  351. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/README.md +0 -58
  352. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/__init__.py +0 -0
  353. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/apm_helpers.py +0 -269
  354. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/cdf_helpers.py +0 -112
  355. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/__init__.py +0 -0
  356. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/common.py +0 -16
  357. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/dataclass/vision.py +0 -66
  358. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/common/utils.py +0 -17
  359. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/handler.py +0 -396
  360. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_gauge_reading/requirements.txt +0 -22
  361. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/README.md +0 -18
  362. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/__init__.py +0 -1
  363. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/README.md +0 -58
  364. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/__init__.py +0 -0
  365. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/apm_helpers.py +0 -269
  366. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/cdf_helpers.py +0 -112
  367. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/__init__.py +0 -0
  368. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/common.py +0 -16
  369. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/dataclass/vision.py +0 -66
  370. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/common/utils.py +0 -17
  371. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/handler.py +0 -195
  372. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_get_ir_data_from_ir_raw/requirements.txt +0 -23
  373. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/README.md +0 -14
  374. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/__init__.py +0 -1
  375. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/cognite_threesixty_images.py +0 -284
  376. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/handler.py +0 -257
  377. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/fn_threesixty/requirements.txt +0 -7
  378. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/robots.functions.Function.yaml +0 -51
  379. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/functions/schedules.Schedule.yaml +0 -94
  380. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/module.toml +0 -6
  381. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/acoustic_video.RobotCapability.yaml +0 -72
  382. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/process_threesixty.DataPostProcessing.yaml +0 -23
  383. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/pt_ir_video.RobotCapability.yaml +0 -64
  384. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz.RobotCapability.yaml +0 -63
  385. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz_ir.RobotCapability.yaml +0 -80
  386. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/ptz_video.RobotCapability.yaml +0 -68
  387. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_dial_gauge.DataPostProcessing.yaml +0 -31
  388. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_digital_gauge.DataPostProcessing.yaml +0 -35
  389. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_level_gauge.DataPostProcessing.yaml +0 -29
  390. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/read_valve.DataPostProcessing.yaml +0 -23
  391. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/threesixty.RobotCapability.yaml +0 -47
  392. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_common/robotics/threesixty_video.RobotCapability.yaml +0 -47
  393. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/README.md +0 -33
  394. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/inrobot-admin.Group.yaml +0 -107
  395. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/inrobot-users.Group.yaml +0 -94
  396. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/auth/robot-1.Group.yaml +0 -77
  397. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/data_models/locationAppData.space.yaml +0 -3
  398. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/data_models/locationSourceData.space.yaml +0 -3
  399. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/default.config.yaml +0 -7
  400. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/module.toml +0 -3
  401. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Frame.yaml +0 -15
  402. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Location.yaml +0 -3
  403. cognite_toolkit/_builtin_modules/inrobot/cdf_inrobot_location/robotics/root.Map.yaml +0 -10
  404. cognite_toolkit/_builtin_modules/inrobot/default.config.yaml +0 -3
  405. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Activity.Container.yaml +0 -13
  406. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Asset.Container.yaml +0 -13
  407. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/Equipment.Container.yaml +0 -13
  408. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/File.Container.yaml +0 -13
  409. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/containers/TimeSeries.Container.yaml +0 -13
  410. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/enterprise.datamodel.yaml +0 -54
  411. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/schema.space.yaml +0 -1
  412. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Activity.view.yaml +0 -69
  413. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Asset.view.yaml +0 -186
  414. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/Equipment.view.yaml +0 -100
  415. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/File.view.yaml +0 -72
  416. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/data_models/views/TimeSeries.view.yaml +0 -85
  417. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/default.config.yaml +0 -2
  418. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension/module.toml +0 -2
  419. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360Image.Container.yaml +0 -13
  420. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageAnnotation.Container.yaml +0 -13
  421. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageCollection.Container.yaml +0 -13
  422. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageModel.Container.yaml +0 -13
  423. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/360ImageStation.Container.yaml +0 -13
  424. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DModel.Container.yaml +0 -13
  425. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DObject.Container.yaml +0 -13
  426. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DRevision.Container.yaml +0 -13
  427. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/3DTransformation.Container.yaml +0 -13
  428. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Activity.Container.yaml +0 -13
  429. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Annotation.Container.yaml +0 -14
  430. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Asset.Container.yaml +0 -13
  431. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/AssetClass.Container.yaml +0 -13
  432. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/AssetType.Container.yaml +0 -13
  433. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADModel.Container.yaml +0 -13
  434. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADNode.Container.yaml +0 -13
  435. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CADRevision.Container.yaml +0 -13
  436. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/CubeMap.Container.yaml +0 -13
  437. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Describable.Container.yaml +0 -13
  438. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/DiagramAnnotation.Container.yaml +0 -13
  439. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Equipment.Container.yaml +0 -13
  440. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/EquipmentType.Container.yaml +0 -13
  441. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/File.Container.yaml +0 -13
  442. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/FileCategory.Container.yaml +0 -13
  443. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudModel.Container.yaml +0 -13
  444. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudRevision.Container.yaml +0 -13
  445. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/PointCloudVolume.Container.yaml +0 -13
  446. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Schedulable.Container.yaml +0 -13
  447. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/SourceSystem.Container.yaml +0 -13
  448. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Sourceable.Container.yaml +0 -13
  449. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/TimeSeries.Container.yaml +0 -13
  450. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Unit.Container.yaml +0 -13
  451. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/containers/Visualizable.Container.yaml +0 -13
  452. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/enterprise.datamodel.yaml +0 -138
  453. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/schema.space.yaml +0 -1
  454. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360Image.view.yaml +0 -119
  455. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageAnnotation.view.yaml +0 -28
  456. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageCollection.view.yaml +0 -39
  457. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageModel.view.yaml +0 -55
  458. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/360ImageStation.view.yaml +0 -29
  459. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DModel.view.yaml +0 -29
  460. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DObject.view.yaml +0 -81
  461. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DRevision.view.yaml +0 -30
  462. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/3DTransformation.view.yaml +0 -23
  463. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Activity.view.yaml +0 -69
  464. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Annotation.view.yaml +0 -28
  465. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Asset.view.yaml +0 -191
  466. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/AssetClass.view.yaml +0 -17
  467. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/AssetType.view.yaml +0 -31
  468. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADModel.view.yaml +0 -55
  469. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADNode.view.yaml +0 -53
  470. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CADRevision.view.yaml +0 -39
  471. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/CubeMap.view.yaml +0 -97
  472. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Describable.view.yaml +0 -19
  473. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/DiagramAnnotation.view.yaml +0 -28
  474. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Equipment.view.yaml +0 -100
  475. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/EquipmentType.view.yaml +0 -17
  476. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/File.view.yaml +0 -72
  477. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/FileCategory.view.yaml +0 -18
  478. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudModel.view.yaml +0 -55
  479. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudRevision.view.yaml +0 -39
  480. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/PointCloudVolume.view.yaml +0 -52
  481. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Schedulable.view.yaml +0 -17
  482. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/SourceSystem.view.yaml +0 -17
  483. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Sourceable.view.yaml +0 -27
  484. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/TimeSeries.view.yaml +0 -85
  485. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Unit.view.yaml +0 -16
  486. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/data_models/views/Visualizable.view.yaml +0 -29
  487. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/default.config.yaml +0 -2
  488. cognite_toolkit/_builtin_modules/models/cdf_cdm_extension_full/module.toml +0 -2
  489. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Activity.Container.yaml +0 -13
  490. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Asset.Container.yaml +0 -13
  491. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Equipment.Container.yaml +0 -13
  492. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/File.Container.yaml +0 -13
  493. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/MaintenanceOrder.Container.yaml +0 -13
  494. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Notification.Container.yaml +0 -13
  495. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/Operation.Container.yaml +0 -13
  496. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/containers/TimeSeries.Container.yaml +0 -13
  497. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/enterprise.datamodel.yaml +0 -66
  498. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/schema.space.yaml +0 -1
  499. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Activity.view.yaml +0 -69
  500. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Asset.view.yaml +0 -186
  501. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Equipment.view.yaml +0 -100
  502. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/File.view.yaml +0 -72
  503. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/MaintenanceOrder.view.yaml +0 -100
  504. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Notification.view.yaml +0 -56
  505. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/Operation.view.yaml +0 -96
  506. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/data_models/views/TimeSeries.view.yaml +0 -85
  507. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/default.config.yaml +0 -2
  508. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension/module.toml +0 -2
  509. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360Image.Container.yaml +0 -13
  510. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageAnnotation.Container.yaml +0 -14
  511. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageCollection.Container.yaml +0 -13
  512. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageModel.Container.yaml +0 -13
  513. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/360ImageStation.Container.yaml +0 -13
  514. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DModel.Container.yaml +0 -13
  515. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DObject.Container.yaml +0 -13
  516. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DRevision.Container.yaml +0 -13
  517. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/3DTransformation.Container.yaml +0 -13
  518. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Activity.Container.yaml +0 -13
  519. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Annotation.Container.yaml +0 -14
  520. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Asset.Container.yaml +0 -13
  521. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/AssetClass.Container.yaml +0 -13
  522. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/AssetType.Container.yaml +0 -13
  523. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADModel.Container.yaml +0 -13
  524. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADNode.Container.yaml +0 -13
  525. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CADRevision.Container.yaml +0 -13
  526. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/CubeMap.Container.yaml +0 -13
  527. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Describable.Container.yaml +0 -13
  528. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/DiagramAnnotation.Container.yaml +0 -14
  529. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Equipment.Container.yaml +0 -13
  530. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/EquipmentType.Container.yaml +0 -13
  531. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/File.Container.yaml +0 -13
  532. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/FileCategory.Container.yaml +0 -13
  533. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/MaintenanceOrder.Container.yaml +0 -13
  534. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Notification.Container.yaml +0 -13
  535. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Operation.Container.yaml +0 -13
  536. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudModel.Container.yaml +0 -13
  537. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudRevision.Container.yaml +0 -13
  538. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/PointCloudVolume.Container.yaml +0 -13
  539. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Schedulable.Container.yaml +0 -13
  540. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/SourceSystem.Container.yaml +0 -13
  541. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Sourceable.Container.yaml +0 -13
  542. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/TimeSeries.Container.yaml +0 -13
  543. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Unit.Container.yaml +0 -13
  544. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/containers/Visualizable.Container.yaml +0 -13
  545. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/enterprise.datamodel.yaml +0 -150
  546. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/schema.space.yaml +0 -1
  547. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360Image.view.yaml +0 -119
  548. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageAnnotation.view.yaml +0 -28
  549. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageCollection.view.yaml +0 -39
  550. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageModel.view.yaml +0 -55
  551. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/360ImageStation.view.yaml +0 -29
  552. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DModel.view.yaml +0 -29
  553. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DObject.view.yaml +0 -81
  554. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DRevision.view.yaml +0 -30
  555. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/3DTransformation.view.yaml +0 -23
  556. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Activity.view.yaml +0 -69
  557. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Annotation.view.yaml +0 -28
  558. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Asset.view.yaml +0 -191
  559. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/AssetClass.view.yaml +0 -17
  560. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/AssetType.view.yaml +0 -31
  561. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADModel.view.yaml +0 -55
  562. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADNode.view.yaml +0 -53
  563. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CADRevision.view.yaml +0 -39
  564. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/CubeMap.view.yaml +0 -97
  565. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Describable.view.yaml +0 -19
  566. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/DiagramAnnotation.view.yaml +0 -28
  567. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Equipment.view.yaml +0 -100
  568. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/EquipmentType.view.yaml +0 -17
  569. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/File.view.yaml +0 -72
  570. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/FileCategory.view.yaml +0 -18
  571. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/MaintenanceOrder.view.yaml +0 -100
  572. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Notification.view.yaml +0 -56
  573. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Operation.view.yaml +0 -96
  574. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudModel.view.yaml +0 -55
  575. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudRevision.view.yaml +0 -39
  576. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/PointCloudVolume.view.yaml +0 -52
  577. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Schedulable.view.yaml +0 -17
  578. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/SourceSystem.view.yaml +0 -17
  579. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Sourceable.view.yaml +0 -27
  580. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/TimeSeries.view.yaml +0 -85
  581. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Unit.view.yaml +0 -16
  582. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/data_models/views/Visualizable.view.yaml +0 -29
  583. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/default.config.yaml +0 -2
  584. cognite_toolkit/_builtin_modules/models/cdf_process_industry_extension_full/module.toml +0 -2
  585. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Cdf3dRevisionProperties.Container.yaml +0 -13
  586. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_EnvironmentMap.Container.yaml +0 -12
  587. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Image360CollectionProperties.Container.yaml +0 -23
  588. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_Image360CollectionScene.Container.yaml +0 -12
  589. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_SceneConfiguration.Container.yaml +0 -152
  590. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_TexturedMap.Container.yaml +0 -21
  591. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/containers/scene_TexturedPlane.Container.yaml +0 -29
  592. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/scene.Space.yaml +0 -3
  593. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/scene_data_model.DataModel.yaml +0 -66
  594. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/EnvironmentMap.View.yaml +0 -28
  595. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/Image360CollectionProperties.View.yaml +0 -22
  596. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/Image360CollectionScene.View.yaml +0 -20
  597. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/RevisionProperties.View.yaml +0 -16
  598. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/SceneConfiguration.View.yaml +0 -166
  599. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/TexturedMap.View.yaml +0 -17
  600. cognite_toolkit/_builtin_modules/models/cdf_scene/data_models/views/TexturedPlane.View.yaml +0 -40
  601. cognite_toolkit/_builtin_modules/models/cdf_scene/default.config.yaml +0 -1
  602. cognite_toolkit/_builtin_modules/models/cdf_scene/module.toml +0 -2
  603. cognite_toolkit/_builtin_modules/packages.toml +0 -102
  604. cognite_toolkit/_builtin_modules/sourcesystem/README.md +0 -4
  605. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/auth/workflow.Group.yaml +0 -53
  606. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/default.config.yaml +0 -13
  607. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/extraction_pipelines/extractor.Config.yaml +0 -4
  608. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/extraction_pipelines/extractor.ExtractionPipeline.yaml +0 -11
  609. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/module.toml +0 -24
  610. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/raw/timeseries.Table.yaml +0 -2
  611. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/transformations/population/timeseries.Transformation.sql +0 -9
  612. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/transformations/population/timeseries.Transformation.yaml +0 -13
  613. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/population.Workflow.yaml +0 -3
  614. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/trigger.WorkflowTrigger.yaml +0 -9
  615. cognite_toolkit/_builtin_modules/sourcesystem/cdf_pi/workflows/v1.WorkflowVersion.yaml +0 -11
  616. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/auth/workflow.Group.yaml +0 -54
  617. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/default.config.yaml +0 -15
  618. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/module.toml +0 -24
  619. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/raw/dump.Table.yaml +0 -2
  620. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/connection/equipment_to_asset.Transformation.sql +0 -14
  621. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/connection/equipment_to_asset.Transformation.yaml +0 -13
  622. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/asset.Transformation.sql +0 -35
  623. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/asset.Transformation.yaml +0 -13
  624. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/equipment.Transformation.sql +0 -17
  625. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/transformations/population/equipment.Transformation.yaml +0 -13
  626. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/population.Workflow.yaml +0 -3
  627. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/trigger.WorkflowTrigger.yaml +0 -9
  628. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_assets/workflows/v1.WorkflowVersion.yaml +0 -28
  629. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/auth/workflow.Group.yaml +0 -46
  630. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/default.config.yaml +0 -15
  631. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/module.toml +0 -20
  632. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workitem.Table.yaml +0 -2
  633. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workorder.Table.yaml +0 -2
  634. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/workpackage.Table.yaml +0 -2
  635. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/raw/worktask.Table.yaml +0 -2
  636. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/connection/operation_to_maintenance_order.Transformation.sql +0 -32
  637. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/connection/operation_to_maintenance_order.Transformation.yaml +0 -13
  638. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/maintenanceOrder.Transformation.sql +0 -18
  639. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/maintenanceOrder.Transformation.yaml +0 -13
  640. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/operation.Transformation.sql +0 -18
  641. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/transformations/population/operation.Transformation.yaml +0 -13
  642. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/population.Workflow.yaml +0 -3
  643. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/trigger.WorkflowTrigger.yaml +0 -9
  644. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sap_events/workflows/v1.WorkflowVersion.yaml +0 -28
  645. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/auth/workflow.Group.yaml +0 -47
  646. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/default.config.yaml +0 -13
  647. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/files/upload.CogniteFile.yaml +0 -4
  648. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/module.toml +0 -26
  649. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/raw/files.Table.yaml +0 -2
  650. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/transformations/population/files.Transformation.sql +0 -9
  651. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/transformations/population/files.Transformation.yaml +0 -13
  652. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/population.Workflow.yaml +0 -3
  653. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/trigger.WorkflowTrigger.yaml +0 -9
  654. cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/v1.WorkflowVersion.yaml +0 -11
  655. cognite_toolkit/_cdf_tk/_parameters/__init__.py +0 -18
  656. cognite_toolkit/_cdf_tk/_parameters/constants.py +0 -82
  657. cognite_toolkit/_cdf_tk/_parameters/data_classes.py +0 -200
  658. cognite_toolkit/_cdf_tk/_parameters/functions.py +0 -190
  659. cognite_toolkit/_cdf_tk/_parameters/get_type_hints.py +0 -123
  660. cognite_toolkit/_cdf_tk/_parameters/type_hint.py +0 -116
  661. cognite_toolkit/_cdf_tk/apps/_populate_app.py +0 -80
  662. cognite_toolkit/_cdf_tk/commands/_migrate/adapter.py +0 -203
  663. cognite_toolkit/_cdf_tk/commands/_migrate/assets.py +0 -0
  664. cognite_toolkit/_cdf_tk/commands/_migrate/base.py +0 -106
  665. cognite_toolkit/_cdf_tk/commands/_migrate/canvas.py +0 -145
  666. cognite_toolkit/_cdf_tk/commands/_migrate/files.py +0 -165
  667. cognite_toolkit/_cdf_tk/commands/_migrate/timeseries.py +0 -165
  668. cognite_toolkit/_cdf_tk/commands/_populate.py +0 -306
  669. cognite_toolkit/_cdf_tk/commands/dump_data.py +0 -489
  670. cognite_toolkit/_cdf_tk/commands/featureflag.py +0 -27
  671. cognite_toolkit/_cdf_tk/prototypes/_packages/__init__.py +0 -1
  672. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/manifest.yaml +0 -4
  673. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/auth/reference.Group.yaml +0 -375
  674. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/auth/reference.SecurityCategory.yaml +0 -1
  675. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_models/reference.DataModel.yaml +0 -19
  676. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_models/reference.View.yaml +0 -8
  677. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/data_sets/reference.DataSet.yaml +0 -8
  678. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/extraction_pipelines/reference.ExtractionPipeline.yaml +0 -27
  679. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/extraction_pipelines/reference.ExtractionPipelineConfig.yaml +0 -3
  680. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/functions/reference.Function.yaml +0 -22
  681. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/functions/reference.FunctionSchedule.yaml +0 -6
  682. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/labels/reference.LabelDefinition.yaml +0 -4
  683. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/timeseries/reference.DataPointSubscription.yaml +0 -7
  684. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.Transformation.yaml +0 -51
  685. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.TransformationNotification.yaml +0 -3
  686. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/transformations/reference.TransformationSchedule.yaml +0 -4
  687. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/workflows/reference.WorkflowUpsert.yaml +0 -2
  688. cognite_toolkit/_cdf_tk/prototypes/_packages/reference/references/workflows/reference.WorkflowVersionUpsert.yaml +0 -10
  689. cognite_toolkit/_cdf_tk/prototypes/_packages/update_references.py +0 -337
  690. cognite_toolkit/_cdf_tk/storageio/_selectors.py +0 -151
  691. cognite_toolkit/_cdf_tk/utils/table_writers.py +0 -434
  692. cognite_toolkit/_cdf_tk/utils/tarjan.py +0 -46
  693. cognite_toolkit-0.6.39.dist-info/RECORD +0 -785
  694. cognite_toolkit-0.6.39.dist-info/WHEEL +0 -4
  695. cognite_toolkit-0.6.39.dist-info/licenses/LICENSE +0 -18
@@ -1,65 +1,69 @@
1
- import dataclasses
2
1
  import uuid
2
+ from abc import ABC, abstractmethod
3
3
  from collections.abc import Callable, Hashable, Iterable, Sequence
4
+ from dataclasses import dataclass
4
5
  from functools import partial
5
- from graphlib import CycleError, TopologicalSorter
6
- from typing import cast
6
+ from typing import Literal, cast
7
7
 
8
8
  import questionary
9
- from cognite.client.data_classes import AggregateResultItem, DataSetUpdate, filters
10
- from cognite.client.data_classes._base import CogniteResourceList
11
- from cognite.client.data_classes.data_modeling import NodeId, ViewId
9
+ from cognite.client.data_classes import DataSetUpdate
10
+ from cognite.client.data_classes.data_modeling import Edge, NodeId
11
+ from cognite.client.data_classes.data_modeling.statistics import SpaceStatistics
12
12
  from cognite.client.exceptions import CogniteAPIError
13
13
  from cognite.client.utils._identifier import InstanceId
14
14
  from rich import print
15
15
  from rich.console import Console
16
16
  from rich.panel import Panel
17
- from rich.status import Status
18
17
 
19
18
  from cognite_toolkit._cdf_tk.client import ToolkitClient
20
19
  from cognite_toolkit._cdf_tk.cruds import (
21
- RESOURCE_CRUD_LIST,
22
20
  AssetCRUD,
23
- CogniteFileCRUD,
24
21
  ContainerCRUD,
25
22
  DataModelCRUD,
26
- DataSetsCRUD,
27
23
  EdgeCRUD,
28
- FunctionCRUD,
29
- GraphQLCRUD,
30
- GroupAllScopedCRUD,
31
- GroupCRUD,
32
- GroupResourceScopedCRUD,
33
- HostedExtractorDestinationCRUD,
34
- LocationFilterCRUD,
24
+ EventCRUD,
25
+ ExtractionPipelineCRUD,
26
+ FileMetadataCRUD,
27
+ LabelCRUD,
35
28
  NodeCRUD,
29
+ RelationshipCRUD,
36
30
  ResourceCRUD,
31
+ SequenceCRUD,
37
32
  SpaceCRUD,
38
- StreamlitCRUD,
33
+ ThreeDModelCRUD,
34
+ TimeSeriesCRUD,
39
35
  TransformationCRUD,
40
36
  ViewCRUD,
37
+ WorkflowCRUD,
41
38
  )
42
39
  from cognite_toolkit._cdf_tk.data_classes import DeployResults, ResourceDeployResult
43
40
  from cognite_toolkit._cdf_tk.exceptions import (
44
41
  AuthorizationError,
45
- CDFAPIError,
46
42
  ToolkitMissingResourceError,
47
- ToolkitRequiredValueError,
48
- ToolkitValueError,
49
43
  )
50
- from cognite_toolkit._cdf_tk.storageio import InstanceIO, InstanceSelector
44
+ from cognite_toolkit._cdf_tk.protocols import ResourceResponseProtocol
45
+ from cognite_toolkit._cdf_tk.storageio import InstanceIO
46
+ from cognite_toolkit._cdf_tk.storageio.selectors import InstanceSelector
51
47
  from cognite_toolkit._cdf_tk.tk_warnings import (
52
48
  HighSeverityWarning,
53
49
  LimitedAccessWarning,
54
- MediumSeverityWarning,
55
50
  )
56
51
  from cognite_toolkit._cdf_tk.utils import humanize_collection
52
+ from cognite_toolkit._cdf_tk.utils.aggregators import (
53
+ AssetAggregator,
54
+ EventAggregator,
55
+ FileAggregator,
56
+ LabelCountAggregator,
57
+ RelationshipAggregator,
58
+ SequenceAggregator,
59
+ TimeSeriesAggregator,
60
+ )
57
61
  from cognite_toolkit._cdf_tk.utils.http_client import (
58
- FailedRequestMessage,
62
+ FailedRequestItems,
63
+ FailedResponseItems,
59
64
  HTTPClient,
60
65
  ItemsRequest,
61
- ResponseMessage,
62
- SuccessItem,
66
+ SuccessResponseItems,
63
67
  )
64
68
  from cognite_toolkit._cdf_tk.utils.producer_worker import ProducerWorkerExecutor
65
69
  from cognite_toolkit._cdf_tk.utils.useful_types import JsonVal
@@ -68,95 +72,158 @@ from cognite_toolkit._cdf_tk.utils.validate_access import ValidateAccess
68
72
  from ._base import ToolkitCommand
69
73
 
70
74
 
71
- @dataclasses.dataclass
75
+ @dataclass
72
76
  class DeleteResults:
73
77
  deleted: int = 0
74
78
  failed: int = 0
75
79
 
76
80
 
81
+ @dataclass
82
+ class DeleteItem:
83
+ item: JsonVal
84
+ as_id_fun: Callable[[JsonVal], Hashable]
85
+
86
+ def dump(self) -> JsonVal:
87
+ return self.item
88
+
89
+ def as_id(self) -> Hashable:
90
+ return self.as_id_fun(self.item)
91
+
92
+
93
+ @dataclass
94
+ class ToDelete(ABC):
95
+ crud: ResourceCRUD
96
+ total: int
97
+ delete_url: str
98
+
99
+ @property
100
+ def display_name(self) -> str:
101
+ return self.crud.display_name
102
+
103
+ @abstractmethod
104
+ def get_process_function(
105
+ self, client: ToolkitClient, console: Console, verbose: bool, process_results: ResourceDeployResult
106
+ ) -> Callable[[list[ResourceResponseProtocol]], list[JsonVal]]:
107
+ raise NotImplementedError()
108
+
109
+ def get_extra_fields(self) -> dict[str, JsonVal]:
110
+ return {}
111
+
112
+
113
+ @dataclass
114
+ class DataModelingToDelete(ToDelete):
115
+ def get_process_function(
116
+ self, client: ToolkitClient, console: Console, verbose: bool, process_results: ResourceDeployResult
117
+ ) -> Callable[[list[ResourceResponseProtocol]], list[JsonVal]]:
118
+ def as_id(chunk: list[ResourceResponseProtocol]) -> list[JsonVal]:
119
+ # We know that all data modeling resources implement as_id
120
+ return [item.as_id().dump(include_type=False) for item in chunk] # type: ignore[attr-defined]
121
+
122
+ return as_id
123
+
124
+
125
+ @dataclass
126
+ class EdgeToDelete(ToDelete):
127
+ def get_process_function(
128
+ self, client: ToolkitClient, console: Console, verbose: bool, process_results: ResourceDeployResult
129
+ ) -> Callable[[list[ResourceResponseProtocol]], list[JsonVal]]:
130
+ def as_id(chunk: list[ResourceResponseProtocol]) -> list[JsonVal]:
131
+ return [
132
+ {"space": item.space, "externalId": item.external_id, "instanceType": "edge"}
133
+ for item in cast(list[Edge], chunk)
134
+ ]
135
+
136
+ return as_id
137
+
138
+
139
+ @dataclass
140
+ class NodesToDelete(ToDelete):
141
+ delete_datapoints: bool
142
+ delete_file_content: bool
143
+
144
+ def get_process_function(
145
+ self, client: ToolkitClient, console: Console, verbose: bool, process_results: ResourceDeployResult
146
+ ) -> Callable[[list[ResourceResponseProtocol]], list[JsonVal]]:
147
+ def check_for_data(chunk: list[ResourceResponseProtocol]) -> list[JsonVal]:
148
+ # We know that all node resources implement as_id
149
+ node_ids = [item.as_id() for item in chunk] # type: ignore[attr-defined]
150
+ found_ids: set[InstanceId] = set()
151
+ if not self.delete_datapoints:
152
+ timeseries = client.time_series.retrieve_multiple(instance_ids=node_ids, ignore_unknown_ids=True)
153
+ found_ids |= {ts.instance_id for ts in timeseries if ts.instance_id is not None}
154
+ if not self.delete_file_content:
155
+ files = client.files.retrieve_multiple(instance_ids=node_ids, ignore_unknown_ids=True)
156
+ found_ids |= {f.instance_id for f in files if f.instance_id is not None}
157
+ if found_ids and verbose:
158
+ console.print(f"Skipping {found_ids} nodes as they have datapoints or file content")
159
+ process_results.unchanged += len(found_ids)
160
+ result: list[JsonVal] = []
161
+ for node_id in (n for n in node_ids if n not in found_ids):
162
+ dumped = node_id.dump(include_instance_type=True)
163
+ # The delete endpoint expects "instanceType" instead of "type"
164
+ dumped["instanceType"] = dumped.pop("type")
165
+ result.append(dumped)
166
+ return result
167
+
168
+ return check_for_data
169
+
170
+
171
+ @dataclass
172
+ class IdResourceToDelete(ToDelete):
173
+ def get_process_function(
174
+ self, client: ToolkitClient, console: Console, verbose: bool, process_results: ResourceDeployResult
175
+ ) -> Callable[[list[ResourceResponseProtocol]], list[JsonVal]]:
176
+ def as_id(chunk: list[ResourceResponseProtocol]) -> list[JsonVal]:
177
+ # We know that all id resources have an id attribute
178
+ return [{"id": item.id} for item in chunk] # type: ignore[attr-defined]
179
+
180
+ return as_id
181
+
182
+
183
+ @dataclass
184
+ class ExternalIdToDelete(ToDelete):
185
+ def get_process_function(
186
+ self, client: ToolkitClient, console: Console, verbose: bool, process_results: ResourceDeployResult
187
+ ) -> Callable[[list[ResourceResponseProtocol]], list[JsonVal]]:
188
+ def as_external_id(chunk: list[ResourceResponseProtocol]) -> list[JsonVal]:
189
+ # We know that all external id resources have an external_id attribute
190
+ return [{"externalId": item.external_id} for item in chunk] # type: ignore[attr-defined]
191
+
192
+ return as_external_id
193
+
194
+
195
+ @dataclass
196
+ class AssetToDelete(IdResourceToDelete):
197
+ recursive: bool
198
+
199
+ def get_extra_fields(self) -> dict[str, JsonVal]:
200
+ return {"recursive": self.recursive}
201
+
202
+
77
203
  class PurgeCommand(ToolkitCommand):
78
204
  BATCH_SIZE_DM = 1000
79
205
 
80
206
  def space(
81
- self,
82
- client: ToolkitClient,
83
- space: str | None = None,
84
- include_space: bool = False,
85
- dry_run: bool = False,
86
- auto_yes: bool = False,
87
- verbose: bool = False,
88
- ) -> None:
89
- """Purge a space and all its content"""
90
- selected_space = self._get_selected_space(space, client)
91
- if space is None:
92
- # Interactive mode
93
- include_space = questionary.confirm("Do you also want to delete the space itself?", default=False).ask()
94
- dry_run = questionary.confirm("Dry run?", default=True).ask()
95
- if not dry_run:
96
- self._print_panel("space", selected_space)
97
- if not auto_yes:
98
- confirm = questionary.confirm(
99
- f"Are you really sure you want to purge the {selected_space!r} space?", default=False
100
- ).ask()
101
- if not confirm:
102
- return
103
- confirm = questionary.confirm(
104
- f"If any of the nodes in {selected_space!r} are TimeSeries or Files, this will delete the "
105
- "datapoints and file contents. If you want to unlink the nodes before deleting, please use the "
106
- "cdf purge instances command. Are you sure you want to continue?",
107
- default=False,
108
- ).ask()
109
- if not confirm:
110
- return
111
- loaders = self._get_dependencies(
112
- SpaceCRUD,
113
- exclude={
114
- GraphQLCRUD,
115
- GroupResourceScopedCRUD,
116
- LocationFilterCRUD,
117
- TransformationCRUD,
118
- CogniteFileCRUD,
119
- },
120
- )
121
- is_purged = self._purge(client, loaders, selected_space, dry_run=dry_run, verbose=verbose)
122
- if include_space and is_purged:
123
- space_loader = SpaceCRUD.create_loader(client)
124
- if dry_run:
125
- print(f"Would delete space {selected_space}")
126
- else:
127
- try:
128
- space_loader.delete([selected_space])
129
- print(f"Space {selected_space} deleted")
130
- except CogniteAPIError as e:
131
- self.warn(HighSeverityWarning(f"Failed to delete space {selected_space!r}: {e}"))
132
- elif include_space:
133
- self.warn(HighSeverityWarning(f"Space {selected_space!r} was not deleted due to errors during the purge"))
134
-
135
- if not dry_run and is_purged:
136
- print(f"Purge space {selected_space!r} completed.")
137
- elif not dry_run:
138
- print(f"Purge space {selected_space!r} partly completed. See warnings for details.")
139
-
140
- def space_v2(
141
207
  self,
142
208
  client: ToolkitClient,
143
209
  selected_space: str,
144
210
  include_space: bool = False,
211
+ delete_datapoints: bool = False,
212
+ delete_file_content: bool = False,
145
213
  dry_run: bool = False,
146
214
  auto_yes: bool = False,
147
215
  verbose: bool = False,
148
216
  ) -> DeployResults:
149
- results = DeployResults([], "purge", dry_run=dry_run)
150
-
151
217
  # Warning Messages
152
218
  if not dry_run:
153
219
  self._print_panel("space", selected_space)
220
+
154
221
  if not dry_run and not auto_yes:
155
222
  confirm = questionary.confirm(
156
223
  f"Are you really sure you want to purge the {selected_space!r} space?", default=False
157
224
  ).ask()
158
225
  if not confirm:
159
- return results
226
+ return DeployResults([], "purge", dry_run=dry_run)
160
227
 
161
228
  stats = client.data_modeling.statistics.spaces.retrieve(selected_space)
162
229
  if stats is None:
@@ -165,189 +232,328 @@ class PurgeCommand(ToolkitCommand):
165
232
  # ValidateAuth
166
233
  validator = ValidateAccess(client, "purge")
167
234
  if include_space or (stats.containers + stats.views + stats.data_models) > 0:
235
+ # We check for write even in dry-run mode. This is because dry-run is expected to fail
236
+ # if the user cannot perform the purge.
168
237
  validator.data_model(["read", "write"], spaces={selected_space})
169
238
  if (stats.nodes + stats.edges) > 0:
170
239
  validator.instances(["read", "write"], spaces={selected_space})
171
240
 
172
- config = client.config
173
- total_by_crud_cls = {
174
- EdgeCRUD: (stats.edges, config.create_api_url("/models/instances/delete")),
175
- NodeCRUD: (stats.nodes, config.create_api_url("/models/instances/delete")),
176
- DataModelCRUD: (stats.data_models, config.create_api_url("/models/datamodels/delete")),
177
- ViewCRUD: (stats.views, config.create_api_url("/models/views/delete")),
178
- ContainerCRUD: (stats.containers, config.create_api_url("/models/containers/delete")),
179
- }
241
+ to_delete = self._create_to_delete_list_purge_space(client, delete_datapoints, delete_file_content, stats)
180
242
  if dry_run:
181
- for crud_cls, (total, _) in total_by_crud_cls.items():
182
- crud = crud_cls.create_loader(client) # type: ignore[attr-defined]
183
- results[crud.display_name] = ResourceDeployResult(crud.display_name, deleted=total)
243
+ results = DeployResults([], "purge", dry_run=True)
244
+ for item in to_delete:
245
+ results[item.display_name] = ResourceDeployResult(item.display_name, deleted=item.total)
184
246
  if include_space:
185
247
  space_loader = SpaceCRUD.create_loader(client)
186
248
  results[space_loader.display_name] = ResourceDeployResult(space_loader.display_name, deleted=1)
187
249
  else:
188
- with HTTPClient(client.config, max_retries=10) as delete_client:
189
- for crud_cls, (total, URL) in total_by_crud_cls.items():
190
- crud = crud_cls.create_loader(client) # type: ignore[attr-defined]
191
- if total == 0:
192
- results[crud.display_name] = ResourceDeployResult(crud.display_name, deleted=0)
193
- continue
194
- result = ResourceDeployResult(crud.display_name)
195
- # Containers, DataModels and Views need special handling to avoid type info in the delete call
196
- # While for instance we need the type info in delete.
197
- dump_args = (
198
- {"include_type": False} if isinstance(crud, ContainerCRUD | DataModelCRUD | ViewCRUD) else {}
199
- )
200
- executor = ProducerWorkerExecutor[CogniteResourceList, list[JsonVal]](
201
- download_iterable=self._iterate_batch(crud, selected_space, batch_size=self.BATCH_SIZE_DM),
202
- process=lambda list_: [item.as_id().dump(**dump_args) for item in list_],
203
- write=self._purge_batch(crud, URL, delete_client, result),
204
- max_queue_size=10,
205
- iteration_count=total // self.BATCH_SIZE_DM + (1 if total % self.BATCH_SIZE_DM > 0 else 0),
206
- download_description=f"Downloading {crud.display_name}",
207
- process_description=f"Preparing {crud.display_name} for deletion",
208
- write_description=f"Deleting {crud.display_name}",
209
- )
210
- executor.run()
211
- results[crud.display_name] = result
212
- if executor.error_occurred:
213
- self.warn(
214
- HighSeverityWarning(f"Failed to delete all {crud.display_name}. {executor.error_message}")
215
- )
250
+ results = self._delete_resources(to_delete, client, verbose, selected_space, None)
216
251
  if include_space:
217
- space_loader = SpaceCRUD.create_loader(client)
218
- try:
219
- space_loader.delete([selected_space])
220
- print(f"Space {selected_space} deleted")
221
- except CogniteAPIError as e:
222
- self.warn(HighSeverityWarning(f"Failed to delete space {selected_space!r}: {e}"))
223
- else:
224
- results[space_loader.display_name] = ResourceDeployResult(space_loader.display_name, deleted=1)
252
+ self._delete_space(client, selected_space, results)
225
253
  print(results.counts_table(exclude_columns={"Created", "Changed", "Total"}))
226
254
  return results
227
255
 
228
256
  @staticmethod
229
- def _iterate_batch(crud: ResourceCRUD, selected_space: str, batch_size: int) -> Iterable[CogniteResourceList]:
230
- batch = crud.list_cls([])
231
- for resource in crud.iterate(space=selected_space):
257
+ def _create_to_delete_list_purge_space(
258
+ client: ToolkitClient, delete_datapoints: bool, delete_file_content: bool, stats: SpaceStatistics
259
+ ) -> list[ToDelete]:
260
+ config = client.config
261
+ to_delete = [
262
+ EdgeToDelete(
263
+ EdgeCRUD.create_loader(client), stats.edges, config.create_api_url("/models/instances/delete")
264
+ ),
265
+ NodesToDelete(
266
+ NodeCRUD.create_loader(client),
267
+ stats.nodes,
268
+ config.create_api_url(
269
+ "/models/instances/delete",
270
+ ),
271
+ delete_datapoints=delete_datapoints,
272
+ delete_file_content=delete_file_content,
273
+ ),
274
+ DataModelingToDelete(
275
+ DataModelCRUD.create_loader(client),
276
+ stats.data_models,
277
+ config.create_api_url("/models/datamodels/delete"),
278
+ ),
279
+ DataModelingToDelete(
280
+ ViewCRUD.create_loader(client), stats.views, config.create_api_url("/models/views/delete")
281
+ ),
282
+ DataModelingToDelete(
283
+ ContainerCRUD.create_loader(client),
284
+ stats.containers,
285
+ config.create_api_url("/models/containers/delete"),
286
+ ),
287
+ ]
288
+ return to_delete
289
+
290
+ def _delete_space(self, client: ToolkitClient, selected_space: str, results: DeployResults) -> None:
291
+ space_loader = SpaceCRUD.create_loader(client)
292
+ try:
293
+ space_loader.delete([selected_space])
294
+ print(f"Space {selected_space} deleted")
295
+ except CogniteAPIError as e:
296
+ self.warn(HighSeverityWarning(f"Failed to delete space {selected_space!r}: {e}"))
297
+ else:
298
+ results[space_loader.display_name] = ResourceDeployResult(space_loader.display_name, deleted=1)
299
+
300
+ def _delete_resources(
301
+ self,
302
+ to_delete: list[ToDelete],
303
+ client: ToolkitClient,
304
+ verbose: bool,
305
+ space: str | None,
306
+ data_set_external_id: str | None,
307
+ ) -> DeployResults:
308
+ results = DeployResults([], "purge", dry_run=False)
309
+ console = Console()
310
+ with HTTPClient(client.config, max_retries=10) as delete_client:
311
+ for item in to_delete:
312
+ if item.total == 0:
313
+ results[item.display_name] = ResourceDeployResult(item.display_name, deleted=0)
314
+ continue
315
+ # Two results objects since they are updated concurrently
316
+ process_results = ResourceDeployResult(item.display_name)
317
+ write_results = ResourceDeployResult(item.display_name)
318
+ iteration_count: int | None = None
319
+ if item.total > 0:
320
+ iteration_count = item.total // self.BATCH_SIZE_DM + (
321
+ 1 if item.total % self.BATCH_SIZE_DM > 0 else 0
322
+ )
323
+ executor = ProducerWorkerExecutor[list[ResourceResponseProtocol], list[JsonVal]](
324
+ download_iterable=self._iterate_batch(
325
+ item.crud, space, data_set_external_id, batch_size=self.BATCH_SIZE_DM
326
+ ),
327
+ process=item.get_process_function(client, console, verbose, process_results),
328
+ write=self._purge_batch(item, item.delete_url, delete_client, write_results),
329
+ max_queue_size=10,
330
+ iteration_count=iteration_count,
331
+ download_description=f"Downloading {item.display_name}",
332
+ process_description=f"Preparing {item.display_name} for deletion",
333
+ write_description=f"Deleting {item.display_name}",
334
+ console=console,
335
+ )
336
+ executor.run()
337
+ write_results += process_results
338
+ results[item.display_name] = write_results
339
+ if executor.error_occurred:
340
+ if verbose and executor.error_traceback:
341
+ executor.print_traceback()
342
+ self.warn(
343
+ HighSeverityWarning(f"Failed to delete all {item.display_name}. {executor.error_message}")
344
+ )
345
+ return results
346
+
347
+ @staticmethod
348
+ def _iterate_batch(
349
+ crud: ResourceCRUD, selected_space: str | None, data_set_external_id: str | None, batch_size: int
350
+ ) -> Iterable[list[ResourceResponseProtocol]]:
351
+ batch: list[ResourceResponseProtocol] = []
352
+ for resource in crud.iterate(space=selected_space, data_set_external_id=data_set_external_id):
232
353
  batch.append(resource)
233
354
  if len(batch) >= batch_size:
234
355
  yield batch
235
- batch = crud.list_cls([])
356
+ batch = []
236
357
  if batch:
237
358
  yield batch
238
359
 
239
360
  @staticmethod
240
361
  def _purge_batch(
241
- crud: ResourceCRUD, delete_url: str, delete_client: HTTPClient, result: ResourceDeployResult
362
+ delete_item: ToDelete, delete_url: str, delete_client: HTTPClient, result: ResourceDeployResult
242
363
  ) -> Callable[[list[JsonVal]], None]:
364
+ crud = delete_item.crud
365
+
366
+ def as_id(item: JsonVal) -> Hashable:
367
+ try:
368
+ return crud.get_id(item)
369
+ except KeyError:
370
+ # Fallback to internal ID
371
+ return crud.get_internal_id(item)
372
+
243
373
  def process(items: list[JsonVal]) -> None:
244
374
  responses = delete_client.request_with_retries(
245
375
  ItemsRequest(
246
376
  endpoint_url=delete_url,
247
377
  method="POST",
248
- items=items,
249
- as_id=crud.get_id,
378
+ items=[DeleteItem(item=item, as_id_fun=as_id) for item in items],
379
+ extra_body_fields=delete_item.get_extra_fields(),
250
380
  )
251
381
  )
252
382
  for response in responses:
253
- if isinstance(response, SuccessItem):
254
- result.deleted += 1
383
+ if isinstance(response, SuccessResponseItems):
384
+ result.deleted += len(response.ids)
255
385
  else:
256
- result.unchanged += 1
386
+ result.unchanged += len(items)
257
387
 
258
388
  return process
259
389
 
260
- @staticmethod
261
- def _get_dependencies(
262
- loader_cls: type[ResourceCRUD], exclude: set[type[ResourceCRUD]] | None = None
263
- ) -> dict[type[ResourceCRUD], frozenset[type[ResourceCRUD]]]:
264
- return {
265
- dep_cls: dep_cls.dependencies
266
- for dep_cls in RESOURCE_CRUD_LIST
267
- if loader_cls in dep_cls.dependencies and (exclude is None or dep_cls not in exclude)
268
- }
269
-
270
- @staticmethod
271
- def _get_selected_space(space: str | None, client: ToolkitClient) -> str:
272
- if space is None:
273
- spaces = client.data_modeling.spaces.list(limit=-1, include_global=False)
274
- selected_space = questionary.select(
275
- "Which space do you want to purge"
276
- " (including all data models, views, containers, nodes and edges within that space)?",
277
- sorted([space.space for space in spaces]),
278
- ).ask()
279
- else:
280
- retrieved = client.data_modeling.spaces.retrieve(space)
281
- if retrieved is None:
282
- raise ToolkitMissingResourceError(f"Space {space} does not exist")
283
- selected_space = space
284
-
285
- if selected_space is None:
286
- raise ToolkitValueError("No space selected")
287
- return selected_space
288
-
289
390
  def dataset(
290
391
  self,
291
392
  client: ToolkitClient,
292
- external_id: str | None = None,
293
- include_dataset: bool = False,
393
+ selected_data_set_external_id: str,
394
+ archive_dataset: bool = False,
395
+ include_data: bool = True,
396
+ include_configurations: bool = False,
397
+ asset_recursive: bool = False,
294
398
  dry_run: bool = False,
295
399
  auto_yes: bool = False,
296
400
  verbose: bool = False,
297
- ) -> None:
298
- """Purge a dataset and all its content"""
299
- selected_dataset = self._get_selected_dataset(external_id, client)
300
- if external_id is None:
301
- # Interactive mode
302
- include_dataset = questionary.confirm(
303
- "Do you want to archive the dataset itself after the purge?", default=False
304
- ).ask()
305
- dry_run = questionary.confirm("Dry run?", default=True).ask()
401
+ ) -> DeployResults:
402
+ """Purge a dataset and all its content
403
+
404
+ Args:
405
+ client: The ToolkitClient to use
406
+ selected_data_set_external_id: The external ID of the dataset to purge
407
+ archive_dataset: Whether to archive the dataset itself after the purge
408
+ include_data: Whether to include data (assets, events, time series, files, sequences, 3D models, relationships, labels) in the purge
409
+ include_configurations: Whether to include configurations (workflows, transformations, extraction pipelines) in the purge
410
+ asset_recursive: Whether to recursively delete assets.
411
+ dry_run: Whether to perform a dry run
412
+ auto_yes: Whether to automatically confirm the purge
413
+ verbose: Whether to print verbose output
414
+
415
+ Returns:
416
+ DeployResults: The results of the purge operation
417
+
418
+ """
419
+ # Warning Messages
306
420
  if not dry_run:
307
- self._print_panel("dataset", selected_dataset)
308
- if not auto_yes:
309
- confirm = questionary.confirm(
310
- f"Are you really sure you want to purge the {selected_dataset!r} dataset?", default=False
311
- ).ask()
312
- if not confirm:
313
- return
314
-
315
- loaders = self._get_dependencies(
316
- DataSetsCRUD,
317
- exclude={
318
- GroupCRUD,
319
- GroupResourceScopedCRUD,
320
- GroupAllScopedCRUD,
321
- StreamlitCRUD,
322
- HostedExtractorDestinationCRUD,
323
- FunctionCRUD,
324
- LocationFilterCRUD,
325
- },
421
+ self._print_panel("dataSet", selected_data_set_external_id)
422
+ if not dry_run and not auto_yes:
423
+ confirm = questionary.confirm(
424
+ f"Are you really sure you want to purge the {selected_data_set_external_id!r} dataSet?", default=False
425
+ ).ask()
426
+ if not confirm:
427
+ return DeployResults([], "purge", dry_run=dry_run)
428
+
429
+ # Validate Auth
430
+ validator = ValidateAccess(client, "purge")
431
+ data_set_id = client.lookup.data_sets.id(selected_data_set_external_id)
432
+ if data_set_id is None:
433
+ raise ToolkitMissingResourceError(f"DataSet {selected_data_set_external_id!r} does not exist")
434
+ action = cast(Sequence[Literal["read", "write"]], ["read"] if dry_run else ["read", "write"])
435
+ if include_data:
436
+ # Check asset, events, time series, files, and sequences access, relationships, labels, 3D access.
437
+ validator.dataset_data(action, dataset_ids={data_set_id})
438
+ if include_configurations:
439
+ # Check workflow, transformations, extraction pipeline access
440
+ validator.dataset_configurations(action, dataset_ids={data_set_id})
441
+
442
+ to_delete: list[ToDelete] = self._create_to_delete_list_purge_dataset(
443
+ client,
444
+ include_data,
445
+ include_configurations,
446
+ selected_data_set_external_id,
447
+ asset_recursive,
326
448
  )
327
- is_purged = self._purge(client, loaders, selected_data_set=selected_dataset, dry_run=dry_run, verbose=verbose)
328
- if include_dataset and is_purged:
329
- if dry_run:
330
- print(f"Would have archived {selected_dataset}")
331
- else:
332
- archived = (
333
- DataSetUpdate(external_id=selected_dataset)
334
- .external_id.set(str(uuid.uuid4()))
335
- .metadata.add({"archived": "true"})
336
- .write_protected.set(True)
337
- )
338
- client.data_sets.update(archived)
339
- print(f"DataSet {selected_dataset} archived")
340
- elif include_dataset:
341
- self.warn(
342
- HighSeverityWarning(f"DataSet {selected_dataset} was not archived due to errors during the purge")
343
- )
449
+ if dry_run:
450
+ results = DeployResults([], "purge", dry_run=True)
451
+ for item in to_delete:
452
+ results[item.display_name] = ResourceDeployResult(item.display_name, deleted=item.total)
453
+ else:
454
+ results = self._delete_resources(to_delete, client, verbose, None, selected_data_set_external_id)
455
+ print(results.counts_table(exclude_columns={"Created", "Changed", "Total"}))
456
+ if archive_dataset and not dry_run:
457
+ self._archive_dataset(client, selected_data_set_external_id)
458
+ return results
344
459
 
345
- if not dry_run and is_purged:
346
- print(f"Purged dataset {selected_dataset!r} completed")
347
- elif not dry_run:
348
- print(f"Purged dataset {selected_dataset!r} partly completed. See warnings for details.")
460
+ @staticmethod
461
+ def _archive_dataset(client: ToolkitClient, data_set: str) -> None:
462
+ archived = (
463
+ DataSetUpdate(external_id=data_set)
464
+ .external_id.set(str(uuid.uuid4()))
465
+ .metadata.add({"archived": "true"})
466
+ .write_protected.set(True)
467
+ )
468
+ client.data_sets.update(archived)
469
+ print(f"DataSet {data_set} archived")
349
470
 
350
- def _print_panel(self, resource_type: str, resource: str) -> None:
471
+ @staticmethod
472
+ def _create_to_delete_list_purge_dataset(
473
+ client: ToolkitClient,
474
+ include_data: bool,
475
+ include_configurations: bool,
476
+ data_set_external_id: str,
477
+ asset_recursive: bool,
478
+ ) -> list[ToDelete]:
479
+ config = client.config
480
+ to_delete: list[ToDelete] = []
481
+
482
+ if include_data:
483
+ three_d_crud = ThreeDModelCRUD.create_loader(client)
484
+ to_delete.extend(
485
+ [
486
+ ExternalIdToDelete(
487
+ RelationshipCRUD.create_loader(client),
488
+ RelationshipAggregator(client).count(data_set_external_id=data_set_external_id),
489
+ config.create_api_url("/relationships/delete"),
490
+ ),
491
+ IdResourceToDelete(
492
+ EventCRUD.create_loader(client),
493
+ EventAggregator(client).count(data_set_external_id=data_set_external_id),
494
+ config.create_api_url("/events/delete"),
495
+ ),
496
+ IdResourceToDelete(
497
+ FileMetadataCRUD.create_loader(client),
498
+ FileAggregator(client).count(data_set_external_id=data_set_external_id),
499
+ config.create_api_url("/files/delete"),
500
+ ),
501
+ IdResourceToDelete(
502
+ TimeSeriesCRUD.create_loader(client),
503
+ TimeSeriesAggregator(client).count(data_set_external_id=data_set_external_id),
504
+ config.create_api_url("/timeseries/delete"),
505
+ ),
506
+ IdResourceToDelete(
507
+ SequenceCRUD.create_loader(client),
508
+ SequenceAggregator(client).count(data_set_external_id=data_set_external_id),
509
+ config.create_api_url("/sequences/delete"),
510
+ ),
511
+ IdResourceToDelete(
512
+ three_d_crud,
513
+ sum(1 for _ in three_d_crud.iterate(data_set_external_id=data_set_external_id)),
514
+ config.create_api_url("/3d/models/delete"),
515
+ ),
516
+ AssetToDelete(
517
+ AssetCRUD.create_loader(client),
518
+ AssetAggregator(client).count(data_set_external_id=data_set_external_id),
519
+ config.create_api_url("/assets/delete"),
520
+ recursive=asset_recursive,
521
+ ),
522
+ ExternalIdToDelete(
523
+ LabelCRUD.create_loader(client),
524
+ LabelCountAggregator(client).count(data_set_external_id=data_set_external_id),
525
+ config.create_api_url("/labels/delete"),
526
+ ),
527
+ ]
528
+ )
529
+ if include_configurations:
530
+ transformation_crud = TransformationCRUD.create_loader(client)
531
+ workflow_crud = WorkflowCRUD.create_loader(client)
532
+ extraction_pipeline_crud = ExtractionPipelineCRUD.create_loader(client)
533
+
534
+ to_delete.extend(
535
+ [
536
+ IdResourceToDelete(
537
+ transformation_crud,
538
+ sum(1 for _ in transformation_crud.iterate(data_set_external_id=data_set_external_id)),
539
+ config.create_api_url("/transformations/delete"),
540
+ ),
541
+ ExternalIdToDelete(
542
+ workflow_crud,
543
+ sum(1 for _ in workflow_crud.iterate(data_set_external_id=data_set_external_id)),
544
+ config.create_api_url("/workflows/delete"),
545
+ ),
546
+ IdResourceToDelete(
547
+ extraction_pipeline_crud,
548
+ sum(1 for _ in extraction_pipeline_crud.iterate(data_set_external_id=data_set_external_id)),
549
+ config.create_api_url("/extpipes/delete"),
550
+ ),
551
+ ]
552
+ )
553
+ return to_delete
554
+
555
+ @staticmethod
556
+ def _print_panel(resource_type: str, resource: str) -> None:
351
557
  print(
352
558
  Panel(
353
559
  f"[red]WARNING:[/red] This operation [bold]cannot be undone[/bold]! "
@@ -360,387 +566,6 @@ class PurgeCommand(ToolkitCommand):
360
566
  )
361
567
  )
362
568
 
363
- @staticmethod
364
- def _get_selected_dataset(external_id: str | None, client: ToolkitClient) -> str:
365
- if external_id is None:
366
- datasets = client.data_sets.list(limit=-1)
367
- selected_dataset: str = questionary.select(
368
- "Which space are you going to purge (delete all resources in dataset)?",
369
- sorted([dataset.external_id for dataset in datasets if dataset.external_id]),
370
- ).ask()
371
- else:
372
- retrieved = client.data_sets.retrieve(external_id=external_id)
373
- if retrieved is None:
374
- raise ToolkitMissingResourceError(f"DataSet {external_id!r} does not exist")
375
- selected_dataset = external_id
376
-
377
- if selected_dataset is None:
378
- raise ToolkitValueError("No space selected")
379
- return selected_dataset
380
-
381
- def _purge(
382
- self,
383
- client: ToolkitClient,
384
- loaders: dict[type[ResourceCRUD], frozenset[type[ResourceCRUD]]],
385
- selected_space: str | None = None,
386
- selected_data_set: str | None = None,
387
- dry_run: bool = False,
388
- verbose: bool = False,
389
- batch_size: int = 1000,
390
- ) -> bool:
391
- is_purged = True
392
- results = DeployResults([], "purge", dry_run=dry_run)
393
- loader_cls: type[ResourceCRUD]
394
- has_purged_views = False
395
- with Console().status("...", spinner="aesthetic", speed=0.4) as status:
396
- for loader_cls in reversed(list(TopologicalSorter(loaders).static_order())):
397
- if loader_cls not in loaders:
398
- # Dependency that is included
399
- continue
400
- loader = loader_cls.create_loader(client, console=status.console)
401
- status_prefix = "Would have deleted" if dry_run else "Deleted"
402
- if isinstance(loader, ViewCRUD) and not dry_run:
403
- status_prefix = "Expected deleted" # Views are not always deleted immediately
404
- has_purged_views = True
405
-
406
- if not dry_run and isinstance(loader, NodeCRUD):
407
- # Special handling of nodes as node type must be deleted after regular nodes
408
- # In dry-run mode, we are not deleting the nodes, so we can skip this.
409
- warnings_before = len(self.warning_list)
410
- deleted_nodes = self._purge_nodes(loader, status, selected_space, verbose)
411
- results[loader.display_name] = ResourceDeployResult(
412
- name=loader.display_name,
413
- deleted=deleted_nodes,
414
- total=deleted_nodes,
415
- )
416
- if len(self.warning_list) > warnings_before and any(
417
- isinstance(warn, HighSeverityWarning) for warn in self.warning_list[warnings_before:]
418
- ):
419
- is_purged = False
420
- continue
421
- elif not dry_run and isinstance(loader, AssetCRUD):
422
- # Special handling of assets as we must ensure all children are deleted before the parent.
423
- # In dry-run mode, we are not deleting the assets, so we can skip this.
424
- deleted_assets = self._purge_assets(loader, status, selected_data_set)
425
- results[loader.display_name] = ResourceDeployResult(
426
- loader.display_name, deleted=deleted_assets, total=deleted_assets
427
- )
428
- continue
429
-
430
- # Child loaders are, for example, WorkflowTriggerLoader, WorkflowVersionLoader for WorkflowLoader
431
- # These must delete all resources that are connected to the resource that the loader is deleting
432
- # Exclude loaders that we are already iterating over
433
- child_loader_classes = self._get_dependencies(loader_cls, exclude=set(loaders))
434
- child_loaders = [
435
- child_loader.create_loader(client)
436
- for child_loader in reversed(list(TopologicalSorter(child_loader_classes).static_order()))
437
- # Necessary as the topological sort includes dependencies that are not in the loaders
438
- if child_loader in child_loader_classes
439
- ]
440
- count = 0
441
- status.update(f"{status_prefix} {count:,} {loader.display_name}...")
442
- batch_ids: list[Hashable] = []
443
- for resource in loader.iterate(data_set_external_id=selected_data_set, space=selected_space):
444
- try:
445
- batch_ids.append(loader.get_id(resource))
446
- except (ToolkitRequiredValueError, KeyError) as e:
447
- try:
448
- batch_ids.append(loader.get_internal_id(resource))
449
- except (AttributeError, NotImplementedError):
450
- self.warn(
451
- HighSeverityWarning(
452
- f"Cannot delete {type(resource).__name__}. Failed to obtain ID: {e}"
453
- ),
454
- console=status.console,
455
- )
456
- is_purged = False
457
- continue
458
-
459
- if len(batch_ids) >= batch_size:
460
- child_deletion = self._delete_children(
461
- batch_ids, child_loaders, dry_run, status.console, verbose
462
- )
463
- batch_delete, batch_size = self._delete_batch(
464
- batch_ids, dry_run, loader, batch_size, status.console, verbose
465
- )
466
- count += batch_delete
467
- status.update(f"{status_prefix} {count:,} {loader.display_name}...")
468
- batch_ids = []
469
- # The DeployResults is overloaded such that the below accumulates the counts
470
- for name, child_count in child_deletion.items():
471
- results[name] = ResourceDeployResult(name, deleted=child_count, total=child_count)
472
-
473
- if batch_ids:
474
- child_deletion = self._delete_children(batch_ids, child_loaders, dry_run, status.console, verbose)
475
- batch_delete, batch_size = self._delete_batch(
476
- batch_ids, dry_run, loader, batch_size, status.console, verbose
477
- )
478
- count += batch_delete
479
- status.update(f"{status_prefix} {count:,} {loader.display_name}...")
480
- for name, child_count in child_deletion.items():
481
- results[name] = ResourceDeployResult(name, deleted=child_count, total=child_count)
482
- if count > 0:
483
- status.console.print(f"{status_prefix} {count:,} {loader.display_name}.")
484
- results[loader.display_name] = ResourceDeployResult(
485
- name=loader.display_name,
486
- deleted=count,
487
- total=count,
488
- )
489
- print(results.counts_table(exclude_columns={"Created", "Changed", "Untouched", "Total"}))
490
- if has_purged_views:
491
- print("You might need to run the purge command multiple times to delete all views.")
492
- return is_purged
493
-
494
- def _delete_batch(
495
- self,
496
- batch_ids: list[Hashable],
497
- dry_run: bool,
498
- loader: ResourceCRUD,
499
- batch_size: int,
500
- console: Console,
501
- verbose: bool,
502
- ) -> tuple[int, int]:
503
- if dry_run:
504
- deleted = len(batch_ids)
505
- else:
506
- try:
507
- deleted = loader.delete(batch_ids)
508
- except CogniteAPIError as delete_error:
509
- if (
510
- delete_error.code == 408
511
- and "timed out" in delete_error.message.casefold()
512
- and batch_size > 1
513
- and (len(batch_ids) > 1)
514
- ):
515
- self.warn(
516
- MediumSeverityWarning(
517
- f"Timed out deleting {loader.display_name}. Trying again with a smaller batch size."
518
- ),
519
- include_timestamp=True,
520
- console=console,
521
- )
522
- new_batch_size = len(batch_ids) // 2
523
- first = batch_ids[:new_batch_size]
524
- second = batch_ids[new_batch_size:]
525
- first_deleted, first_batch_size = self._delete_batch(
526
- first, dry_run, loader, new_batch_size, console, verbose
527
- )
528
- second_deleted, second_batch_size = self._delete_batch(
529
- second, dry_run, loader, new_batch_size, console, verbose
530
- )
531
- return first_deleted + second_deleted, min(first_batch_size, second_batch_size)
532
- else:
533
- raise delete_error
534
-
535
- if verbose:
536
- prefix = "Would delete" if dry_run else "Finished purging"
537
- console.print(f"{prefix} {deleted:,} {loader.display_name}")
538
- return deleted, batch_size
539
-
540
- @staticmethod
541
- def _delete_children(
542
- parent_ids: list[Hashable], child_loaders: list[ResourceCRUD], dry_run: bool, console: Console, verbose: bool
543
- ) -> dict[str, int]:
544
- child_deletion: dict[str, int] = {}
545
- for child_loader in child_loaders:
546
- child_ids = set()
547
- for child in child_loader.iterate(parent_ids=parent_ids):
548
- child_ids.add(child_loader.get_id(child))
549
- count = 0
550
- if child_ids:
551
- if dry_run:
552
- count = len(child_ids)
553
- else:
554
- count = child_loader.delete(list(child_ids))
555
-
556
- if verbose:
557
- prefix = "Would delete" if dry_run else "Deleted"
558
- console.print(f"{prefix} {count:,} {child_loader.display_name}")
559
- child_deletion[child_loader.display_name] = count
560
- return child_deletion
561
-
562
- def _purge_nodes(
563
- self,
564
- loader: NodeCRUD,
565
- status: Status,
566
- selected_space: str | None = None,
567
- verbose: bool = False,
568
- batch_size: int = 1000,
569
- ) -> int:
570
- """Special handling of nodes as we must ensure all node types are deleted last."""
571
- # First find all Node Types
572
- node_types: dict[NodeId, set[NodeId]] = {}
573
- total_count = 0
574
- for node in loader.iterate(space=selected_space):
575
- if node.type and (selected_space is None or node.space == selected_space):
576
- node_id = NodeId(node.type.space, node.type.external_id)
577
- node_types[node_id] = set()
578
- total_count += 1
579
- status.update(f"Looking up node.type {total_count:,}...")
580
-
581
- count = 0
582
- batch_ids: list[NodeId] = []
583
- for node in loader.iterate(space=selected_space):
584
- node_id = node.as_id()
585
- if node_id in node_types:
586
- # Skip if it is a node type
587
- continue
588
- batch_ids.append(node_id)
589
- if len(batch_ids) >= batch_size:
590
- deleted, batch_size = self._delete_node_batch(batch_ids, loader, batch_size, status.console, verbose)
591
- count += deleted
592
- status.update(f"Deleted {count:,}/{total_count} {loader.display_name}...")
593
- batch_ids = []
594
-
595
- if batch_ids:
596
- deleted, batch_size = self._delete_node_batch(batch_ids, loader, batch_size, status.console, verbose)
597
- count += deleted
598
-
599
- # Finally delete all node types, first do a lookup and topological sort to ensure deleting in the right order.
600
- # Note this is an edge case, and is a result of some strange usage. But we need to handle it.
601
- for node_type in loader.retrieve(list(node_types.keys())):
602
- if node_type.type:
603
- required = NodeId(node_type.type.space, node_type.type.external_id)
604
- if required in node_types:
605
- node_types[required].add(node_type.as_id())
606
-
607
- try:
608
- node_type_ids = list(TopologicalSorter(node_types).static_order())
609
- except CycleError as e:
610
- self.warn(
611
- HighSeverityWarning(f"Failed to delete node-types: Cycle detected. {e.args}"), console=status.console
612
- )
613
- return count
614
-
615
- deleted, batch_size = self._delete_node_batch(node_type_ids, loader, batch_size, status.console, verbose)
616
- count += deleted
617
- if count > 0:
618
- status.console.print(f"Finished purging {loader.display_name}.")
619
- return count
620
-
621
- def _delete_node_batch(
622
- self, batch_ids: list[NodeId], loader: NodeCRUD, batch_size: int, console: Console, verbose: bool
623
- ) -> tuple[int, int]:
624
- try:
625
- deleted = loader.delete(batch_ids)
626
- except CogniteAPIError as delete_error:
627
- if (
628
- delete_error.code == 400
629
- and "Attempted to delete a node which is used as a type" in delete_error.message
630
- ):
631
- # Fallback to delete one by one
632
- deleted = 0
633
- for node_id in batch_ids:
634
- try:
635
- loader.delete([node_id])
636
- deleted += 1
637
- except CogniteAPIError:
638
- is_type = filters.Equals(["node", "type"], node_id.dump(include_instance_type=False))
639
- instance_spaces = {node.space for node in loader.client.data_modeling.instances(filter=is_type)}
640
- if instance_spaces:
641
- suffix = (
642
- "It is used as a node type in the following spaces, "
643
- f"which must be purged first: {humanize_collection(instance_spaces)}"
644
- )
645
- else:
646
- suffix = "It is used as a node type, but failed to find the spaces where it is used."
647
- self.warn(HighSeverityWarning(f"Failed to delete {node_id!r}. {suffix}"), console=console)
648
- elif (
649
- delete_error.code == 408
650
- and "timed out" in delete_error.message.casefold()
651
- and batch_size > 1
652
- and (len(batch_ids) > 1)
653
- ):
654
- self.warn(
655
- MediumSeverityWarning(
656
- f"Timed out deleting {loader.display_name}. Trying again with a smaller batch size."
657
- ),
658
- include_timestamp=True,
659
- console=console,
660
- )
661
- new_batch_size = len(batch_ids) // 2
662
- first = batch_ids[:new_batch_size]
663
- second = batch_ids[new_batch_size:]
664
- first_deleted, first_batch_size = self._delete_node_batch(
665
- first, loader, new_batch_size, console, verbose
666
- )
667
- second_deleted, second_batch_size = self._delete_node_batch(
668
- second, loader, new_batch_size, console, verbose
669
- )
670
- return first_deleted + second_deleted, min(first_batch_size, second_batch_size)
671
- else:
672
- raise delete_error
673
-
674
- if verbose:
675
- console.print(f"Deleted {deleted:,} {loader.display_name}")
676
- return deleted, batch_size
677
-
678
- def _purge_assets(
679
- self,
680
- loader: AssetCRUD,
681
- status: Status,
682
- selected_data_set: str | None = None,
683
- batch_size: int = 1000,
684
- ) -> int:
685
- # Using sets to avoid duplicates
686
- children_ids: set[int] = set()
687
- parent_ids: set[int] = set()
688
- is_first = True
689
- last_failed = False
690
- count = level = depth = last_parent_count = 0
691
- total_asset_count: int | None = None
692
- # Iterate through the asset hierarchy once per depth level. This is to delete all children before the parent.
693
- while is_first or level < depth:
694
- for asset in loader.iterate(data_set_external_id=selected_data_set):
695
- aggregates = cast(AggregateResultItem, asset.aggregates)
696
- if is_first and aggregates.depth is not None:
697
- depth = max(depth, aggregates.depth)
698
-
699
- if aggregates.child_count == 0:
700
- children_ids.add(asset.id)
701
- else:
702
- parent_ids.add(asset.id)
703
-
704
- if len(children_ids) >= batch_size:
705
- count += loader.delete(list(children_ids))
706
- if total_asset_count:
707
- status.update(f"Deleted {count:,}/{total_asset_count:,} {loader.display_name}...")
708
- else:
709
- status.update(f"Deleted {count:,} {loader.display_name}...")
710
- children_ids = set()
711
-
712
- if is_first:
713
- total_asset_count = count + len(parent_ids) + len(children_ids)
714
- if children_ids:
715
- count += loader.delete(list(children_ids))
716
- status.update(f"Deleted {count:,}/{total_asset_count:,} {loader.display_name}...")
717
- children_ids = set()
718
-
719
- if len(parent_ids) == last_parent_count and last_failed:
720
- try:
721
- # Just try to delete them all at once
722
- count += loader.delete(list(parent_ids))
723
- except CogniteAPIError as e:
724
- raise CDFAPIError(
725
- f"Failed to delete {len(parent_ids)} assets. This could be due to a parent-child cycle or an "
726
- "eventual consistency issue. Wait a few seconds and try again. An alternative is to use the "
727
- "Python-SDK to delete the asset hierarchy "
728
- "`client.assets.delete(external_id='my_root_asset', recursive=True)`"
729
- ) from e
730
- else:
731
- status.update(f"Deleted {count:,}/{total_asset_count:,} {loader.display_name}...")
732
- break
733
- elif len(parent_ids) == last_parent_count:
734
- last_failed = True
735
- else:
736
- last_failed = False
737
- level += 1
738
- last_parent_count = len(parent_ids)
739
- parent_ids.clear()
740
- is_first = False
741
- status.console.print(f"Finished purging {loader.display_name}.")
742
- return count
743
-
744
569
  def instances(
745
570
  self,
746
571
  client: ToolkitClient,
@@ -889,21 +714,21 @@ class PurgeCommand(ToolkitCommand):
889
714
  results.deleted += len(items)
890
715
  return
891
716
 
892
- responses: Sequence[ResponseMessage | FailedRequestMessage] = delete_client.request_with_retries(
717
+ responses = delete_client.request_with_retries(
893
718
  ItemsRequest(
894
719
  delete_client.config.create_api_url("/models/instances/delete"),
895
720
  method="POST",
896
- # MyPy fails to understand that dict[str, JsonVal] is compatible with JsonVal
897
- items=items, # type: ignore[arg-type]
898
- # The PySDK does not use the JsonVal type hint, but we know these are correct
899
- as_id=InstanceId.load, # type: ignore[arg-type]
721
+ # MyPy does not understand that InstanceId.load handles dict[str, JsonVal]
722
+ items=[DeleteItem(item=item, as_id_fun=InstanceId.load) for item in items], # type: ignore[arg-type]
900
723
  )
901
724
  )
902
725
  for response in responses:
903
- if isinstance(response, SuccessItem):
904
- results.deleted += 1
726
+ if isinstance(response, SuccessResponseItems):
727
+ results.deleted += len(response.ids)
728
+ elif isinstance(response, FailedResponseItems | FailedRequestItems):
729
+ results.failed += len(response.ids)
905
730
  else:
906
- results.failed += 1
731
+ results.failed += len(items)
907
732
 
908
733
  @staticmethod
909
734
  def _unlink_timeseries(
@@ -940,10 +765,3 @@ class PurgeCommand(ToolkitCommand):
940
765
  elif verbose and files:
941
766
  console.print(f"Would have unlinked {len(files)} files from their blob content.")
942
767
  return instances
943
-
944
- @staticmethod
945
- def get_selected_view_id(view: list[str]) -> ViewId:
946
- if not (isinstance(view, list) and len(view) == 3):
947
- raise ToolkitValueError(f"Invalid view format: {view}. Expected format is 'space externalId version'.")
948
-
949
- return ViewId.load(tuple(view)) # type: ignore[arg-type]