cognite-toolkit 0.7.25__tar.gz → 0.7.27__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 (316) hide show
  1. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/PKG-INFO +1 -1
  2. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_migrate_app.py +38 -11
  3. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/__init__.py +2 -2
  4. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py +0 -2
  5. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +144 -4
  6. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +12 -0
  7. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_base_cruds.py +5 -27
  8. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +5 -7
  9. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +25 -3
  10. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +0 -3
  11. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +0 -1
  12. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/relationship.py +0 -1
  13. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +0 -1
  14. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_worker.py +11 -6
  15. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_applications.py +22 -1
  16. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/other.py +4 -0
  17. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
  18. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
  19. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_resources/cdf.toml +1 -1
  20. cognite_toolkit-0.7.27/cognite_toolkit/_version.py +1 -0
  21. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/pyproject.toml +1 -1
  22. cognite_toolkit-0.7.25/cognite_toolkit/_cdf_tk/commands/_migrate/canvas.py +0 -201
  23. cognite_toolkit-0.7.25/cognite_toolkit/_version.py +0 -1
  24. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/README.md +0 -0
  25. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/__init__.py +0 -0
  26. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf.py +0 -0
  27. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/__init__.py +0 -0
  28. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/__init__.py +0 -0
  29. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_auth_app.py +0 -0
  30. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_core_app.py +0 -0
  31. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_data_app.py +0 -0
  32. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_dev_app.py +0 -0
  33. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_download_app.py +0 -0
  34. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_dump_app.py +0 -0
  35. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_landing_app.py +0 -0
  36. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_modules_app.py +0 -0
  37. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_profile_app.py +0 -0
  38. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_purge.py +0 -0
  39. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_repo_app.py +0 -0
  40. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_run.py +0 -0
  41. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_upload_app.py +0 -0
  42. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/__init__.py +0 -0
  43. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_base.py +0 -0
  44. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_datamodels.py +0 -0
  45. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_file.py +0 -0
  46. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_function.py +0 -0
  47. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_location.py +0 -0
  48. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_raw.py +0 -0
  49. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_streamlit.py +0 -0
  50. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_transformation.py +0 -0
  51. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cdf_toml.py +0 -0
  52. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/__init__.py +0 -0
  53. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/_constants.py +0 -0
  54. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/_toolkit_client.py +0 -0
  55. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/__init__.py +0 -0
  56. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/canvas.py +0 -0
  57. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/charts.py +0 -0
  58. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/dml.py +0 -0
  59. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_data_modeling.py +0 -0
  60. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_files.py +0 -0
  61. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_functions.py +0 -0
  62. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_raw.py +0 -0
  63. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_timeseries.py +0 -0
  64. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/fixed_transformations.py +0 -0
  65. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/infield.py +0 -0
  66. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/location_filters.py +0 -0
  67. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/lookup.py +0 -0
  68. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/migration.py +0 -0
  69. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/project.py +0 -0
  70. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/__init__.py +0 -0
  71. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/api.py +0 -0
  72. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/capabilities.py +0 -0
  73. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/data_postprocessing.py +0 -0
  74. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/frames.py +0 -0
  75. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/locations.py +0 -0
  76. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/maps.py +0 -0
  77. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/robots.py +0 -0
  78. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/utlis.py +0 -0
  79. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/search.py +0 -0
  80. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/search_config.py +0 -0
  81. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/streams.py +0 -0
  82. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/three_d.py +0 -0
  83. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/token.py +0 -0
  84. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/verify.py +0 -0
  85. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api_client.py +0 -0
  86. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/config.py +0 -0
  87. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/__init__.py +0 -0
  88. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +0 -0
  89. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/apm_config_v1.py +0 -0
  90. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/base.py +0 -0
  91. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/canvas.py +0 -0
  92. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/capabilities.py +0 -0
  93. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/charts.py +0 -0
  94. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py +0 -0
  95. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extendable_cognite_file.py +0 -0
  96. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetadata.py +0 -0
  97. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetdata.py +0 -0
  98. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extended_timeseries.py +0 -0
  99. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/functions.py +0 -0
  100. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/graphql_data_models.py +0 -0
  101. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/infield.py +0 -0
  102. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +0 -0
  103. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/instances.py +0 -0
  104. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/location_filters.py +0 -0
  105. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/migration.py +0 -0
  106. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/pending_instances_ids.py +0 -0
  107. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/project.py +0 -0
  108. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/raw.py +0 -0
  109. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/robotics.py +0 -0
  110. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/search_config.py +0 -0
  111. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/sequences.py +0 -0
  112. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py +0 -0
  113. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/streams.py +0 -0
  114. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +0 -0
  115. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/testing.py +0 -0
  116. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/utils/__init__.py +0 -0
  117. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/utils/_concurrency.py +0 -0
  118. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/utils/_http_client.py +0 -0
  119. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_base.py +0 -0
  120. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_changes.py +0 -0
  121. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_cli_commands.py +0 -0
  122. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_download.py +0 -0
  123. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/command.py +0 -0
  124. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +0 -0
  125. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +0 -0
  126. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +0 -0
  127. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +0 -0
  128. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +0 -0
  129. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +0 -0
  130. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py +0 -0
  131. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py +0 -0
  132. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_profile.py +0 -0
  133. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_purge.py +0 -0
  134. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_questionary_style.py +0 -0
  135. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_upload.py +0 -0
  136. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_utils.py +0 -0
  137. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_virtual_env.py +0 -0
  138. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/about.py +0 -0
  139. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/auth.py +0 -0
  140. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/build_cmd.py +0 -0
  141. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/clean.py +0 -0
  142. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/collect.py +0 -0
  143. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/deploy.py +0 -0
  144. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/dump_resource.py +0 -0
  145. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/init.py +0 -0
  146. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/modules.py +0 -0
  147. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/pull.py +0 -0
  148. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/repo.py +0 -0
  149. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/resources.py +0 -0
  150. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/run.py +0 -0
  151. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/constants.py +0 -0
  152. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/__init__.py +0 -0
  153. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +0 -0
  154. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/agent.py +0 -0
  155. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +0 -0
  156. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +0 -0
  157. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_organization.py +0 -0
  158. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +0 -0
  159. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +0 -0
  160. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +0 -0
  161. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +0 -0
  162. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/group_scoped.py +0 -0
  163. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/hosted_extractors.py +0 -0
  164. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +0 -0
  165. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +0 -0
  166. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +0 -0
  167. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +0 -0
  168. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/three_d_model.py +0 -0
  169. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +0 -0
  170. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +0 -0
  171. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/workflow.py +0 -0
  172. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/__init__.py +0 -0
  173. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_base.py +0 -0
  174. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_build_files.py +0 -0
  175. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_build_variables.py +0 -0
  176. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_built_modules.py +0 -0
  177. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_built_resources.py +0 -0
  178. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_config_yaml.py +0 -0
  179. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_deploy_results.py +0 -0
  180. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +0 -0
  181. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_module_resources.py +0 -0
  182. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +0 -0
  183. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_packages.py +0 -0
  184. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +0 -0
  185. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_yaml_comments.py +0 -0
  186. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/exceptions.py +0 -0
  187. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/feature_flags.py +0 -0
  188. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/hints.py +0 -0
  189. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/plugins.py +0 -0
  190. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/protocols.py +0 -0
  191. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/prototypes/commands/__init__.py +0 -0
  192. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/prototypes/commands/import_.py +0 -0
  193. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/prototypes/import_app.py +0 -0
  194. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/__init__.py +0 -0
  195. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/agent.py +0 -0
  196. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py +0 -0
  197. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/asset.py +0 -0
  198. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/authentication.py +0 -0
  199. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/base.py +0 -0
  200. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +0 -0
  201. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/cognitefile.py +0 -0
  202. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py +0 -0
  203. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/containers.py +0 -0
  204. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/data_model.py +0 -0
  205. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/datapoint_subscription.py +0 -0
  206. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/dataset.py +0 -0
  207. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/event.py +0 -0
  208. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline.py +0 -0
  209. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline_config.py +0 -0
  210. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/filemetadata.py +0 -0
  211. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/function_schedule.py +0 -0
  212. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/functions.py +0 -0
  213. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/graphql_model.py +0 -0
  214. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/groups.py +0 -0
  215. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_destination.py +0 -0
  216. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_job.py +0 -0
  217. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_mapping.py +0 -0
  218. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_source.py +0 -0
  219. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/infield_cdm_location_config.py +0 -0
  220. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/infield_location_config.py +0 -0
  221. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/infield_v1.py +0 -0
  222. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/instance.py +0 -0
  223. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/labels.py +0 -0
  224. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/location.py +0 -0
  225. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/migration.py +0 -0
  226. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/raw_database_table.py +0 -0
  227. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/relationship.py +0 -0
  228. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/__init__.py +0 -0
  229. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/capability.py +0 -0
  230. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/data_postprocessing.py +0 -0
  231. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/frame.py +0 -0
  232. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/location.py +0 -0
  233. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/map.py +0 -0
  234. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/search_config.py +0 -0
  235. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/securitycategories.py +0 -0
  236. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/sequence.py +0 -0
  237. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/space.py +0 -0
  238. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/streamlit_.py +0 -0
  239. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/streams.py +0 -0
  240. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/threedmodels.py +0 -0
  241. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/timeseries.py +0 -0
  242. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformation_destination.py +0 -0
  243. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformation_notification.py +0 -0
  244. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformation_schedule.py +0 -0
  245. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformations.py +0 -0
  246. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py +0 -0
  247. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/views.py +0 -0
  248. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/workflow.py +0 -0
  249. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/workflow_trigger.py +0 -0
  250. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +0 -0
  251. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/__init__.py +0 -0
  252. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_annotations.py +0 -0
  253. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +0 -0
  254. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_base.py +0 -0
  255. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_data_classes.py +0 -0
  256. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_datapoints.py +0 -0
  257. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_file_content.py +0 -0
  258. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_instances.py +0 -0
  259. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_raw.py +0 -0
  260. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +0 -0
  261. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py +0 -0
  262. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_base.py +0 -0
  263. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py +0 -0
  264. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py +0 -0
  265. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py +0 -0
  266. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py +0 -0
  267. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py +0 -0
  268. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py +0 -0
  269. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/__init__.py +0 -0
  270. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/base.py +0 -0
  271. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +0 -0
  272. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tracker.py +0 -0
  273. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/__init__.py +0 -0
  274. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/_auxiliary.py +0 -0
  275. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/aggregators.py +0 -0
  276. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/auth.py +0 -0
  277. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/auxiliary.py +0 -0
  278. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/cdf.py +0 -0
  279. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/cicd.py +0 -0
  280. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/cli_args.py +0 -0
  281. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/collection.py +0 -0
  282. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/diff_list.py +0 -0
  283. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/dtype_conversion.py +0 -0
  284. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/file.py +0 -0
  285. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/__init__.py +0 -0
  286. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_base.py +0 -0
  287. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_compression.py +0 -0
  288. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_readers.py +0 -0
  289. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_writers.py +0 -0
  290. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/graphql_parser.py +0 -0
  291. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/hashing.py +0 -0
  292. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/__init__.py +0 -0
  293. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_client.py +0 -0
  294. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py +0 -0
  295. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +0 -0
  296. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_tracker.py +0 -0
  297. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/interactive_select.py +0 -0
  298. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/modules.py +0 -0
  299. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/producer_worker.py +0 -0
  300. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/progress_tracker.py +0 -0
  301. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/repository.py +0 -0
  302. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/sentry_utils.py +0 -0
  303. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/sql_parser.py +0 -0
  304. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/text.py +0 -0
  305. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/thread_safe_dict.py +0 -0
  306. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/useful_types.py +0 -0
  307. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/validate_access.py +0 -0
  308. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/validation.py +0 -0
  309. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/.env.tmpl +0 -0
  310. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/.gitignore +0 -0
  311. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md +0 -0
  312. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml +0 -0
  313. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml +0 -0
  314. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/config.dev.yaml +0 -0
  315. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/demo/__init__.py +0 -0
  316. {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/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.25
3
+ Version: 0.7.27
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>
@@ -8,17 +8,14 @@ from cognite.client.data_classes import Annotation
8
8
  from cognite.client.data_classes.data_modeling import ContainerId
9
9
 
10
10
  from cognite_toolkit._cdf_tk.client import ToolkitClient
11
- from cognite_toolkit._cdf_tk.commands import (
12
- MigrationCanvasCommand,
13
- MigrationPrepareCommand,
14
- )
11
+ from cognite_toolkit._cdf_tk.commands import MigrationPrepareCommand
15
12
  from cognite_toolkit._cdf_tk.commands._migrate import MigrationCommand
16
13
  from cognite_toolkit._cdf_tk.commands._migrate.creators import (
17
14
  InfieldV2ConfigCreator,
18
15
  InstanceSpaceCreator,
19
16
  SourceSystemCreator,
20
17
  )
21
- from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import AssetCentricMapper, ChartMapper
18
+ from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import AssetCentricMapper, CanvasMapper, ChartMapper
22
19
  from cognite_toolkit._cdf_tk.commands._migrate.migration_io import (
23
20
  AnnotationMigrationIO,
24
21
  AssetCentricMigrationIO,
@@ -28,14 +25,15 @@ from cognite_toolkit._cdf_tk.commands._migrate.selectors import (
28
25
  MigrateDataSetSelector,
29
26
  MigrationCSVFileSelector,
30
27
  )
31
- from cognite_toolkit._cdf_tk.storageio import ChartIO
32
- from cognite_toolkit._cdf_tk.storageio.selectors import ChartExternalIdSelector
28
+ from cognite_toolkit._cdf_tk.storageio import CanvasIO, ChartIO
29
+ from cognite_toolkit._cdf_tk.storageio.selectors import CanvasExternalIdSelector, ChartExternalIdSelector
33
30
  from cognite_toolkit._cdf_tk.utils.auth import EnvironmentVariables
34
31
  from cognite_toolkit._cdf_tk.utils.cli_args import parse_view_str
35
32
  from cognite_toolkit._cdf_tk.utils.interactive_select import (
36
33
  AssetInteractiveSelect,
37
34
  DataModelingSelect,
38
35
  FileMetadataInteractiveSelect,
36
+ InteractiveCanvasSelect,
39
37
  InteractiveChartSelect,
40
38
  ResourceViewMappingInteractiveSelect,
41
39
  )
@@ -855,6 +853,23 @@ class MigrateApp(typer.Typer):
855
853
  "performed to select the Canvas to migrate."
856
854
  ),
857
855
  ] = None,
