cognite-toolkit 0.7.32__tar.gz → 0.7.34__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/PKG-INFO +1 -1
  2. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_migrate_app.py +76 -2
  3. cognite_toolkit-0.7.34/cognite_toolkit/_cdf_tk/client/api/three_d.py +131 -0
  4. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/base.py +4 -0
  5. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +17 -12
  6. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +3 -0
  7. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/testing.py +6 -0
  8. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +32 -1
  9. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +93 -7
  10. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +18 -0
  11. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +107 -1
  12. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +10 -1
  13. cognite_toolkit-0.7.34/cognite_toolkit/_cdf_tk/storageio/selectors/_three_d.py +34 -0
  14. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/http_client/_tracker.py +5 -2
  15. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/interactive_select.py +47 -0
  16. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
  17. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
  18. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_resources/cdf.toml +1 -1
  19. cognite_toolkit-0.7.34/cognite_toolkit/_version.py +1 -0
  20. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/pyproject.toml +2 -1
  21. cognite_toolkit-0.7.32/cognite_toolkit/_cdf_tk/client/api/three_d.py +0 -50
  22. cognite_toolkit-0.7.32/cognite_toolkit/_version.py +0 -1
  23. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/README.md +0 -0
  24. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/__init__.py +0 -0
  25. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf.py +0 -0
  26. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/__init__.py +0 -0
  27. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/__init__.py +0 -0
  28. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_auth_app.py +0 -0
  29. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_core_app.py +0 -0
  30. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_data_app.py +0 -0
  31. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_dev_app.py +0 -0
  32. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_download_app.py +0 -0
  33. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_dump_app.py +0 -0
  34. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_import_app.py +0 -0
  35. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_landing_app.py +0 -0
  36. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_modules_app.py +0 -0
  37. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_profile_app.py +0 -0
  38. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_purge.py +0 -0
  39. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_repo_app.py +0 -0
  40. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_run.py +0 -0
  41. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/apps/_upload_app.py +0 -0
  42. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/__init__.py +0 -0
  43. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_base.py +0 -0
  44. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_datamodels.py +0 -0
  45. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_file.py +0 -0
  46. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_function.py +0 -0
  47. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_location.py +0 -0
  48. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_raw.py +0 -0
  49. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_streamlit.py +0 -0
  50. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/builders/_transformation.py +0 -0
  51. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cdf_toml.py +0 -0
  52. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/__init__.py +0 -0
  53. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/_constants.py +0 -0
  54. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/_toolkit_client.py +0 -0
  55. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/__init__.py +0 -0
  56. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/canvas.py +0 -0
  57. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/charts.py +0 -0
  58. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/dml.py +0 -0
  59. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/extended_data_modeling.py +0 -0
  60. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/extended_files.py +0 -0
  61. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/extended_functions.py +0 -0
  62. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/extended_raw.py +0 -0
  63. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/extended_timeseries.py +0 -0
  64. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/fixed_transformations.py +0 -0
  65. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/infield.py +0 -0
  66. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/location_filters.py +0 -0
  67. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/lookup.py +0 -0
  68. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/migration.py +0 -0
  69. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/project.py +0 -0
  70. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/__init__.py +0 -0
  71. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/api.py +0 -0
  72. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/capabilities.py +0 -0
  73. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/data_postprocessing.py +0 -0
  74. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/frames.py +0 -0
  75. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/locations.py +0 -0
  76. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/maps.py +0 -0
  77. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/robots.py +0 -0
  78. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/robotics/utlis.py +0 -0
  79. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/search.py +0 -0
  80. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/search_config.py +0 -0
  81. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/streams.py +0 -0
  82. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/token.py +0 -0
  83. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api/verify.py +0 -0
  84. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/api_client.py +0 -0
  85. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/config.py +0 -0
  86. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/__init__.py +0 -0
  87. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +0 -0
  88. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/apm_config_v1.py +0 -0
  89. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/canvas.py +0 -0
  90. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/capabilities.py +0 -0
  91. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/charts.py +0 -0
  92. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py +0 -0
  93. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/extendable_cognite_file.py +0 -0
  94. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetadata.py +0 -0
  95. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetdata.py +0 -0
  96. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/extended_timeseries.py +0 -0
  97. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/functions.py +0 -0
  98. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/graphql_data_models.py +0 -0
  99. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/infield.py +0 -0
  100. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/instances.py +0 -0
  101. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/location_filters.py +0 -0
  102. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/migration.py +0 -0
  103. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/pending_instances_ids.py +0 -0
  104. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/project.py +0 -0
  105. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/raw.py +0 -0
  106. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/robotics.py +0 -0
  107. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/search_config.py +0 -0
  108. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/sequences.py +0 -0
  109. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py +0 -0
  110. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/data_classes/streams.py +0 -0
  111. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/utils/__init__.py +0 -0
  112. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/utils/_concurrency.py +0 -0
  113. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/client/utils/_http_client.py +0 -0
  114. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/__init__.py +0 -0
  115. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_base.py +0 -0
  116. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_changes.py +0 -0
  117. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_cli_commands.py +0 -0
  118. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_download.py +0 -0
  119. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_import_cmd.py +0 -0
  120. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py +0 -0
  121. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/command.py +0 -0
  122. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +0 -0
  123. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +0 -0
  124. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +0 -0
  125. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +0 -0
  126. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py +0 -0
  127. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py +0 -0
  128. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_profile.py +0 -0
  129. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_purge.py +0 -0
  130. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_questionary_style.py +0 -0
  131. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_upload.py +0 -0
  132. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_utils.py +0 -0
  133. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/_virtual_env.py +0 -0
  134. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/about.py +0 -0
  135. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/auth.py +0 -0
  136. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/build_cmd.py +0 -0
  137. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/build_v2/__init__.py +0 -0
  138. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/build_v2/build_cmd.py +0 -0
  139. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/build_v2/build_input.py +0 -0
  140. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/build_v2/build_issues.py +0 -0
  141. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/clean.py +0 -0
  142. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/collect.py +0 -0
  143. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/deploy.py +0 -0
  144. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/dump_resource.py +0 -0
  145. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/init.py +0 -0
  146. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/modules.py +0 -0
  147. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/pull.py +0 -0
  148. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/repo.py +0 -0
  149. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/resources.py +0 -0
  150. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/commands/run.py +0 -0
  151. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/constants.py +0 -0
  152. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/__init__.py +0 -0
  153. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_base_cruds.py +0 -0
  154. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +0 -0
  155. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +0 -0
  156. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/agent.py +0 -0
  157. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +0 -0
  158. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +0 -0
  159. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +0 -0
  160. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_organization.py +0 -0
  161. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +0 -0
  162. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +0 -0
  163. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +0 -0
  164. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +0 -0
  165. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +0 -0
  166. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/group_scoped.py +0 -0
  167. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/hosted_extractors.py +0 -0
  168. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +0 -0
  169. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +0 -0
  170. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +0 -0
  171. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +0 -0
  172. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/relationship.py +0 -0
  173. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +0 -0
  174. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +0 -0
  175. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/three_d_model.py +0 -0
  176. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +0 -0
  177. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +0 -0
  178. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/workflow.py +0 -0
  179. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/cruds/_worker.py +0 -0
  180. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/__init__.py +0 -0
  181. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_base.py +0 -0
  182. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_build_files.py +0 -0
  183. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_build_variables.py +0 -0
  184. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_built_modules.py +0 -0
  185. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_built_resources.py +0 -0
  186. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_config_yaml.py +0 -0
  187. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_deploy_results.py +0 -0
  188. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +0 -0
  189. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_module_resources.py +0 -0
  190. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +0 -0
  191. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_packages.py +0 -0
  192. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +0 -0
  193. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/data_classes/_yaml_comments.py +0 -0
  194. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/exceptions.py +0 -0
  195. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/feature_flags.py +0 -0
  196. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/hints.py +0 -0
  197. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/plugins.py +0 -0
  198. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/protocols.py +0 -0
  199. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/__init__.py +0 -0
  200. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/agent.py +0 -0
  201. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py +0 -0
  202. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/asset.py +0 -0
  203. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/authentication.py +0 -0
  204. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/base.py +0 -0
  205. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +0 -0
  206. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/cognitefile.py +0 -0
  207. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py +0 -0
  208. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/containers.py +0 -0
  209. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/data_model.py +0 -0
  210. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/datapoint_subscription.py +0 -0
  211. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/dataset.py +0 -0
  212. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/event.py +0 -0
  213. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline.py +0 -0
  214. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline_config.py +0 -0
  215. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/filemetadata.py +0 -0
  216. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/function_schedule.py +0 -0
  217. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/functions.py +0 -0
  218. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/graphql_model.py +0 -0
  219. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/groups.py +0 -0
  220. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_destination.py +0 -0
  221. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_job.py +0 -0
  222. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_mapping.py +0 -0
  223. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_source.py +0 -0
  224. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/infield_cdm_location_config.py +0 -0
  225. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/infield_location_config.py +0 -0
  226. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/infield_v1.py +0 -0
  227. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/instance.py +0 -0
  228. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/labels.py +0 -0
  229. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/location.py +0 -0
  230. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/migration.py +0 -0
  231. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/raw_database_table.py +0 -0
  232. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/relationship.py +0 -0
  233. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/robotics/__init__.py +0 -0
  234. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/robotics/capability.py +0 -0
  235. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/robotics/data_postprocessing.py +0 -0
  236. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/robotics/frame.py +0 -0
  237. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/robotics/location.py +0 -0
  238. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/robotics/map.py +0 -0
  239. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/search_config.py +0 -0
  240. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/securitycategories.py +0 -0
  241. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/sequence.py +0 -0
  242. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/space.py +0 -0
  243. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/streamlit_.py +0 -0
  244. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/streams.py +0 -0
  245. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/threedmodels.py +0 -0
  246. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/timeseries.py +0 -0
  247. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/transformation_destination.py +0 -0
  248. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/transformation_notification.py +0 -0
  249. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/transformation_schedule.py +0 -0
  250. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/transformations.py +0 -0
  251. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py +0 -0
  252. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/views.py +0 -0
  253. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/workflow.py +0 -0
  254. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/workflow_trigger.py +0 -0
  255. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +0 -0
  256. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/__init__.py +0 -0
  257. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_annotations.py +0 -0
  258. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_applications.py +0 -0
  259. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +0 -0
  260. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_base.py +0 -0
  261. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_data_classes.py +0 -0
  262. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_datapoints.py +0 -0
  263. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_file_content.py +0 -0
  264. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_instances.py +0 -0
  265. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/_raw.py +0 -0
  266. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py +0 -0
  267. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_base.py +0 -0
  268. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py +0 -0
  269. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py +0 -0
  270. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py +0 -0
  271. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py +0 -0
  272. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py +0 -0
  273. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py +0 -0
  274. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/tk_warnings/__init__.py +0 -0
  275. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/tk_warnings/base.py +0 -0
  276. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +0 -0
  277. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/tk_warnings/other.py +0 -0
  278. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/tracker.py +0 -0
  279. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/__init__.py +0 -0
  280. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/_auxiliary.py +0 -0
  281. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/aggregators.py +0 -0
  282. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/auth.py +0 -0
  283. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/auxiliary.py +0 -0
  284. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/cdf.py +0 -0
  285. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/cicd.py +0 -0
  286. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/cli_args.py +0 -0
  287. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/collection.py +0 -0
  288. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/diff_list.py +0 -0
  289. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/dtype_conversion.py +0 -0
  290. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/file.py +0 -0
  291. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/fileio/__init__.py +0 -0
  292. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/fileio/_base.py +0 -0
  293. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/fileio/_compression.py +0 -0
  294. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/fileio/_readers.py +0 -0
  295. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/fileio/_writers.py +0 -0
  296. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/graphql_parser.py +0 -0
  297. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/hashing.py +0 -0
  298. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/http_client/__init__.py +0 -0
  299. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/http_client/_client.py +0 -0
  300. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py +0 -0
  301. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +0 -0
  302. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +0 -0
  303. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/modules.py +0 -0
  304. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/producer_worker.py +0 -0
  305. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/progress_tracker.py +0 -0
  306. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/repository.py +0 -0
  307. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/sentry_utils.py +0 -0
  308. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/sql_parser.py +0 -0
  309. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/text.py +0 -0
  310. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/thread_safe_dict.py +0 -0
  311. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/useful_types.py +0 -0
  312. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/utils/validate_access.py +0 -0
  313. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_cdf_tk/validation.py +0 -0
  314. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_repo_files/.env.tmpl +0 -0
  315. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_repo_files/.gitignore +0 -0
  316. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md +0 -0
  317. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml +0 -0
  318. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml +0 -0
  319. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/config.dev.yaml +0 -0
  320. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/demo/__init__.py +0 -0
  321. {cognite_toolkit-0.7.32 → cognite_toolkit-0.7.34}/cognite_toolkit/demo/_base.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.7.32
3
+ Version: 0.7.34
4
4
  Summary: Official Cognite Data Fusion tool for project templates and configuration deployment
5
5
  Author: Cognite AS
6
6
  Author-email: Cognite AS <support@cognite.com>
@@ -15,10 +15,16 @@ from cognite_toolkit._cdf_tk.commands._migrate.creators import (
15
15
  InstanceSpaceCreator,
16
16
  SourceSystemCreator,
17
17
  )
18
- from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import AssetCentricMapper, CanvasMapper, ChartMapper
18
+ from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import (
19
+ AssetCentricMapper,
20
+ CanvasMapper,
21
+ ChartMapper,
22
+ ThreeDMapper,
23
+ )
19
24
  from cognite_toolkit._cdf_tk.commands._migrate.migration_io import (
20
25
  AnnotationMigrationIO,
21
26
  AssetCentricMigrationIO,
27
+ ThreeDMigrationIO,
22
28
  )
23
29
  from cognite_toolkit._cdf_tk.commands._migrate.selectors import (
24
30
  AssetCentricMigrationSelector,
@@ -26,7 +32,11 @@ from cognite_toolkit._cdf_tk.commands._migrate.selectors import (
26
32
  MigrationCSVFileSelector,
27
33
  )
28
34
  from cognite_toolkit._cdf_tk.storageio import CanvasIO, ChartIO
29
- from cognite_toolkit._cdf_tk.storageio.selectors import CanvasExternalIdSelector, ChartExternalIdSelector
35
+ from cognite_toolkit._cdf_tk.storageio.selectors import (
36
+ CanvasExternalIdSelector,
37
+ ChartExternalIdSelector,
38
+ ThreeDModelIdSelector,
39
+ )
30
40
  from cognite_toolkit._cdf_tk.utils.auth import EnvironmentVariables
31
41
  from cognite_toolkit._cdf_tk.utils.cli_args import parse_view_str
32
42
  from cognite_toolkit._cdf_tk.utils.interactive_select import (
@@ -36,6 +46,7 @@ from cognite_toolkit._cdf_tk.utils.interactive_select import (
36
46
  InteractiveCanvasSelect,
37
47
  InteractiveChartSelect,
38
48
  ResourceViewMappingInteractiveSelect,
49
+ ThreeDInteractiveSelect,
39
50
  )
40
51
  from cognite_toolkit._cdf_tk.utils.useful_types import AssetCentricKind
41
52
 
@@ -56,6 +67,7 @@ class MigrateApp(typer.Typer):
56
67
  self.command("annotations")(self.annotations)
57
68
  self.command("canvas")(self.canvas)
58
69
  self.command("charts")(self.charts)
70
+ self.command("3d")(self.three_d)
59
71
  # Uncomment when infield v2 config migration is ready
60
72
  # self.command("infield-configs")(self.infield_configs)
61
73
 
@@ -980,6 +992,68 @@ class MigrateApp(typer.Typer):
980
992
  )
981
993
  )