856
+ skip_on_missing_ref: Annotated[
857
+ bool,
858
+ typer.Option(
859
+ "--skip-on-missing-ref",
860
+ "-s",
861
+ help="If set, the migration will skip Canvases that reference resources that have not been migrated to data modeling. "
862
+ "If not set, the migration will continue but the result will exclude the missing references.",
863
+ ),
864
+ ] = False,
865
+ log_dir: Annotated[
866
+ Path,
867
+ typer.Option(
868
+ "--log-dir",
869
+ "-l",
870
+ help="Path to the directory where migration logs will be stored.",
871
+ ),
872
+ ] = Path(f"migration_logs_{TODAY}"),
858
873
  dry_run: Annotated[
859
874
  bool,
860
875
  typer.Option(
@@ -880,12 +895,24 @@ class MigrateApp(typer.Typer):
880
895
  is populated with the mapping from Asset-Centric resources to the new data modeling resources.
881
896
  """
882
897
  client = EnvironmentVariables.create_from_environment().get_client()
898
+ if external_id is None:
899
+ interactive = InteractiveCanvasSelect(client)
900
+ external_id = interactive.select_external_ids()
901
+ log_dir = questionary.path("Specify log directory for migration logs:", default=str(log_dir)).ask()
902
+ dry_run = questionary.confirm("Do you want to perform a dry run?", default=dry_run).ask()
903
+ verbose = questionary.confirm("Do you want verbose output?", default=verbose).ask()
904
+ if any(res is None for res in [log_dir, dry_run, verbose]):
905
+ raise typer.Abort()
906
+ log_dir = Path(log_dir)
883
907
 
884
- cmd = MigrationCanvasCommand()
908
+ cmd = MigrationCommand()
909
+ selector = CanvasExternalIdSelector(external_ids=tuple(external_id))
885
910
  cmd.run(
886
- lambda: cmd.migrate_canvas(
887
- client,
888
- external_ids=external_id,
911
+ lambda: cmd.migrate(
912
+ selected=selector,
913
+ data=CanvasIO(client, exclude_existing_version=True),
914
+ mapper=CanvasMapper(client, dry_run=dry_run, skip_on_missing_ref=skip_on_missing_ref),
915
+ log_dir=log_dir,
889
916
  dry_run=dry_run,
890
917
  verbose=verbose,
891
918
  )
@@ -1,6 +1,6 @@
1
1
  from ._download import DownloadCommand
2
2
  from ._migrate import (
3
- MigrationCanvasCommand,
3
+ MigrationCommand,
4
4
  MigrationPrepareCommand,
5
5
  )
6
6
  from ._profile import ProfileAssetCentricCommand, ProfileAssetCommand, ProfileRawCommand, ProfileTransformationCommand
@@ -30,7 +30,7 @@ __all__ = [
30
30
  "DownloadCommand",
31
31
  "DumpResourceCommand",
32
32
  "InitCommand",
33
- "MigrationCanvasCommand",
33
+ "MigrationCommand",
34
34
  "MigrationPrepareCommand",
35
35
  "ModulesCommand",
36
36
  "ProfileAssetCentricCommand",
@@ -1,9 +1,7 @@
1
- from .canvas import MigrationCanvasCommand
2
1
  from .command import MigrationCommand
3
2
  from .prepare import MigrationPrepareCommand
4
3
 
5
4
  __all__ = [
6
- "MigrationCanvasCommand",
7
5
  "MigrationCommand",
8
6
  "MigrationPrepareCommand",
9
7
  ]
@@ -1,5 +1,6 @@
1
1
  from abc import ABC, abstractmethod
2
- from collections.abc import Sequence
2
+ from collections import defaultdict
3
+ from collections.abc import Callable, Sequence
3
4
  from typing import Generic, cast
4
5
  from uuid import uuid4
5
6
 
@@ -11,8 +12,15 @@ from cognite.client.data_classes.data_modeling import (
11
12
  View,
12
13
  ViewId,
13
14
  )
15
+ from cognite.client.exceptions import CogniteException
14
16
 
15
17
  from cognite_toolkit._cdf_tk.client import ToolkitClient
18
+ from cognite_toolkit._cdf_tk.client.data_classes.canvas import (
19
+ ContainerReferenceApply,
20
+ FdmInstanceContainerReferenceApply,
21
+ IndustrialCanvas,
22
+ IndustrialCanvasApply,
23
+ )
16
24
  from cognite_toolkit._cdf_tk.client.data_classes.charts import Chart, ChartWrite
17
25
  from cognite_toolkit._cdf_tk.client.data_classes.charts_data import (
18
26
  ChartCoreTimeseries,
@@ -23,13 +31,18 @@ from cognite_toolkit._cdf_tk.client.data_classes.migration import ResourceViewMa
23
31
  from cognite_toolkit._cdf_tk.commands._migrate.conversion import DirectRelationCache, asset_centric_to_dm
24
32
  from cognite_toolkit._cdf_tk.commands._migrate.data_classes import AssetCentricMapping
25
33
  from cognite_toolkit._cdf_tk.commands._migrate.default_mappings import create_default_mappings
26
- from cognite_toolkit._cdf_tk.commands._migrate.issues import ChartMigrationIssue, ConversionIssue, MigrationIssue
34
+ from cognite_toolkit._cdf_tk.commands._migrate.issues import (
35
+ CanvasMigrationIssue,
36
+ ChartMigrationIssue,
37
+ ConversionIssue,
38
+ MigrationIssue,
39
+ )
27
40
  from cognite_toolkit._cdf_tk.commands._migrate.selectors import AssetCentricMigrationSelector
28
41
  from cognite_toolkit._cdf_tk.constants import MISSING_INSTANCE_SPACE
29
- from cognite_toolkit._cdf_tk.exceptions import ToolkitValueError
42
+ from cognite_toolkit._cdf_tk.exceptions import ToolkitMigrationError, ToolkitValueError
30
43
  from cognite_toolkit._cdf_tk.protocols import T_ResourceRequest, T_ResourceResponse
31
44
  from cognite_toolkit._cdf_tk.storageio._base import T_Selector
32
- from cognite_toolkit._cdf_tk.storageio.selectors import ChartSelector
45
+ from cognite_toolkit._cdf_tk.storageio.selectors import CanvasSelector, ChartSelector
33
46
  from cognite_toolkit._cdf_tk.utils import humanize_collection
34
47
  from cognite_toolkit._cdf_tk.utils.useful_types import (
35
48
  T_AssetCentricResourceExtended,
@@ -245,3 +258,130 @@ class ChartMapper(DataMapper[ChartSelector, Chart, ChartWrite]):
245
258
  new_source_item = ChartSource(id=cast(str, core_ts_item.id), type=cast(str, core_ts_item.type))
246
259
  updated_source_collection.append(new_source_item)
247
260
  return updated_source_collection
261
+
262
+
263
+ class CanvasMapper(DataMapper[CanvasSelector, IndustrialCanvas, IndustrialCanvasApply]):
264
+ # Note sequences are not supported in Canvas, so we do not include them here.
265
+ asset_centric_resource_types = tuple(("asset", "event", "timeseries", "file"))
266
+ DEFAULT_ASSET_VIEW = ViewId("cdf_cdm", "CogniteAsset", "v1")
267
+ DEFAULT_EVENT_VIEW = ViewId("cdf_cdm", "CogniteActivity", "v1")
268
+ DEFAULT_FILE_VIEW = ViewId("cdf_cdm", "CogniteFile", "v1")
269
+ DEFAULT_TIMESERIES_VIEW = ViewId("cdf_cdm", "CogniteTimeSeries", "v1")
270
+
271
+ def __init__(self, client: ToolkitClient, dry_run: bool, skip_on_missing_ref: bool = False) -> None:
272
+ self.client = client
273
+ self.dry_run = dry_run
274
+ self.skip_on_missing_ref = skip_on_missing_ref
275
+
276
+ def map(self, source: Sequence[IndustrialCanvas]) -> Sequence[tuple[IndustrialCanvasApply | None, MigrationIssue]]:
277
+ self._populate_cache(source)
278
+ output: list[tuple[IndustrialCanvasApply | None, MigrationIssue]] = []
279
+ for item in source:
280
+ mapped_item, issue = self._map_single_item(item)
281
+ output.append((mapped_item, issue))
282
+ return output
283
+
284
+ @property
285
+ def lookup_methods(self) -> dict[str, Callable]:
286
+ return {
287
+ "asset": self.client.migration.lookup.assets,
288
+ "event": self.client.migration.lookup.events,
289
+ "timeseries": self.client.migration.lookup.time_series,
290
+ "file": self.client.migration.lookup.files,
291
+ }
292
+
293
+ def _populate_cache(self, source: Sequence[IndustrialCanvas]) -> None:
294
+ """Populate the internal cache with references from the source canvases.
295
+
296
+ Note that the consumption views are also cached as part of the timeseries lookup.
297
+ """
298
+ ids_by_type: dict[str, set[int]] = defaultdict(set)
299
+ for canvas in source:
300
+ for ref in canvas.container_references or []:
301
+ if ref.container_reference_type in self.asset_centric_resource_types:
302
+ ids_by_type[ref.container_reference_type].add(ref.resource_id)
303
+
304
+ for resource_type, lookup_method in self.lookup_methods.items():
305
+ ids = ids_by_type.get(resource_type)
306
+ if ids:
307
+ lookup_method(list(ids))
308
+
309
+ def _get_node_id(self, resource_id: int, resource_type: str) -> NodeId | None:
310
+ """Look up the node ID for a given resource ID and type."""
311
+ try:
312
+ return self.lookup_methods[resource_type](resource_id)
313
+ except KeyError:
314
+ raise ToolkitValueError(f"Unsupported resource type '{resource_type}' for container reference migration.")
315
+
316
+ def _get_consumer_view_id(self, resource_id: int, resource_type: str) -> ViewId:
317
+ """Look up the consumer view ID for a given resource ID and type."""
318
+ lookup_map = {
319
+ "asset": (self.client.migration.lookup.assets.consumer_view, self.DEFAULT_ASSET_VIEW),
320
+ "event": (self.client.migration.lookup.events.consumer_view, self.DEFAULT_EVENT_VIEW),
321
+ "timeseries": (self.client.migration.lookup.time_series.consumer_view, self.DEFAULT_TIMESERIES_VIEW),
322
+ "file": (self.client.migration.lookup.files.consumer_view, self.DEFAULT_FILE_VIEW),
323
+ }
324
+ if lookup_tuple := lookup_map.get(resource_type):
325
+ method, fallback = lookup_tuple
326
+ return method(resource_id) or fallback
327
+
328
+ raise ToolkitValueError(f"Unsupported resource type '{resource_type}' for container reference migration.")
329
+
330
+ def _map_single_item(self, canvas: IndustrialCanvas) -> tuple[IndustrialCanvasApply | None, CanvasMigrationIssue]:
331
+ update = canvas.as_write()
332
+ issue = CanvasMigrationIssue(canvas_external_id=canvas.canvas.external_id, canvas_name=canvas.canvas.name)
333
+
334
+ remaining_container_references: list[ContainerReferenceApply] = []
335
+ new_fdm_references: list[FdmInstanceContainerReferenceApply] = []
336
+ for ref in update.container_references or []:
337
+ if ref.container_reference_type not in self.asset_centric_resource_types:
338
+ remaining_container_references.append(ref)
339
+ continue
340
+ node_id = self._get_node_id(ref.resource_id, ref.container_reference_type)
341
+ if node_id is None:
342
+ issue.missing_reference_ids.append(ref.as_asset_centric_id())
343
+ else:
344
+ consumer_view = self._get_consumer_view_id(ref.resource_id, ref.container_reference_type)
345
+ fdm_ref = self.migrate_container_reference(ref, canvas.canvas.external_id, node_id, consumer_view)
346
+ new_fdm_references.append(fdm_ref)
347
+ if issue.missing_reference_ids and self.skip_on_missing_ref:
348
+ return None, issue
349
+
350
+ update.container_references = remaining_container_references
351
+ update.fdm_instance_container_references.extend(new_fdm_references)
352
+ if not self.dry_run:
353
+ backup = canvas.as_write().create_backup()
354
+ try:
355
+ self.client.canvas.industrial.create(backup)
356
+ except CogniteException as e:
357
+ raise ToolkitMigrationError(
358
+ f"Failed to create backup for canvas '{canvas.canvas.name}': {e!s}. "
359
+ ) from e
360
+
361
+ return update, issue
362
+
363
+ @classmethod
364
+ def migrate_container_reference(
365
+ cls, reference: ContainerReferenceApply, canvas_external_id: str, instance_id: NodeId, consumer_view: ViewId
366
+ ) -> FdmInstanceContainerReferenceApply:
367
+ """Migrate a single container reference by replacing the asset-centric ID with the data model instance ID."""
368
+ new_id = str(uuid4())
369
+ new_external_id = f"{canvas_external_id}_{new_id}"
370
+ return FdmInstanceContainerReferenceApply(
371
+ external_id=new_external_id,
372
+ id_=new_id,
373
+ container_reference_type="fdmInstance",
374
+ instance_space=instance_id.space,
375
+ instance_external_id=instance_id.external_id,
376
+ view_space=consumer_view.space,
377
+ view_external_id=consumer_view.external_id,
378
+ view_version=consumer_view.version,
379
+ label=reference.label,
380
+ properties_=reference.properties_,
381
+ x=reference.x,
382
+ y=reference.y,
383
+ width=reference.width,
384
+ height=reference.height,
385
+ max_width=reference.max_width,
386
+ max_height=reference.max_height,
387
+ )
@@ -51,6 +51,18 @@ class ChartMigrationIssue(MigrationIssue):
51
51
  )
52
52
 
53
53
 
54
+ class CanvasMigrationIssue(MigrationIssue):
55
+ type: ClassVar[str] = "canvasMigration"
56
+ canvas_external_id: str
57
+ canvas_name: str
58
+ missing_reference_ids: list[AssetCentricId] = Field(default_factory=list)
59
+
60
+ @property
61
+ def has_issues(self) -> bool:
62
+ """Check if there are any issues recorded in this CanvasMigrationIssue."""
63
+ return bool(self.missing_reference_ids)
64
+
65
+
54
66
  class ReadIssue(MigrationIssue):
55
67
  """Represents a read issue encountered during migration."""
56
68
 
@@ -1,6 +1,6 @@
1
1
  import sys
2
2
  from abc import ABC, abstractmethod
3
- from collections.abc import Hashable, Iterable, Sequence, Set, Sized
3
+ from collections.abc import Hashable, Iterable, Sequence, Sized
4
4
  from pathlib import Path
5
5
  from typing import TYPE_CHECKING, Any, Generic, TypeVar
6
6
 
@@ -9,7 +9,7 @@ from cognite.client.utils.useful_types import SequenceNotStr
9
9
  from rich.console import Console
10
10
 
11
11
  from cognite_toolkit._cdf_tk.client import ToolkitClient
12
- from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING, EXCL_FILES
12
+ from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING, YAML_SUFFIX
13
13
  from cognite_toolkit._cdf_tk.protocols import T_ResourceRequest, T_ResourceResponse
14
14
  from cognite_toolkit._cdf_tk.resource_classes import ToolkitResource
15
15
  from cognite_toolkit._cdf_tk.tk_warnings import ToolkitWarning
@@ -39,11 +39,9 @@ class Loader(ABC):
39
39
  exclude_filetypes: A set of filetypes that should be excluded from the supported filetypes.
40
40
  """
41
41
 
42
- filetypes: frozenset[str]
43
42
  folder_name: str
44
43
  kind: str
45
44
  dependencies: "frozenset[type[ResourceCRUD]]" = frozenset()
46
- exclude_filetypes: frozenset[str] = frozenset()
47
45
  _doc_base_url: str = "https://api-docs.cognite.com/20230101/tag/"
48
46
  _doc_url: str = ""
49
47
  sub_folder_name: str | None = None
@@ -74,13 +72,12 @@ class Loader(ABC):
74
72
  def doc_url(cls) -> str:
75
73
  return cls._doc_base_url + cls._doc_url
76
74
 
77
- def find_files(self, dir_or_file: Path | None = None, include_formats: Set[str] | None = None) -> list[Path]:
75
+ def find_files(self, dir_or_file: Path | None = None) -> list[Path]:
78
76
  """Find all files that are supported by this loader in the given directory or file.
79
77
 
80
78
  Args:
81
79
  dir_or_file (Path): The directory or file to search in. If no path is given,
82
80
  the build directory is used.
83
- include_formats (set[str]): A set of file formats to include. If not set, all formats are included.
84
81
 
85
82
  Returns:
86
83
  list[Path]: A sorted list of all files that are supported by this loader.
@@ -94,12 +91,7 @@ class Loader(ABC):
94
91
  raise ValueError("Invalid file type")
95
92
  return [dir_or_file]
96
93
  elif dir_or_file.is_dir():
97
- file_paths = [
98
- file
99
- for file in dir_or_file.glob("**/*")
100
- if self.is_supported_file(file) and (include_formats is None or file.suffix in include_formats)
101
- ]
102
- return sorted(file_paths)
94
+ return sorted([file for file in dir_or_file.rglob("*") if self.is_supported_file(file)])
103
95
  else:
104
96
  return []
105
97
 
@@ -118,11 +110,7 @@ class Loader(ABC):
118
110
  bool: True if the file is supported, False otherwise.
119
111
 
120
112
  """
121
- if cls.filetypes and file.suffix[1:] not in cls.filetypes:
122
- return False
123
- if cls.exclude_filetypes and file.suffix[1:] in cls.exclude_filetypes:
124
- return False
125
- return file.stem.casefold().endswith(cls.kind.casefold())
113
+ return file.suffix in YAML_SUFFIX and file.stem.casefold().endswith(cls.kind.casefold())
126
114
 
127
115
 
128
116
  T_Loader = TypeVar("T_Loader", bound=Loader)
@@ -144,8 +132,6 @@ class ResourceCRUD(Loader, ABC, Generic[T_ID, T_ResourceRequest, T_ResourceRespo
144
132
  yaml_cls: The File format for this resource. This is used to validate the user input.
145
133
  support_drop: Whether the resource supports the drop flag.
146
134
  support_update: Whether the resource supports the update operation.
147
- filetypes: The filetypes that are supported by this crud. This should not be set in the subclass, it
148
- should always be yaml and yml.
149
135
  dependencies: A set of other resource cruds that must be loaded before this crud.
150
136
  parent_resource: A set of other resource cruds that are parent resources to this resource. This is used
151
137
  to determine if the iterate method should return any resources when filtering by parent ids.
@@ -158,7 +144,6 @@ class ResourceCRUD(Loader, ABC, Generic[T_ID, T_ResourceRequest, T_ResourceRespo
158
144
  # Optional to set in the subclass
159
145
  support_drop = True
160
146
  support_update = True
161
- filetypes = frozenset({"yaml", "yml"})
162
147
  dependencies: "frozenset[type[ResourceCRUD]]" = frozenset()
163
148
  # For example, TransformationNotification and Schedule has Transformation as the parent resource
164
149
  # This is used in the iterate method to ensure that nothing is returned if
@@ -437,10 +422,3 @@ class DataCRUD(Loader, ABC):
437
422
  @abstractmethod
438
423
  def upload(self, state: "BuildEnvironment", dry_run: bool) -> Iterable[tuple[str, int]]:
439
424
  raise NotImplementedError
440
-
441
- def _find_data_files(self, directory: Path) -> list[Path]:
442
- return [
443
- path
444
- for path in directory.rglob("*")
445
- if path.is_file() and path.name not in EXCL_FILES and self.is_supported_file(path)
446
- ]
@@ -28,7 +28,6 @@ class DatapointsCRUD(DataCRUD):
28
28
  item_name = "datapoints"
29
29
  folder_name = "timeseries"
30
30
  kind = "Datapoints"
31
- filetypes = frozenset({"csv", "parquet"})
32
31
  dependencies = frozenset({TimeSeriesCRUD})
33
32
  _doc_url = "Time-series/operation/postMultiTimeSeriesDatapoints"
34
33
 
@@ -43,7 +42,9 @@ class DatapointsCRUD(DataCRUD):
43
42
  resource_directories = state.built_resources[self.folder_name].get_resource_directories(self.folder_name)
44
43
 
45
44
  for resource_dir in resource_directories:
46
- for datafile in self._find_data_files(resource_dir):
45
+ for datafile in resource_dir.rglob("*"):
46
+ if not datafile.stem.casefold().endswith(self.kind.casefold()):
47
+ continue
47
48
  if datafile.suffix == ".csv":
48
49
  # The replacement is used to ensure that we read exactly the same file on Windows and Linux
49
50
  file_content = datafile.read_bytes().replace(b"\r\n", b"\n").decode("utf-8")
@@ -52,7 +53,7 @@ class DatapointsCRUD(DataCRUD):
52
53
  elif datafile.suffix == ".parquet":
53
54
  data = pd.read_parquet(datafile, engine="pyarrow")
54
55
  else:
55
- raise ValueError(f"Unsupported file type {datafile.suffix} for {datafile.name}")
56
+ continue
56
57
  timeseries_ids = list(data.columns)
57
58
  if len(timeseries_ids) == 1:
58
59
  ts_str = timeseries_ids[0]
@@ -87,8 +88,6 @@ class FileCRUD(DataCRUD):
87
88
  item_name = "file contents"
88
89
  folder_name = "files"
89
90
  kind = "File"
90
- filetypes = frozenset()
91
- exclude_filetype: frozenset[str] = frozenset({})
92
91
  dependencies = frozenset({FileMetadataCRUD, CogniteFileCRUD})
93
92
  _doc_url = "Files/operation/initFileUpload"
94
93
 
@@ -149,7 +148,6 @@ class FileCRUD(DataCRUD):
149
148
  class RawFileCRUD(DataCRUD):
150
149
  item_name = "rows"
151
150
  folder_name = "raw"
152
- filetypes = frozenset({"csv", "parquet"})
153
151
  kind = "Raw"
154
152
  dependencies = frozenset({RawTableCRUD})
155
153
  _doc_url = "Raw/operation/postRows"
@@ -169,7 +167,7 @@ class RawFileCRUD(DataCRUD):
169
167
  datafile = next(
170
168
  (
171
169
  resource.source.path.with_suffix(f".{file_type}")
172
- for file_type in self.filetypes
170
+ for file_type in ["csv", "parquet"]
173
171
  if (resource.source.path.with_suffix(f".{file_type}").exists())
174
172
  ),
175
173
  None,
@@ -29,20 +29,23 @@ from cognite_toolkit._cdf_tk.client.data_classes.sequences import (
29
29
  ToolkitSequenceRowsList,
30
30
  ToolkitSequenceRowsWrite,
31
31
  )
32
+ from cognite_toolkit._cdf_tk.constants import TABLE_FORMATS, YAML_SUFFIX
32
33
  from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceCRUD
34
+ from cognite_toolkit._cdf_tk.feature_flags import Flags
33
35
  from cognite_toolkit._cdf_tk.resource_classes import AssetYAML, EventYAML, SequenceRowYAML, SequenceYAML
34
- from cognite_toolkit._cdf_tk.tk_warnings import LowSeverityWarning
36
+ from cognite_toolkit._cdf_tk.tk_warnings import LowSeverityWarning, ToolkitDeprecationWarning
35
37
  from cognite_toolkit._cdf_tk.utils import load_yaml_inject_variables
36
38
  from cognite_toolkit._cdf_tk.utils.diff_list import diff_list_hashable, diff_list_identifiable
37
39
  from cognite_toolkit._cdf_tk.utils.file import read_csv
38
40
 
39
41
  from .data_organization import DataSetsCRUD, LabelCRUD
40
42
 
43
+ _DEPRECATION_WARNING_ISSUED = False
44
+
41
45
 
42
46
  @final
43
47
  class AssetCRUD(ResourceCRUD[str, AssetWrite, Asset]):
44
48
  folder_name = "classic"
45
- filetypes = frozenset({"yaml", "yml", "csv", "parquet"})
46
49
  resource_cls = Asset
47
50
  resource_write_cls = AssetWrite
48
51
  yaml_cls = AssetYAML
@@ -50,6 +53,26 @@ class AssetCRUD(ResourceCRUD[str, AssetWrite, Asset]):
50
53
  dependencies = frozenset({DataSetsCRUD, LabelCRUD})
51
54
  _doc_url = "Assets/operation/createAssets"
52
55
 
56
+ @classmethod
57
+ def is_supported_file(cls, file: Path) -> bool:
58
+ if Flags.v08.is_enabled():
59
+ return super().is_supported_file(file)
60
+ global _DEPRECATION_WARNING_ISSUED
61
+ if not file.stem.casefold().endswith(cls.kind.casefold()):
62
+ return False
63
+ if file.suffix in YAML_SUFFIX:
64
+ return True
65
+ if file.suffix in TABLE_FORMATS:
66
+ if not _DEPRECATION_WARNING_ISSUED:
67
+ ToolkitDeprecationWarning(
68
+ feature="deployment of asset from CSV or Parquet files",
69
+ alternative="data plugin and cdf data upload commands",
70
+ removal_version="0.8",
71
+ ).print_warning()
72
+ _DEPRECATION_WARNING_ISSUED = True
73
+ return True
74
+ return False
75
+
53
76
  @property
54
77
  def display_name(self) -> str:
55
78
  return "assets"
@@ -479,7 +502,6 @@ class SequenceRowCRUD(ResourceCRUD[str, ToolkitSequenceRowsWrite, ToolkitSequenc
479
502
  @final
480
503
  class EventCRUD(ResourceCRUD[str, EventWrite, Event]):
481
504
  folder_name = "classic"
482
- filetypes = frozenset({"yaml", "yml"})
483
505
  resource_cls = Event
484
506
  resource_write_cls = EventWrite
485
507
  yaml_cls = EventYAML
@@ -40,7 +40,6 @@ from .group_scoped import GroupResourceScopedCRUD
40
40
  @final
41
41
  class InfieldV1CRUD(ResourceCRUD[str, APMConfigWrite, APMConfig]):
42
42
  folder_name = "cdf_applications"
43
- filetypes = frozenset({"yaml", "yml"})
44
43
  resource_cls = APMConfig
45
44
  resource_write_cls = APMConfigWrite
46
45
  kind = "InfieldV1"
@@ -249,7 +248,6 @@ class InfieldV1CRUD(ResourceCRUD[str, APMConfigWrite, APMConfig]):
249
248
  @final
250
249
  class InFieldLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InfieldLocationConfig, InfieldLocationConfig]):
251
250
  folder_name = "cdf_applications"
252
- filetypes = frozenset({"yaml", "yml"})
253
251
  resource_cls = InfieldLocationConfig
254
252
  resource_write_cls = InfieldLocationConfig
255
253
  kind = "InFieldLocationConfig"
@@ -349,7 +347,6 @@ class InFieldLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InfieldLocationConf
349
347
  @final
350
348
  class InFieldCDMLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InFieldCDMLocationConfig, InFieldCDMLocationConfig]):
351
349
  folder_name = "cdf_applications"
352
- filetypes = frozenset({"yaml", "yml"})
353
350
  resource_cls = InFieldCDMLocationConfig
354
351
  resource_write_cls = InFieldCDMLocationConfig
355
352
  kind = "InFieldCDMLocationConfig"
@@ -21,7 +21,6 @@ from .datamodel import SpaceCRUD, ViewCRUD
21
21
  @final
22
22
  class ResourceViewMappingCRUD(ResourceCRUD[str, ResourceViewMappingApply, ResourceViewMapping]):
23
23
  folder_name = "migration"
24
- filetypes = frozenset({"yaml", "yml"})
25
24
  resource_cls = ResourceViewMapping
26
25
  resource_write_cls = ResourceViewMappingApply
27
26
  kind = "ResourceViewMapping"
@@ -23,7 +23,6 @@ from .timeseries import TimeSeriesCRUD
23
23
  @final
24
24
  class RelationshipCRUD(ResourceCRUD[str, RelationshipWrite, Relationship]):
25
25
  folder_name = "classic"
26
- filetypes = frozenset({"yaml", "yml"})
27
26
  resource_cls = Relationship
28
27
  resource_write_cls = RelationshipWrite
29
28
  kind = "Relationship"
@@ -19,7 +19,6 @@ from .datamodel import ContainerCRUD
19
19
  @final
20
20
  class StreamCRUD(ResourceCRUD[str, StreamRequest, StreamResponse]):
21
21
  folder_name = "streams"
22
- filetypes = frozenset({"yaml", "yml"})
23
22
  resource_cls = StreamResponse
24
23
  resource_write_cls = StreamRequest
25
24
  kind = "Streams"
@@ -14,6 +14,7 @@ from yaml import YAMLError
14
14
 
15
15
  from cognite_toolkit._cdf_tk.constants import TABLE_FORMATS
16
16
  from cognite_toolkit._cdf_tk.exceptions import ToolkitWrongResourceError, ToolkitYAMLFormatError
17
+ from cognite_toolkit._cdf_tk.feature_flags import Flags
17
18
  from cognite_toolkit._cdf_tk.tk_warnings import EnvironmentVariableMissingWarning, catch_warnings
18
19
  from cognite_toolkit._cdf_tk.utils import to_diff
19
20
 
@@ -47,12 +48,16 @@ class ResourceWorker(Generic[T_ID, T_ResourceRequest, T_ResourceResponse]):
47
48
  ) -> list[Path]:
48
49
  filepaths = self.loader.find_files(directory)
49
50
 
50
- for read_module in read_modules or []:
51
- if resource_dir := read_module.resource_dir_path(self.loader.folder_name):
52
- # As of 05/11/24, Asset support csv and parquet files in addition to YAML.
53
- # These table formats are not built, i.e., no variable replacement is done,
54
- # so we load them directly from the source module.
55
- filepaths.extend(self.loader.find_files(resource_dir, include_formats=TABLE_FORMATS))
51
+ if not Flags.v08.is_enabled():
52
+ for read_module in read_modules or []:
53
+ if resource_dir := read_module.resource_dir_path(self.loader.folder_name):
54
+ # As of 05/11/24, Asset support csv and parquet files in addition to YAML.
55
+ # These table formats are not built, i.e., no variable replacement is done,
56
+ # so we load them directly from the source module.
57
+ table_files = [
58
+ file for file in self.loader.find_files(resource_dir) if file.suffix in TABLE_FORMATS
59
+ ]
60
+ filepaths.extend(table_files)
56
61
 
57
62
  if not sort:
58
63
  return filepaths