982
994
 
995
+ @staticmethod
996
+ def three_d(
997
+ ctx: typer.Context,
998
+ id: Annotated[
999
+ list[int] | None,
1000
+ typer.Argument(
1001
+ help="The ID of the 3D Model to migrate. If not provided, an interactive selection will be "
1002
+ "performed to select the 3D Models to migrate."
1003
+ ),
1004
+ ] = None,
1005
+ log_dir: Annotated[
1006
+ Path,
1007
+ typer.Option(
1008
+ "--log-dir",
1009
+ "-l",
1010
+ help="Path to the directory where migration logs will be stored.",
1011
+ ),
1012
+ ] = Path(f"migration_logs_{TODAY}"),
1013
+ dry_run: Annotated[
1014
+ bool,
1015
+ typer.Option(
1016
+ "--dry-run",
1017
+ "-d",
1018
+ help="If set, the migration will not be executed, but only a report of "
1019
+ "what would be done is printed. This is useful for checking that all resources referenced by the 3D Models "
1020
+ "have been migrated to the new data modeling resources in CDF.",
1021
+ ),
1022
+ ] = False,
1023
+ verbose: Annotated[
1024
+ bool,
1025
+ typer.Option(
1026
+ "--verbose",
1027
+ "-v",
1028
+ help="Turn on to get more verbose output when running the command",
1029
+ ),
1030
+ ] = False,
1031
+ ) -> None:
1032
+ """Migrate 3D Models from Asset-Centric to data modeling in CDF.
1033
+
1034
+ This command expects that the CogniteMigration data model is already deployed, and that the Mapping view
1035
+ is populated with the mapping from Asset-Centric resources to the new data modeling resources.
1036
+ """
1037
+ client = EnvironmentVariables.create_from_environment().get_client()
1038
+ selected_ids: list[int]
1039
+ if id:
1040
+ selected_ids = id
1041
+ else:
1042
+ selected_models = ThreeDInteractiveSelect(client, "migrate").select_three_d_models("classic")
1043
+ selected_ids = [model.id for model in selected_models]
1044
+
1045
+ cmd = MigrationCommand()
1046
+ cmd.run(
1047
+ lambda: cmd.migrate(
1048
+ selected=ThreeDModelIdSelector(ids=tuple(selected_ids)),
1049
+ data=ThreeDMigrationIO(client),
1050
+ mapper=ThreeDMapper(client),
1051
+ log_dir=log_dir,
1052
+ dry_run=dry_run,
1053
+ verbose=verbose,
1054
+ )
1055
+ )
1056
+
983
1057
  @staticmethod
984
1058
  def infield_configs(
985
1059
  ctx: typer.Context,
@@ -0,0 +1,131 @@
1
+ from collections.abc import Sequence
2
+
3
+ from rich.console import Console
4
+
5
+ from cognite_toolkit._cdf_tk.client.data_classes.api_classes import PagedResponse
6
+ from cognite_toolkit._cdf_tk.client.data_classes.three_d import ThreeDModelClassicRequest, ThreeDModelResponse
7
+ from cognite_toolkit._cdf_tk.utils.http_client import (
8
+ HTTPClient,
9
+ ItemsRequest,
10
+ RequestMessage2,
11
+ SimpleBodyRequest,
12
+ )
13
+ from cognite_toolkit._cdf_tk.utils.useful_types import PrimitiveType
14
+
15
+
16
+ class ThreeDModelAPI:
17
+ ENDPOINT = "/3d/models"
18
+ MAX_CLASSIC_MODELS_PER_CREATE_REQUEST = 1000
19
+ MAX_MODELS_PER_DELETE_REQUEST = 1000
20
+ _LIST_REQUEST_MAX_LIMIT = 1000
21
+
22
+ def __init__(self, http_client: HTTPClient, console: Console) -> None:
23
+ self._http_client = http_client
24
+ self._console = console
25
+ self._config = http_client.config
26
+
27
+ def create(self, models: Sequence[ThreeDModelClassicRequest]) -> list[ThreeDModelResponse]:
28
+ """Create 3D models in classic format.
29
+
30
+ Args:
31
+ models (Sequence[ThreeDModelClassicRequest]): The 3D model(s) to create.
32
+
33
+ Returns:
34
+ list[ThreeDModelResponse]: The created 3D model(s).
35
+ """
36
+ if not models:
37
+ return []
38
+ if len(models) > self.MAX_CLASSIC_MODELS_PER_CREATE_REQUEST:
39
+ raise ValueError("Cannot create more than 1000 3D models in a single request.")
40
+ responses = self._http_client.request_with_retries(
41
+ ItemsRequest(
42
+ endpoint_url=self._config.create_api_url(self.ENDPOINT),
43
+ method="POST",
44
+ items=list(models),
45
+ )
46
+ )
47
+ responses.raise_for_status()
48
+ body = responses.get_first_body()
49
+ return PagedResponse[ThreeDModelResponse].model_validate(body).items
50
+
51
+ def delete(self, ids: Sequence[int]) -> None:
52
+ """Delete 3D models by their IDs.
53
+
54
+ Args:
55
+ ids (Sequence[int]): The IDs of the 3D models to delete.
56
+ """
57
+ if not ids:
58
+ return None
59
+ if len(ids) > self.MAX_MODELS_PER_DELETE_REQUEST:
60
+ raise ValueError("Cannot delete more than 1000 3D models in a single request.")
61
+ responses = self._http_client.request_with_retries(
62
+ SimpleBodyRequest(
63
+ endpoint_url=self._config.create_api_url(self.ENDPOINT + "/delete"),
64
+ method="POST",
65
+ body_content={"items": [{"id": id_} for id_ in ids]},
66
+ )
67
+ )
68
+ responses.raise_for_status()
69
+
70
+ def iterate(
71
+ self,
72
+ published: bool | None = None,
73
+ include_revision_info: bool = False,
74
+ limit: int = 100,
75
+ cursor: str | None = None,
76
+ ) -> PagedResponse[ThreeDModelResponse]:
77
+ if not (0 < limit <= self._LIST_REQUEST_MAX_LIMIT):
78
+ raise ValueError(f"Limit must be between 1 and {self._LIST_REQUEST_MAX_LIMIT}, got {limit}.")
79
+ parameters: dict[str, PrimitiveType] = {
80
+ # There is a bug in the API. The parameter includeRevisionInfo is expected to be lower case and not
81
+ # camel case as documented. You get error message: Unrecognized query parameter includeRevisionInfo,
82
+ # did you mean includerevisioninfo?
83
+ "includerevisioninfo": include_revision_info,
84
+ "limit": limit,
85
+ }
86
+ if published is not None:
87
+ parameters["published"] = published
88
+ if cursor is not None:
89
+ parameters["cursor"] = cursor
90
+ responses = self._http_client.request_single_retries(
91
+ RequestMessage2(
92
+ endpoint_url=self._config.create_api_url(self.ENDPOINT),
93
+ method="GET",
94
+ parameters=parameters,
95
+ )
96
+ )
97
+ success_response = responses.get_success_or_raise()
98
+ return PagedResponse[ThreeDModelResponse].model_validate(success_response.body_json)
99
+
100
+ def list(
101
+ self,
102
+ published: bool | None = None,
103
+ include_revision_info: bool = False,
104
+ limit: int | None = 100,
105
+ cursor: str | None = None,
106
+ ) -> list[ThreeDModelResponse]:
107
+ results: list[ThreeDModelResponse] = []
108
+ while True:
109
+ request_limit = (
110
+ self._LIST_REQUEST_MAX_LIMIT
111
+ if limit is None
112
+ else min(limit - len(results), self._LIST_REQUEST_MAX_LIMIT)
113
+ )
114
+ if request_limit <= 0:
115
+ break
116
+ page = self.iterate(
117
+ published=published,
118
+ include_revision_info=include_revision_info,
119
+ limit=request_limit,
120
+ cursor=cursor,
121
+ )
122
+ results.extend(page.items)
123
+ if page.next_cursor is None:
124
+ break
125
+ cursor = page.next_cursor
126
+ return results
127
+
128
+
129
+ class ThreeDAPI:
130
+ def __init__(self, http_client: HTTPClient, console: Console) -> None:
131
+ self.models = ThreeDModelAPI(http_client, console)
@@ -26,6 +26,10 @@ class ResponseResource(BaseModelObject, Generic[T_RequestResource], ABC):
26
26
  """Convert the response resource to a request resource."""
27
27
  ...
28
28
 
29
+ def as_write(self) -> T_RequestResource:
30
+ """Alias for as_request_resource to match protocol signature."""
31
+ return self.as_request_resource()
32
+
29
33
 
30
34
  class Identifier(BaseModel):
31
35
  """Base class for all identifier classes."""
@@ -7,7 +7,7 @@ from .base import BaseModelObject, Identifier, RequestResource
7
7
  InstanceType: TypeAlias = Literal["node", "edge"]
8
8
 
9
9
 
10
- class InstanceIdentifier(Identifier):
10
+ class TypedInstanceIdentifier(Identifier):
11
11
  """Identifier for an Instance instance."""
12
12
 
13
13
  instance_type: InstanceType
@@ -15,11 +15,16 @@ class InstanceIdentifier(Identifier):
15
15
  external_id: str
16
16
 
17
17
 
18
- class NodeIdentifier(InstanceIdentifier):
18
+ class InstanceIdentifier(Identifier):
19
+ space: str
20
+ external_id: str
21
+
22
+
23
+ class NodeIdentifier(TypedInstanceIdentifier):
19
24
  instance_type: Literal["node"] = "node"
20
25
 
21
26
 
22
- class EdgeIdentifier(InstanceIdentifier):
27
+ class EdgeIdentifier(TypedInstanceIdentifier):
23
28
  instance_type: Literal["edge"] = "edge"
24
29
 
25
30
 
@@ -32,8 +37,8 @@ class InstanceResult(BaseModelObject):
32
37
  created_time: int
33
38
  last_updated_time: int
34
39
 
35
- def as_id(self) -> InstanceIdentifier:
36
- return InstanceIdentifier(
40
+ def as_id(self) -> TypedInstanceIdentifier:
41
+ return TypedInstanceIdentifier(
37
42
  instance_type=self.instance_type,
38
43
  space=self.space,
39
44
  external_id=self.external_id,
@@ -62,8 +67,8 @@ class InstanceRequestResource(RequestResource):
62
67
  space: str
63
68
  external_id: str
64
69
 
65
- def as_id(self) -> InstanceIdentifier:
66
- return InstanceIdentifier(
70
+ def as_id(self) -> TypedInstanceIdentifier:
71
+ return TypedInstanceIdentifier(
67
72
  instance_type=self.instance_type,
68
73
  space=self.space,
69
74
  external_id=self.external_id,
@@ -115,8 +120,8 @@ class InstanceRequestItem(RequestResource):
115
120
  existing_version: int | None = None
116
121
  sources: list[InstanceSource] | None = None
117
122
 
118
- def as_id(self) -> InstanceIdentifier:
119
- return InstanceIdentifier(
123
+ def as_id(self) -> TypedInstanceIdentifier:
124
+ return TypedInstanceIdentifier(
120
125
  instance_type=self.instance_type,
121
126
  space=self.space,
122
127
  external_id=self.external_id,
@@ -128,7 +133,7 @@ class InstanceResponseItem(BaseModelObject):
128
133
  space: str
129
134
  external_id: str
130
135
  version: int
131
- type: InstanceIdentifier | None = None
136
+ type: TypedInstanceIdentifier | None = None
132
137
  created_time: int
133
138
  last_updated_time: int
134
139
  deleted_time: int | None = None
@@ -149,8 +154,8 @@ class InstanceResponseItem(BaseModelObject):
149
154
  output.update(space_properties.get(view_version, {}))
150
155
  return output
151
156
 
152
- def as_id(self) -> InstanceIdentifier:
153
- return InstanceIdentifier(
157
+ def as_id(self) -> TypedInstanceIdentifier:
158
+ return TypedInstanceIdentifier(
154
159
  instance_type=self.instance_type,
155
160
  space=self.space,
156
161
  external_id=self.external_id,
@@ -27,6 +27,9 @@ class ThreeDModelClassicRequest(ThreeDModelRequest):
27
27
  data_set_id: int | None = None
28
28
  metadata: dict[str, str] | None = None
29
29
 
30
+ def as_id(self) -> str:
31
+ return self.name
32
+
30
33
 
31
34
  class ThreeDModelDMSRequest(ThreeDModelRequest):
32
35
  space: str
@@ -13,6 +13,7 @@ from rich.console import Console
13
13
 
14
14
  from cognite_toolkit._cdf_tk.client._toolkit_client import ToolkitClient
15
15
 
16
+ from ._toolkit_client import ToolAPI
16
17
  from .api.canvas import CanvasAPI, IndustrialCanvasAPI
17
18
  from .api.charts import ChartsAPI
18
19
  from .api.dml import DMLAPI
@@ -53,6 +54,7 @@ from .api.robotics.maps import MapsAPI
53
54
  from .api.search import SearchAPI
54
55
  from .api.search_config import SearchConfigurationsAPI
55
56
  from .api.streams import StreamsAPI
57
+ from .api.three_d import ThreeDAPI, ThreeDModelAPI
56
58
  from .api.token import TokenAPI
57
59
  from .api.verify import VerifyAPI
58
60
 
@@ -131,6 +133,10 @@ class ToolkitClientMock(CogniteClientMock):
131
133
  self.time_series.data.synthetic = MagicMock(spec_set=SyntheticDatapointsAPI)
132
134
  self.time_series.subscriptions = MagicMock(spec_set=DatapointsSubscriptionAPI)
133
135
 
136
+ self.tool = MagicMock(spec=ToolAPI)
137
+ self.tool.three_d = MagicMock(spec=ThreeDAPI)
138
+ self.tool.three_d.models = MagicMock(spec_set=ThreeDModelAPI)
139
+
134
140
  self.streams = MagicMock(spec=StreamsAPI)
135
141
 
136
142
  # This is a helper API, not a real API.
@@ -9,8 +9,10 @@ from cognite.client.data_classes._base import (
9
9
  from cognite.client.data_classes.data_modeling import EdgeId, InstanceApply, NodeId, ViewId
10
10
  from cognite.client.utils._identifier import InstanceId
11
11
  from cognite.client.utils._text import to_camel_case
12
- from pydantic import BaseModel, BeforeValidator, field_validator, model_validator
12
+ from pydantic import BaseModel, BeforeValidator, Field, field_validator, model_validator
13
13
 
14
+ from cognite_toolkit._cdf_tk.client.data_classes.base import BaseModelObject, RequestResource
15
+ from cognite_toolkit._cdf_tk.client.data_classes.instance_api import InstanceIdentifier
14
16
  from cognite_toolkit._cdf_tk.client.data_classes.instances import InstanceApplyList
15
17
  from cognite_toolkit._cdf_tk.client.data_classes.migration import AssetCentricId
16
18
  from cognite_toolkit._cdf_tk.client.data_classes.pending_instances_ids import PendingInstanceId
@@ -261,3 +263,32 @@ class AssetCentricMappingList(
261
263
 
262
264
  def as_write(self) -> InstanceApplyList:
263
265
  return InstanceApplyList([item.as_write() for item in self])
266
+
267
+
268
+ class Model(BaseModelObject):
269
+ instance_id: InstanceIdentifier
270
+
271
+
272
+ class Thumbnail(BaseModelObject):
273
+ instance_id: InstanceIdentifier
274
+
275
+
276
+ class ThreeDRevisionMigrationRequest(RequestResource):
277
+ space: str
278
+ type: Literal["CAD", "PointCloud", "Image360"]
279
+ revision_id: int
280
+ model: Model
281
+
282
+ def as_id(self) -> int:
283
+ return self.revision_id
284
+
285
+
286
+ class ThreeDMigrationRequest(RequestResource):
287
+ model_id: int
288
+ type: Literal["CAD", "PointCloud", "Image360"]
289
+ space: str
290
+ thumbnail: Thumbnail | None = None
291
+ revision: ThreeDRevisionMigrationRequest = Field(exclude=True)
292
+
293
+ def as_id(self) -> int:
294
+ return self.model_id
@@ -1,7 +1,7 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from collections import defaultdict
3
3
  from collections.abc import Callable, Sequence
4
- from typing import Generic, cast
4
+ from typing import Generic, Literal, cast
5
5
  from uuid import uuid4
6
6
 
7
7
  from cognite.client.data_classes.data_modeling import (
@@ -27,26 +27,33 @@ from cognite_toolkit._cdf_tk.client.data_classes.charts_data import (
27
27
  ChartSource,
28
28
  ChartTimeseries,
29
29
  )
30
+ from cognite_toolkit._cdf_tk.client.data_classes.instance_api import InstanceIdentifier
30
31
  from cognite_toolkit._cdf_tk.client.data_classes.migration import ResourceViewMappingApply
32
+ from cognite_toolkit._cdf_tk.client.data_classes.three_d import RevisionStatus, ThreeDModelResponse
31
33
  from cognite_toolkit._cdf_tk.commands._migrate.conversion import DirectRelationCache, asset_centric_to_dm
32
- from cognite_toolkit._cdf_tk.commands._migrate.data_classes import AssetCentricMapping
34
+ from cognite_toolkit._cdf_tk.commands._migrate.data_classes import (
35
+ Model,
36
+ ThreeDMigrationRequest,
37
+ ThreeDRevisionMigrationRequest,
38
+ )
33
39
  from cognite_toolkit._cdf_tk.commands._migrate.default_mappings import create_default_mappings
34
40
  from cognite_toolkit._cdf_tk.commands._migrate.issues import (
35
41
  CanvasMigrationIssue,
36
42
  ChartMigrationIssue,
37
43
  ConversionIssue,
38
44
  MigrationIssue,
45
+ ThreeDModelMigrationIssue,
39
46
  )
40
- from cognite_toolkit._cdf_tk.commands._migrate.selectors import AssetCentricMigrationSelector
41
47
  from cognite_toolkit._cdf_tk.constants import MISSING_INSTANCE_SPACE
42
48
  from cognite_toolkit._cdf_tk.exceptions import ToolkitMigrationError, ToolkitValueError
43
49
  from cognite_toolkit._cdf_tk.protocols import T_ResourceRequest, T_ResourceResponse
44
50
  from cognite_toolkit._cdf_tk.storageio._base import T_Selector
45
- from cognite_toolkit._cdf_tk.storageio.selectors import CanvasSelector, ChartSelector
51
+ from cognite_toolkit._cdf_tk.storageio.selectors import CanvasSelector, ChartSelector, ThreeDSelector
46
52
  from cognite_toolkit._cdf_tk.utils import humanize_collection
47
- from cognite_toolkit._cdf_tk.utils.useful_types import (
48
- T_AssetCentricResourceExtended,
49
- )
53
+ from cognite_toolkit._cdf_tk.utils.useful_types import T_AssetCentricResourceExtended
54
+
55
+ from .data_classes import AssetCentricMapping
56
+ from .selectors import AssetCentricMigrationSelector
50
57
 
51
58
 
52
59
  class DataMapper(Generic[T_Selector, T_ResourceResponse, T_ResourceRequest], ABC):
@@ -383,3 +390,82 @@ class CanvasMapper(DataMapper[CanvasSelector, IndustrialCanvas, IndustrialCanvas
383
390
  max_width=reference.max_width,
384
391
  max_height=reference.max_height,
385
392
  )
393
+
394
+
395
+ class ThreeDMapper(DataMapper[ThreeDSelector, ThreeDModelResponse, ThreeDMigrationRequest]):
396
+ def __init__(self, client: ToolkitClient) -> None:
397
+ self.client = client
398
+
399
+ def map(
400
+ self, source: Sequence[ThreeDModelResponse]
401
+ ) -> Sequence[tuple[ThreeDMigrationRequest | None, MigrationIssue]]:
402
+ self._populate_cache(source)
403
+ output: list[tuple[ThreeDMigrationRequest | None, MigrationIssue]] = []
404
+ for item in source:
405
+ mapped_item, issue = self._map_single_item(item)
406
+ output.append((mapped_item, issue))
407
+ return output
408
+
409
+ def _populate_cache(self, source: Sequence[ThreeDModelResponse]) -> None:
410
+ dataset_ids: set[int] = set()
411
+ for model in source:
412
+ if model.data_set_id is not None:
413
+ dataset_ids.add(model.data_set_id)
414
+ self.client.migration.space_source.retrieve(list(dataset_ids))
415
+
416
+ def _map_single_item(
417
+ self, item: ThreeDModelResponse
418
+ ) -> tuple[ThreeDMigrationRequest | None, ThreeDModelMigrationIssue]:
419
+ issue = ThreeDModelMigrationIssue(model_name=item.name, model_id=item.id)
420
+ instance_space: str | None = None
421
+ last_revision_id: int | None = None
422
+ model_type: Literal["CAD", "PointCloud", "Image360"] | None = None
423
+ if item.data_set_id is None:
424
+ issue.error_message.append("3D model is not associated with any dataset.")
425
+ else:
426
+ space_source = self.client.migration.space_source.retrieve(item.data_set_id)
427
+ if space_source is not None:
428
+ instance_space = space_source.instance_space
429
+ if instance_space is None and item.data_set_id is not None:
430
+ issue.error_message.append(f"Missing instance space for dataset ID {item.data_set_id!r}")
431
+ if item.last_revision_info is None:
432
+ issue.error_message.append("3D model has no revisions.")
433
+ else:
434
+ model_type = self._get_type(item.last_revision_info)
435
+ last_revision_id = item.last_revision_info.revision_id
436
+ if last_revision_id is None:
437
+ issue.error_message.append("3D model's last revision has no revision ID.")
438
+
439
+ if model_type is None:
440
+ issue.error_message.append("3D model's last revision has no recognized type.")
441
+
442
+ if instance_space is None or last_revision_id is None or model_type is None or issue.has_issues:
443
+ return None, issue
444
+
445
+ mapped_request = ThreeDMigrationRequest(
446
+ model_id=item.id,
447
+ type=model_type,
448
+ space=instance_space,
449
+ revision=ThreeDRevisionMigrationRequest(
450
+ space=instance_space,
451
+ type=model_type,
452
+ revision_id=last_revision_id,
453
+ model=Model(
454
+ instance_id=InstanceIdentifier(
455
+ space=instance_space,
456
+ external_id=f"cog_3d_model_{item.id!s}",
457
+ )
458
+ ),
459
+ ),
460
+ )
461
+ return mapped_request, issue
462
+
463
+ @staticmethod
464
+ def _get_type(revision: RevisionStatus) -> Literal["CAD", "PointCloud", "Image360"] | None:
465
+ types = revision.types or []
466
+ if any("gltf-directory" in t for t in types):
467
+ return "CAD"
468
+ elif any("ept-pointcloud" in t for t in types):
469
+ return "PointCloud"
470
+ else:
471
+ return None
@@ -30,6 +30,24 @@ class MigrationIssue(MigrationObject):
30
30
  return True
31
31
 
32
32
 
33
+ class ThreeDModelMigrationIssue(MigrationIssue):
34
+ """Represents a 3D model migration issue encountered during migration.
35
+
36
+ Attributes:
37
+ model_external_id (str): The external ID of the 3D model that could not be migrated.
38
+ """
39
+
40
+ type: ClassVar[str] = "threeDModelMigration"
41
+ model_name: str
42
+ model_id: int
43
+ error_message: list[str] = Field(default_factory=list)
44
+
45
+ @property
46
+ def has_issues(self) -> bool:
47
+ """Check if there are any issues recorded in this ThreeDModelMigrationIssue."""
48
+ return bool(self.error_message)
49
+
50
+
33
51
  class ChartMigrationIssue(MigrationIssue):
34
52
  """Represents a chart migration issue encountered during migration.
35
53