cognite-toolkit 0.7.39__py3-none-any.whl → 0.7.51__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. cognite_toolkit/_cdf_tk/apps/_download_app.py +1 -1
  2. cognite_toolkit/_cdf_tk/apps/_dump_app.py +1 -1
  3. cognite_toolkit/_cdf_tk/apps/_migrate_app.py +6 -6
  4. cognite_toolkit/_cdf_tk/builders/_function.py +81 -9
  5. cognite_toolkit/_cdf_tk/builders/_raw.py +1 -1
  6. cognite_toolkit/_cdf_tk/client/_resource_base.py +187 -0
  7. cognite_toolkit/_cdf_tk/client/_toolkit_client.py +37 -5
  8. cognite_toolkit/_cdf_tk/client/api/agents.py +107 -0
  9. cognite_toolkit/_cdf_tk/client/api/annotations.py +129 -0
  10. cognite_toolkit/_cdf_tk/client/api/assets.py +130 -0
  11. cognite_toolkit/_cdf_tk/client/api/containers.py +132 -0
  12. cognite_toolkit/_cdf_tk/client/api/data_models.py +137 -0
  13. cognite_toolkit/_cdf_tk/client/api/datasets.py +141 -0
  14. cognite_toolkit/_cdf_tk/client/api/events.py +129 -0
  15. cognite_toolkit/_cdf_tk/client/api/extraction_pipelines.py +148 -0
  16. cognite_toolkit/_cdf_tk/client/api/filemetadata.py +176 -0
  17. cognite_toolkit/_cdf_tk/client/api/function_schedules.py +115 -0
  18. cognite_toolkit/_cdf_tk/client/api/functions.py +113 -0
  19. cognite_toolkit/_cdf_tk/client/api/graphql_data_models.py +167 -0
  20. cognite_toolkit/_cdf_tk/client/api/groups.py +121 -0
  21. cognite_toolkit/_cdf_tk/client/api/hosted_extractor_destinations.py +131 -0
  22. cognite_toolkit/_cdf_tk/client/api/hosted_extractor_jobs.py +122 -0
  23. cognite_toolkit/_cdf_tk/client/api/hosted_extractor_mappings.py +129 -0
  24. cognite_toolkit/_cdf_tk/client/api/hosted_extractor_sources.py +136 -0
  25. cognite_toolkit/_cdf_tk/client/api/hosted_extractors.py +23 -0
  26. cognite_toolkit/_cdf_tk/client/api/infield.py +8 -8
  27. cognite_toolkit/_cdf_tk/client/api/instances.py +139 -0
  28. cognite_toolkit/_cdf_tk/client/api/labels.py +125 -0
  29. cognite_toolkit/_cdf_tk/client/api/legacy/canvas.py +3 -3
  30. cognite_toolkit/_cdf_tk/client/api/legacy/charts.py +1 -1
  31. cognite_toolkit/_cdf_tk/client/api/legacy/extended_data_modeling.py +1 -1
  32. cognite_toolkit/_cdf_tk/client/api/legacy/extended_files.py +2 -2
  33. cognite_toolkit/_cdf_tk/client/api/legacy/extended_functions.py +1 -1
  34. cognite_toolkit/_cdf_tk/client/api/legacy/extended_raw.py +1 -1
  35. cognite_toolkit/_cdf_tk/client/api/legacy/extended_timeseries.py +2 -2
  36. cognite_toolkit/_cdf_tk/client/api/legacy/location_filters.py +1 -1
  37. cognite_toolkit/_cdf_tk/client/api/legacy/robotics/capabilities.py +1 -1
  38. cognite_toolkit/_cdf_tk/client/api/legacy/robotics/data_postprocessing.py +1 -1
  39. cognite_toolkit/_cdf_tk/client/api/legacy/robotics/frames.py +1 -1
  40. cognite_toolkit/_cdf_tk/client/api/legacy/robotics/locations.py +1 -1
  41. cognite_toolkit/_cdf_tk/client/api/legacy/robotics/maps.py +1 -1
  42. cognite_toolkit/_cdf_tk/client/api/legacy/robotics/robots.py +1 -1
  43. cognite_toolkit/_cdf_tk/client/api/legacy/search_config.py +1 -1
  44. cognite_toolkit/_cdf_tk/client/api/location_filters.py +177 -0
  45. cognite_toolkit/_cdf_tk/client/api/migration.py +1 -1
  46. cognite_toolkit/_cdf_tk/client/api/project.py +2 -2
  47. cognite_toolkit/_cdf_tk/client/api/raw.py +204 -0
  48. cognite_toolkit/_cdf_tk/client/api/relationships.py +133 -0
  49. cognite_toolkit/_cdf_tk/client/api/robotics.py +19 -0
  50. cognite_toolkit/_cdf_tk/client/api/robotics_capabilities.py +127 -0
  51. cognite_toolkit/_cdf_tk/client/api/robotics_data_postprocessing.py +138 -0
  52. cognite_toolkit/_cdf_tk/client/api/robotics_frames.py +122 -0
  53. cognite_toolkit/_cdf_tk/client/api/robotics_locations.py +127 -0
  54. cognite_toolkit/_cdf_tk/client/api/robotics_maps.py +122 -0
  55. cognite_toolkit/_cdf_tk/client/api/robotics_robots.py +122 -0
  56. cognite_toolkit/_cdf_tk/client/api/search_config.py +101 -0
  57. cognite_toolkit/_cdf_tk/client/api/security_categories.py +94 -0
  58. cognite_toolkit/_cdf_tk/client/api/sequences.py +133 -0
  59. cognite_toolkit/_cdf_tk/client/api/simulator_models.py +154 -0
  60. cognite_toolkit/_cdf_tk/client/api/simulators.py +8 -0
  61. cognite_toolkit/_cdf_tk/client/api/spaces.py +117 -0
  62. cognite_toolkit/_cdf_tk/client/api/streams.py +65 -57
  63. cognite_toolkit/_cdf_tk/client/api/three_d.py +300 -283
  64. cognite_toolkit/_cdf_tk/client/api/timeseries.py +137 -0
  65. cognite_toolkit/_cdf_tk/client/api/token.py +1 -1
  66. cognite_toolkit/_cdf_tk/client/api/transformations.py +146 -0
  67. cognite_toolkit/_cdf_tk/client/api/views.py +139 -0
  68. cognite_toolkit/_cdf_tk/client/api/workflow_triggers.py +128 -0
  69. cognite_toolkit/_cdf_tk/client/api/workflow_versions.py +138 -0
  70. cognite_toolkit/_cdf_tk/client/api/workflows.py +119 -0
  71. cognite_toolkit/_cdf_tk/client/cdf_client/__init__.py +10 -0
  72. cognite_toolkit/_cdf_tk/client/cdf_client/api.py +358 -0
  73. cognite_toolkit/_cdf_tk/client/cdf_client/responses.py +38 -0
  74. cognite_toolkit/_cdf_tk/{utils → client}/http_client/__init__.py +9 -7
  75. cognite_toolkit/_cdf_tk/{utils → client}/http_client/_client.py +23 -14
  76. cognite_toolkit/_cdf_tk/{utils → client}/http_client/_data_classes.py +12 -2
  77. cognite_toolkit/_cdf_tk/client/http_client/_data_classes2.py +151 -0
  78. cognite_toolkit/_cdf_tk/client/http_client/_exception.py +13 -0
  79. cognite_toolkit/_cdf_tk/client/http_client/_item_classes.py +118 -0
  80. cognite_toolkit/_cdf_tk/client/request_classes/base.py +19 -0
  81. cognite_toolkit/_cdf_tk/client/request_classes/filters.py +113 -0
  82. cognite_toolkit/_cdf_tk/client/request_classes/graphql.py +28 -0
  83. cognite_toolkit/_cdf_tk/client/resource_classes/agent.py +130 -0
  84. cognite_toolkit/_cdf_tk/client/resource_classes/annotation.py +79 -0
  85. cognite_toolkit/_cdf_tk/client/resource_classes/apm_config.py +128 -0
  86. cognite_toolkit/_cdf_tk/client/resource_classes/asset.py +47 -0
  87. cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/charts_data.py +1 -1
  88. cognite_toolkit/_cdf_tk/client/resource_classes/cognite_file.py +53 -0
  89. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/__init__.py +168 -0
  90. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_constraints.py +37 -0
  91. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_container.py +50 -0
  92. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_data_model.py +73 -0
  93. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_data_types.py +116 -0
  94. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_indexes.py +26 -0
  95. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_instance.py +154 -0
  96. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_references.py +86 -0
  97. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_space.py +26 -0
  98. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_view.py +143 -0
  99. cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_view_property.py +152 -0
  100. cognite_toolkit/_cdf_tk/client/resource_classes/dataset.py +35 -0
  101. cognite_toolkit/_cdf_tk/client/resource_classes/event.py +40 -0
  102. cognite_toolkit/_cdf_tk/client/resource_classes/extraction_pipeline.py +59 -0
  103. cognite_toolkit/_cdf_tk/client/resource_classes/filemetadata.py +52 -0
  104. cognite_toolkit/_cdf_tk/client/resource_classes/function.py +53 -0
  105. cognite_toolkit/_cdf_tk/client/resource_classes/function_schedule.py +65 -0
  106. cognite_toolkit/_cdf_tk/client/resource_classes/graphql_data_model.py +40 -0
  107. cognite_toolkit/_cdf_tk/client/resource_classes/group/__init__.py +187 -0
  108. cognite_toolkit/_cdf_tk/client/resource_classes/group/_constants.py +2 -0
  109. cognite_toolkit/_cdf_tk/client/resource_classes/group/acls.py +653 -0
  110. cognite_toolkit/_cdf_tk/client/resource_classes/group/capability.py +56 -0
  111. cognite_toolkit/_cdf_tk/client/resource_classes/group/group.py +63 -0
  112. cognite_toolkit/_cdf_tk/client/resource_classes/group/scopes.py +166 -0
  113. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_destination.py +34 -0
  114. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_job.py +134 -0
  115. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_mapping.py +72 -0
  116. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/__init__.py +63 -0
  117. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_auth.py +63 -0
  118. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_base.py +26 -0
  119. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_certificate.py +20 -0
  120. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_eventhub.py +31 -0
  121. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_kafka.py +53 -0
  122. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_mqtt.py +36 -0
  123. cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_rest.py +49 -0
  124. cognite_toolkit/_cdf_tk/client/resource_classes/identifiers.py +59 -0
  125. cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/infield.py +1 -1
  126. cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/instance_api.py +35 -1
  127. cognite_toolkit/_cdf_tk/client/resource_classes/label.py +27 -0
  128. cognite_toolkit/_cdf_tk/client/resource_classes/legacy/__init__.py +0 -0
  129. cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/canvas.py +48 -15
  130. cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/charts.py +1 -1
  131. cognite_toolkit/_cdf_tk/client/resource_classes/location_filter.py +84 -0
  132. cognite_toolkit/_cdf_tk/client/resource_classes/raw.py +44 -0
  133. cognite_toolkit/_cdf_tk/client/resource_classes/relationship.py +49 -0
  134. cognite_toolkit/_cdf_tk/client/resource_classes/resource_view_mapping.py +38 -0
  135. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/__init__.py +37 -0
  136. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_capability.py +53 -0
  137. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_common.py +34 -0
  138. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_data_post_processing.py +49 -0
  139. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_frame.py +46 -0
  140. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_location.py +36 -0
  141. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_map.py +65 -0
  142. cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_robot.py +58 -0
  143. cognite_toolkit/_cdf_tk/client/resource_classes/search_config.py +54 -0
  144. cognite_toolkit/_cdf_tk/client/resource_classes/securitycategory.py +24 -0
  145. cognite_toolkit/_cdf_tk/client/resource_classes/sequence.py +45 -0
  146. cognite_toolkit/_cdf_tk/client/resource_classes/sequence_rows.py +56 -0
  147. cognite_toolkit/_cdf_tk/client/resource_classes/simulator_model.py +50 -0
  148. cognite_toolkit/_cdf_tk/client/resource_classes/streamlit_.py +71 -0
  149. cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/streams.py +9 -26
  150. cognite_toolkit/_cdf_tk/client/resource_classes/three_d.py +135 -0
  151. cognite_toolkit/_cdf_tk/client/resource_classes/timeseries.py +52 -0
  152. cognite_toolkit/_cdf_tk/client/resource_classes/transformation.py +140 -0
  153. cognite_toolkit/_cdf_tk/client/resource_classes/workflow.py +27 -0
  154. cognite_toolkit/_cdf_tk/client/resource_classes/workflow_trigger.py +63 -0
  155. cognite_toolkit/_cdf_tk/client/resource_classes/workflow_version.py +155 -0
  156. cognite_toolkit/_cdf_tk/client/testing.py +31 -2
  157. cognite_toolkit/_cdf_tk/commands/_migrate/command.py +103 -108
  158. cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +22 -15
  159. cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +1 -1
  160. cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +11 -10
  161. cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +148 -57
  162. cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +1 -1
  163. cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +22 -39
  164. cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +29 -27
  165. cognite_toolkit/_cdf_tk/commands/_profile.py +1 -1
  166. cognite_toolkit/_cdf_tk/commands/_purge.py +8 -8
  167. cognite_toolkit/_cdf_tk/commands/_upload.py +1 -1
  168. cognite_toolkit/_cdf_tk/commands/build_cmd.py +12 -2
  169. cognite_toolkit/_cdf_tk/commands/build_v2/_module_parser.py +138 -0
  170. cognite_toolkit/_cdf_tk/commands/build_v2/_modules_parser.py +163 -0
  171. cognite_toolkit/_cdf_tk/commands/build_v2/build_cmd.py +83 -96
  172. cognite_toolkit/_cdf_tk/commands/build_v2/{build_input.py → build_parameters.py} +8 -22
  173. cognite_toolkit/_cdf_tk/commands/build_v2/data_classes/_modules.py +27 -0
  174. cognite_toolkit/_cdf_tk/commands/build_v2/data_classes/_resource.py +22 -0
  175. cognite_toolkit/_cdf_tk/commands/dump_resource.py +4 -4
  176. cognite_toolkit/_cdf_tk/commands/pull.py +97 -2
  177. cognite_toolkit/_cdf_tk/commands/run.py +1 -1
  178. cognite_toolkit/_cdf_tk/cruds/__init__.py +16 -6
  179. cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +9 -5
  180. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +2 -0
  181. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +6 -2
  182. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +70 -89
  183. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +1 -1
  184. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +1 -1
  185. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +1 -1
  186. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +14 -7
  187. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +50 -59
  188. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +1 -1
  189. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +1 -1
  190. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +4 -3
  191. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +1 -1
  192. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +6 -1
  193. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/relationship.py +5 -4
  194. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +1 -1
  195. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/simulators.py +122 -0
  196. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +15 -31
  197. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +42 -47
  198. cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +1 -1
  199. cognite_toolkit/_cdf_tk/data_classes/__init__.py +3 -0
  200. cognite_toolkit/_cdf_tk/data_classes/_issues.py +36 -0
  201. cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +2 -1
  202. cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +4 -0
  203. cognite_toolkit/_cdf_tk/feature_flags.py +8 -0
  204. cognite_toolkit/_cdf_tk/resource_classes/__init__.py +2 -0
  205. cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +6 -0
  206. cognite_toolkit/_cdf_tk/resource_classes/search_config.py +1 -1
  207. cognite_toolkit/_cdf_tk/resource_classes/simulator_model.py +17 -0
  208. cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +13 -4
  209. cognite_toolkit/_cdf_tk/storageio/_applications.py +53 -15
  210. cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +117 -107
  211. cognite_toolkit/_cdf_tk/storageio/_base.py +3 -1
  212. cognite_toolkit/_cdf_tk/storageio/_datapoints.py +7 -7
  213. cognite_toolkit/_cdf_tk/storageio/_file_content.py +64 -54
  214. cognite_toolkit/_cdf_tk/storageio/_instances.py +1 -1
  215. cognite_toolkit/_cdf_tk/storageio/_raw.py +1 -1
  216. cognite_toolkit/_cdf_tk/storageio/logger.py +162 -0
  217. cognite_toolkit/_cdf_tk/tk_warnings/__init__.py +2 -0
  218. cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +20 -0
  219. cognite_toolkit/_cdf_tk/utils/__init__.py +11 -1
  220. cognite_toolkit/_cdf_tk/utils/cdf.py +1 -1
  221. cognite_toolkit/_cdf_tk/utils/interactive_select.py +8 -6
  222. cognite_toolkit/_cdf_tk/utils/modules.py +7 -0
  223. cognite_toolkit/_cdf_tk/utils/pip_validator.py +96 -0
  224. cognite_toolkit/_cdf_tk/utils/useful_types.py +4 -7
  225. cognite_toolkit/_cdf_tk/utils/useful_types2.py +14 -0
  226. cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
  227. cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
  228. cognite_toolkit/_resources/cdf.toml +1 -1
  229. cognite_toolkit/_version.py +1 -1
  230. {cognite_toolkit-0.7.39.dist-info → cognite_toolkit-0.7.51.dist-info}/METADATA +13 -3
  231. cognite_toolkit-0.7.51.dist-info/RECORD +445 -0
  232. {cognite_toolkit-0.7.39.dist-info → cognite_toolkit-0.7.51.dist-info}/WHEEL +2 -2
  233. cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +0 -30
  234. cognite_toolkit/_cdf_tk/client/data_classes/base.py +0 -67
  235. cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +0 -112
  236. cognite_toolkit/_cdf_tk/commands/build_v2/build_issues.py +0 -27
  237. cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +0 -247
  238. cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +0 -4
  239. cognite_toolkit-0.7.39.dist-info/RECORD +0 -322
  240. /cognite_toolkit/_cdf_tk/{utils → client}/http_client/_tracker.py +0 -0
  241. /cognite_toolkit/_cdf_tk/client/{data_classes → request_classes}/__init__.py +0 -0
  242. /cognite_toolkit/_cdf_tk/client/{data_classes/legacy → resource_classes}/__init__.py +0 -0
  243. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/capabilities.py +0 -0
  244. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/apm_config_v1.py +0 -0
  245. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extendable_cognite_file.py +0 -0
  246. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extended_filemetadata.py +0 -0
  247. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extended_filemetdata.py +0 -0
  248. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extended_timeseries.py +0 -0
  249. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/functions.py +0 -0
  250. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/graphql_data_models.py +0 -0
  251. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/instances.py +0 -0
  252. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/location_filters.py +0 -0
  253. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/migration.py +0 -0
  254. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/pending_instances_ids.py +0 -0
  255. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/project.py +0 -0
  256. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/raw.py +0 -0
  257. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/robotics.py +0 -0
  258. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/search_config.py +0 -0
  259. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/sequences.py +0 -0
  260. /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/streamlit_.py +0 -0
  261. {cognite_toolkit-0.7.39.dist-info → cognite_toolkit-0.7.51.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,53 @@
1
+ from typing import Literal
2
+
3
+ from pydantic import Field
4
+
5
+ from cognite_toolkit._cdf_tk.client._resource_base import (
6
+ BaseModelObject,
7
+ ResponseResource,
8
+ )
9
+
10
+ from ._auth import (
11
+ BasicAuthenticationRequest,
12
+ BasicAuthenticationResponse,
13
+ ClientCredentialAuthenticationRequest,
14
+ ClientCredentialAuthenticationResponse,
15
+ ScramShaAuthenticationRequest,
16
+ ScramShaAuthenticationResponse,
17
+ )
18
+ from ._base import SourceRequestDefinition, SourceResponseDefinition
19
+ from ._certificate import AuthCertificateRequest, CACertificateRequest, CertificateResponse
20
+
21
+
22
+ class KafkaBroker(BaseModelObject):
23
+ host: str
24
+ port: int
25
+
26
+
27
+ class KafkaSource(BaseModelObject):
28
+ type: Literal["kafka"] = "kafka"
29
+ bootstrap_brokers: list[KafkaBroker]
30
+ use_tls: bool | None = None
31
+
32
+
33
+ class KafkaSourceRequest(KafkaSource, SourceRequestDefinition):
34
+ authentication: (
35
+ BasicAuthenticationRequest | ClientCredentialAuthenticationRequest | ScramShaAuthenticationRequest | None
36
+ ) = Field(None, discriminator="type")
37
+ ca_certificate: CACertificateRequest | None = None
38
+ auth_certificate: AuthCertificateRequest | None = None
39
+
40
+
41
+ class KafkaSourceResponse(
42
+ SourceResponseDefinition,
43
+ KafkaSource,
44
+ ResponseResource[KafkaSourceRequest],
45
+ ):
46
+ authentication: (
47
+ BasicAuthenticationResponse | ClientCredentialAuthenticationResponse | ScramShaAuthenticationResponse | None
48
+ ) = Field(None, discriminator="type")
49
+ ca_certificate: CertificateResponse | None = None
50
+ auth_certificate: CertificateResponse | None = None
51
+
52
+ def as_request_resource(self) -> KafkaSourceRequest:
53
+ return KafkaSourceRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,36 @@
1
+ from typing import Literal
2
+
3
+ from cognite_toolkit._cdf_tk.client._resource_base import (
4
+ BaseModelObject,
5
+ ResponseResource,
6
+ )
7
+
8
+ from ._auth import BasicAuthenticationRequest, BasicAuthenticationResponse
9
+ from ._base import SourceRequestDefinition, SourceResponseDefinition
10
+ from ._certificate import AuthCertificateRequest, CACertificateRequest, CertificateResponse
11
+
12
+
13
+ class MQTTSource(BaseModelObject):
14
+ type: Literal["mqtt5", "mqtt3"]
15
+ host: str
16
+ port: int | None = None
17
+ use_tls: bool | None = None
18
+
19
+
20
+ class MQTTSourceRequest(MQTTSource, SourceRequestDefinition):
21
+ authentication: BasicAuthenticationRequest | None = None
22
+ ca_certificate: CACertificateRequest | None = None
23
+ auth_certificate: AuthCertificateRequest | None = None
24
+
25
+
26
+ class MQTTSourceResponse(
27
+ SourceResponseDefinition,
28
+ MQTTSource,
29
+ ResponseResource[MQTTSourceRequest],
30
+ ):
31
+ authentication: BasicAuthenticationResponse | None = None
32
+ ca_certificate: CertificateResponse | None = None
33
+ auth_certificate: CertificateResponse | None = None
34
+
35
+ def as_request_resource(self) -> MQTTSourceRequest:
36
+ return MQTTSourceRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,49 @@
1
+ from typing import Literal
2
+
3
+ from pydantic import Field
4
+
5
+ from cognite_toolkit._cdf_tk.client._resource_base import (
6
+ BaseModelObject,
7
+ ResponseResource,
8
+ )
9
+
10
+ from ._auth import (
11
+ BasicAuthenticationRequest,
12
+ BasicAuthenticationResponse,
13
+ ClientCredentialAuthenticationRequest,
14
+ ClientCredentialAuthenticationResponse,
15
+ HTTPBasicAuthenticationRequest,
16
+ HTTPBasicAuthenticationResponse,
17
+ )
18
+ from ._base import SourceRequestDefinition, SourceResponseDefinition
19
+ from ._certificate import AuthCertificateRequest, CACertificateRequest, CertificateResponse
20
+
21
+
22
+ class RESTSource(BaseModelObject):
23
+ type: Literal["rest"] = "rest"
24
+ host: str
25
+ port: int | None = None
26
+
27
+
28
+ class RESTSourceRequest(RESTSource, SourceRequestDefinition):
29
+ scheme: Literal["https", "http"] | None = None
30
+ authentication: (
31
+ BasicAuthenticationRequest | HTTPBasicAuthenticationRequest | ClientCredentialAuthenticationRequest | None
32
+ ) = Field(None, discriminator="type")
33
+ ca_certificate: CACertificateRequest | None = None
34
+ auth_certificate: AuthCertificateRequest | None = None
35
+
36
+
37
+ class RESTSourceResponse(
38
+ SourceResponseDefinition,
39
+ RESTSource,
40
+ ResponseResource[RESTSourceRequest],
41
+ ):
42
+ authentication: (
43
+ BasicAuthenticationResponse | HTTPBasicAuthenticationResponse | ClientCredentialAuthenticationResponse | None
44
+ ) = Field(None, discriminator="type")
45
+ ca_certificate: CertificateResponse | None = None
46
+ auth_certificate: CertificateResponse | None = None
47
+
48
+ def as_request_resource(self) -> RESTSourceRequest:
49
+ return RESTSourceRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,59 @@
1
+ from collections.abc import Sequence
2
+ from typing import Annotated, Literal
3
+
4
+ from pydantic import Field
5
+
6
+ from cognite_toolkit._cdf_tk.client._resource_base import Identifier
7
+
8
+
9
+ class InternalOrExternalIdDefinition(Identifier):
10
+ type: str
11
+
12
+
13
+ class InternalId(InternalOrExternalIdDefinition):
14
+ type: Literal["id"] = Field("id", exclude=True)
15
+ id: int
16
+
17
+ @classmethod
18
+ def from_ids(cls, ids: Sequence[int]) -> list["InternalId"]:
19
+ return [cls(id=id_) for id_ in ids]
20
+
21
+ def __str__(self) -> str:
22
+ return f"id={self.id}"
23
+
24
+
25
+ class ExternalId(InternalOrExternalIdDefinition):
26
+ type: Literal["externalId"] = Field("externalId", exclude=True)
27
+ external_id: str
28
+
29
+ @classmethod
30
+ def from_external_ids(cls, external_ids: list[str]) -> list["ExternalId"]:
31
+ return [cls(external_id=ext_id) for ext_id in external_ids]
32
+
33
+ def __str__(self) -> str:
34
+ return f"externalId='{self.external_id}'"
35
+
36
+
37
+ InternalOrExternalId = Annotated[InternalId | ExternalId, Field(discriminator="type")]
38
+
39
+
40
+ class NameId(Identifier):
41
+ name: str
42
+
43
+ def __str__(self) -> str:
44
+ return f"name='{self.name}'"
45
+
46
+
47
+ class WorkflowVersionId(Identifier):
48
+ workflow_external_id: str
49
+ version: str
50
+
51
+ def __str__(self) -> str:
52
+ return f"workflowExternalId='{self.workflow_external_id}', version='{self.version}'"
53
+
54
+
55
+ class DataSetId(Identifier):
56
+ data_set_id: int
57
+
58
+ def __str__(self) -> str:
59
+ return f"dataSetId={self.data_set_id}"
@@ -4,13 +4,13 @@ from typing import Any, ClassVar, Literal
4
4
  from pydantic import JsonValue, field_validator
5
5
  from pydantic_core.core_schema import ValidationInfo
6
6
 
7
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseResourceList, ResponseResource
7
8
  from cognite_toolkit._cdf_tk.protocols import (
8
9
  ResourceRequestListProtocol,
9
10
  ResourceResponseListProtocol,
10
11
  )
11
12
  from cognite_toolkit._cdf_tk.utils.text import sanitize_instance_external_id
12
13
 
13
- from .base import BaseResourceList, ResponseResource
14
14
  from .instance_api import InstanceRequestResource, ViewReference
15
15
 
16
16
  if sys.version_info >= (3, 11):
@@ -2,7 +2,7 @@ from typing import Any, ClassVar, Literal, TypeAlias
2
2
 
3
3
  from pydantic import ConfigDict, JsonValue, model_serializer
4
4
 
5
- from .base import BaseModelObject, Identifier, RequestResource
5
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, Identifier, RequestResource
6
6
 
7
7
  InstanceType: TypeAlias = Literal["node", "edge"]
8
8
 
@@ -14,19 +14,38 @@ class TypedInstanceIdentifier(Identifier):
14
14
  space: str
15
15
  external_id: str
16
16
 
17
+ def __str__(self) -> str:
18
+ return f"Instance({self.instance_type}, {self.space}, {self.external_id})"
19
+
20
+ def dump(self, camel_case: bool = True, include_type: bool = True) -> dict[str, Any]:
21
+ """Dump the resource to a dictionary.
22
+
23
+ This is the default serialization method for request resources.
24
+ """
25
+ return self.model_dump(mode="json", by_alias=camel_case, exclude_unset=not include_type)
26
+
17
27
 
18
28
  class TypedNodeIdentifier(TypedInstanceIdentifier):
19
29
  instance_type: Literal["node"] = "node"
20
30
 
31
+ def __str__(self) -> str:
32
+ return f"Node({self.space}, {self.external_id})"
33
+
21
34
 
22
35
  class TypedEdgeIdentifier(TypedInstanceIdentifier):
23
36
  instance_type: Literal["edge"] = "edge"
24
37
 
38
+ def __str__(self) -> str:
39
+ return f"Edge({self.space}, {self.external_id})"
40
+
25
41
 
26
42
  class InstanceIdentifier(Identifier):
27
43
  space: str
28
44
  external_id: str
29
45
 
46
+ def __str__(self) -> str:
47
+ return f"Instance({self.space}, {self.external_id})"
48
+
30
49
 
31
50
  class InstanceResult(BaseModelObject):
32
51
  instance_type: InstanceType
@@ -51,6 +70,16 @@ class ViewReference(Identifier):
51
70
  external_id: str
52
71
  version: str
53
72
 
73
+ def __str__(self) -> str:
74
+ return f"View({self.space}, {self.external_id}, v{self.version})"
75
+
76
+ def dump(self, camel_case: bool = True, include_type: bool = True) -> dict[str, Any]:
77
+ """Dump the resource to a dictionary.
78
+
79
+ This is the default serialization method for request resources.
80
+ """
81
+ return self.model_dump(mode="json", by_alias=camel_case, exclude_unset=not include_type)
82
+
54
83
 
55
84
  ######################################################
56
85
  # The classes below are helper classes for making instances request/responses.
@@ -160,3 +189,8 @@ class InstanceResponseItem(BaseModelObject):
160
189
  space=self.space,
161
190
  external_id=self.external_id,
162
191
  )
192
+
193
+
194
+ class NodeReference(BaseModelObject):
195
+ space: str
196
+ external_id: str
@@ -0,0 +1,27 @@
1
+ from cognite_toolkit._cdf_tk.client._resource_base import (
2
+ BaseModelObject,
3
+ RequestResource,
4
+ ResponseResource,
5
+ )
6
+
7
+ from .identifiers import ExternalId
8
+
9
+
10
+ class Label(BaseModelObject):
11
+ external_id: str
12
+ name: str
13
+ description: str | None = None
14
+ data_set_id: int | None = None
15
+
16
+ def as_id(self) -> ExternalId:
17
+ return ExternalId(external_id=self.external_id)
18
+
19
+
20
+ class LabelRequest(Label, RequestResource): ...
21
+
22
+
23
+ class LabelResponse(Label, ResponseResource[LabelRequest]):
24
+ created_time: int
25
+
26
+ def as_request_resource(self) -> LabelRequest:
27
+ return LabelRequest.model_validate(self.dump(), extra="ignore")
@@ -1,5 +1,6 @@
1
1
  import sys
2
2
  from abc import ABC
3
+ from collections import defaultdict
3
4
  from collections.abc import Sequence
4
5
  from datetime import datetime, timezone
5
6
  from typing import Any, TypeVar
@@ -30,7 +31,7 @@ from cognite.client.data_classes.data_modeling.instances import (
30
31
  TypedNodeApply,
31
32
  )
32
33
 
33
- from cognite_toolkit._cdf_tk.client.data_classes.legacy.migration import AssetCentricId
34
+ from cognite_toolkit._cdf_tk.client.resource_classes.legacy.migration import AssetCentricId
34
35
  from cognite_toolkit._cdf_tk.utils.useful_types import JsonVal
35
36
 
36
37
  if sys.version_info >= (3, 11):
@@ -905,54 +906,86 @@ class IndustrialCanvasApply(CogniteResource):
905
906
  raise TypeError(f"Unexpected instance type: {type(instance)}")
906
907
  return ids
907
908
 
908
- def dump(self, keep_existing_version: bool = True) -> dict[str, JsonVal]:
909
+ def dump(self, camel_case: bool = True, keep_existing_version: bool = True) -> dict[str, JsonVal]:
909
910
  """Dump the IndustrialCanvasApply to a dictionary."""
910
911
  return {
911
- "canvas": self.canvas.dump(keep_existing_version=keep_existing_version),
912
+ "canvas": self.canvas.dump(camel_case=camel_case, keep_existing_version=keep_existing_version),
912
913
  "annotations": [
913
- annotation.dump(keep_existing_version=keep_existing_version) for annotation in self.annotations
914
+ annotation.dump(camel_case=camel_case, keep_existing_version=keep_existing_version)
915
+ for annotation in self.annotations
914
916
  ],
915
917
  "containerReferences": [
916
- container_ref.dump(keep_existing_version=keep_existing_version)
918
+ container_ref.dump(camel_case=camel_case, keep_existing_version=keep_existing_version)
917
919
  for container_ref in self.container_references
918
920
  ],
919
921
  "fdmInstanceContainerReferences": [
920
- fdm_instance_container_ref.dump(keep_existing_version=keep_existing_version)
922
+ fdm_instance_container_ref.dump(camel_case=camel_case, keep_existing_version=keep_existing_version)
921
923
  for fdm_instance_container_ref in self.fdm_instance_container_references
922
924
  ],
923
925
  "solutionTags": [
924
- solution_tag.dump(keep_existing_version=keep_existing_version) for solution_tag in self.solution_tags
926
+ solution_tag.dump(camel_case=camel_case, keep_existing_version=keep_existing_version)
927
+ for solution_tag in self.solution_tags
925
928
  ],
926
929
  }
927
930
 
928
931
  def create_backup(self) -> "IndustrialCanvasApply":
929
- """Create a duplicate of the IndustrialCanvasApply instance."""
932
+ """Create a backup copy of the IndustrialCanvasApply instance with new IDs."""
930
933
  new_canvas_id = str(uuid4())
934
+
931
935
  new_canvas = CanvasApply._load(self.canvas.dump(keep_existing_version=False))
932
936
  new_canvas.external_id = new_canvas_id
933
937
  new_canvas.source_canvas_id = self.canvas.external_id
934
938
  new_canvas.updated_at = datetime.now(tz=timezone.utc)
935
939
  # Solution tags are not duplicated, they are reused
936
- new_container = IndustrialCanvasApply(new_canvas, [], [], [], solution_tags=self.solution_tags)
940
+ canvas_backup = IndustrialCanvasApply(new_canvas, [], [], [], solution_tags=self.solution_tags)
937
941
  items: list[ContainerReferenceApply] | list[CanvasAnnotationApply] | list[FdmInstanceContainerReferenceApply]
938
942
  item_cls: type[CanvasAnnotationApply] | type[ContainerReferenceApply] | type[FdmInstanceContainerReferenceApply]
939
943
  new_item_list: list[NodeApply]
944
+ generator: dict[str, str] = defaultdict(lambda: str(uuid4()))
940
945
  for items, item_cls, new_item_list in [ # type: ignore[assignment]
941
- (self.annotations, CanvasAnnotationApply, new_container.annotations),
942
- (self.container_references, ContainerReferenceApply, new_container.container_references),
946
+ (self.annotations, CanvasAnnotationApply, canvas_backup.annotations),
947
+ (self.container_references, ContainerReferenceApply, canvas_backup.container_references),
943
948
  (
944
949
  self.fdm_instance_container_references,
945
950
  FdmInstanceContainerReferenceApply,
946
- new_container.fdm_instance_container_references,
951
+ canvas_backup.fdm_instance_container_references,
947
952
  ),
948
953
  ]:
949
954
  for item in items:
950
955
  # Serialize the item to create a new instance
951
956
  new_item = item_cls._load(item.dump(keep_existing_version=False))
952
- new_item.id_ = str(uuid4())
953
- new_item.external_id = f"{new_canvas_id}_{new_item.external_id}"
957
+ new_item.id_ = generator[new_item.id_]
958
+ new_item.external_id = f"{new_canvas_id}_{new_item.id_}"
954
959
  new_item_list.append(new_item)
955
- return new_container
960
+
961
+ return canvas_backup.replace_ids(generator)
962
+
963
+ def replace_ids(self, id_mapping_old_by_new: dict[str, str]) -> "IndustrialCanvasApply":
964
+ """Replace IDs in the IndustrialCanvasApply instance based on the provided ID mapping.
965
+
966
+ Args:
967
+ id_mapping_old_by_new: A dictionary mapping old IDs to new IDs.
968
+ Returns:
969
+ A new IndustrialCanvasApply instance with IDs replaced according to the mapping.
970
+ """
971
+ # There can be references to the old IDs in properties, for example, in annotations
972
+ # the properties field there can be fromId and toId set.
973
+ # We don't know all the places the Canvas application will have undocumented references,
974
+ # so we do a recursive search and replace based on the id mapping we have created.
975
+ dumped_data = self.dump(camel_case=True)
976
+
977
+ def _replace_ids_recursively(data: Any, id_map: dict[str, str]) -> Any:
978
+ if isinstance(data, dict):
979
+ return {key: _replace_ids_recursively(value, id_map) for key, value in data.items()}
980
+ if isinstance(data, list):
981
+ return [_replace_ids_recursively(item, id_map) for item in data]
982
+ if isinstance(data, str) and data in id_map:
983
+ return id_map[data]
984
+ return data
985
+
986
+ updated_data = _replace_ids_recursively(dumped_data, id_mapping_old_by_new)
987
+
988
+ return IndustrialCanvasApply._load(updated_data)
956
989
 
957
990
  @classmethod
958
991
  def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
@@ -9,7 +9,7 @@ from cognite.client.data_classes._base import (
9
9
  WriteableCogniteResourceList,
10
10
  )
11
11
 
12
- from cognite_toolkit._cdf_tk.client.data_classes.charts_data import ChartData
12
+ from cognite_toolkit._cdf_tk.client.resource_classes.charts_data import ChartData
13
13
 
14
14
  if sys.version_info >= (3, 11):
15
15
  from typing import Self
@@ -0,0 +1,84 @@
1
+ from typing import Literal
2
+
3
+ from pydantic import Field
4
+
5
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, RequestResource, ResponseResource
6
+
7
+ from .data_modeling import DataModelReference
8
+ from .identifiers import ExternalId, InternalId
9
+
10
+
11
+ class LocationFilterScene(BaseModelObject):
12
+ """Scene configuration for a location filter."""
13
+
14
+ external_id: str
15
+ space: str
16
+
17
+
18
+ class LocationFilterView(BaseModelObject):
19
+ """View identifier with entity type for location filter."""
20
+
21
+ external_id: str
22
+ space: str
23
+ version: str
24
+ represents_entity: Literal["MAINTENANCE_ORDER", "OPERATION", "NOTIFICATION", "ASSET"] | None = None
25
+
26
+
27
+ class AssetCentricSubFilter(BaseModelObject):
28
+ """Sub-filter for asset-centric resource types."""
29
+
30
+ data_set_ids: list[int] | None = None
31
+ asset_subtree_ids: list[ExternalId | InternalId] | None = None
32
+ external_id_prefix: str | None = None
33
+
34
+
35
+ class AssetCentricFilter(BaseModelObject):
36
+ """Filter definition for asset-centric resource types."""
37
+
38
+ assets: AssetCentricSubFilter | None = None
39
+ events: AssetCentricSubFilter | None = None
40
+ files: AssetCentricSubFilter | None = None
41
+ timeseries: AssetCentricSubFilter | None = None
42
+ sequences: AssetCentricSubFilter | None = None
43
+ data_set_ids: list[int] | None = None
44
+ asset_subtree_ids: list[ExternalId | InternalId] | None = None
45
+ external_id_prefix: str | None = None
46
+
47
+
48
+ class LocationFilter(BaseModelObject):
49
+ """Base class for location filter with common fields."""
50
+
51
+ external_id: str
52
+ name: str
53
+ description: str | None = None
54
+ parent_id: int | None = None
55
+ data_models: list[DataModelReference] | None = None
56
+ instance_spaces: list[str] | None = None
57
+ scene: LocationFilterScene | None = None
58
+ asset_centric: AssetCentricFilter | None = None
59
+ views: list[LocationFilterView] | None = None
60
+ data_modeling_type: Literal["HYBRID", "DATA_MODELING_ONLY"] | None = None
61
+
62
+
63
+ class LocationFilterRequest(LocationFilter, RequestResource):
64
+ """Request resource for creating/updating location filters."""
65
+
66
+ # This is not part of the request payload, but we need it to identify existing resources for updates.
67
+ id: int | None = Field(default=None, exclude=True)
68
+
69
+ def as_id(self) -> InternalId:
70
+ if self.id is None:
71
+ raise ValueError("Cannot get ID for LocationFilterRequest without 'id' set.")
72
+ return InternalId(id=self.id)
73
+
74
+
75
+ class LocationFilterResponse(LocationFilter, ResponseResource[LocationFilterRequest]):
76
+ """Response resource for location filters."""
77
+
78
+ id: int
79
+ created_time: int
80
+ updated_time: int
81
+ locations: list["LocationFilterResponse"] | None = None
82
+
83
+ def as_request_resource(self) -> LocationFilterRequest:
84
+ return LocationFilterRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,44 @@
1
+ import sys
2
+
3
+ from pydantic import Field
4
+
5
+ from cognite_toolkit._cdf_tk.client._resource_base import (
6
+ Identifier,
7
+ RequestResource,
8
+ ResponseResource,
9
+ )
10
+
11
+ if sys.version_info >= (3, 11):
12
+ from typing import Self
13
+ else:
14
+ from typing_extensions import Self
15
+
16
+
17
+ class RAWDatabase(RequestResource, Identifier, ResponseResource["RAWDatabase"]):
18
+ name: str
19
+
20
+ def as_id(self) -> Self:
21
+ return self
22
+
23
+ def __str__(self) -> str:
24
+ return f"name='{self.name}'"
25
+
26
+ def as_request_resource(self) -> "RAWDatabase":
27
+ return type(self).model_validate(self.dump(), extra="ignore")
28
+
29
+
30
+ class RAWTable(RequestResource, Identifier, ResponseResource["RAWTable"]):
31
+ # This is a query parameter, so we exclude it from serialization.
32
+ # Default to empty string to allow parsing from API responses (which don't include db_name).
33
+ db_name: str = Field(default="", exclude=True)
34
+ name: str
35
+
36
+ def as_id(self) -> Self:
37
+ return self
38
+
39
+ def __str__(self) -> str:
40
+ return f"dbName='{self.db_name}', tableName='{self.name}'"
41
+
42
+ def as_request_resource(self) -> "RAWTable":
43
+ dumped = {**self.dump(), "dbName": self.db_name}
44
+ return type(self).model_validate(dumped, extra="ignore")
@@ -0,0 +1,49 @@
1
+ from typing import ClassVar, Literal
2
+
3
+ from cognite_toolkit._cdf_tk.client._resource_base import (
4
+ BaseModelObject,
5
+ ResponseResource,
6
+ UpdatableRequestResource,
7
+ )
8
+
9
+ from .identifiers import ExternalId
10
+
11
+
12
+ class LabelRef(BaseModelObject):
13
+ """Reference to a label."""
14
+
15
+ external_id: str
16
+
17
+
18
+ class Relationship(BaseModelObject):
19
+ """Base class for relationship with common fields."""
20
+
21
+ external_id: str
22
+ source_external_id: str
23
+ source_type: Literal["asset", "timeSeries", "file", "event", "sequence"]
24
+ target_external_id: str
25
+ target_type: Literal["asset", "timeSeries", "file", "event", "sequence"]
26
+ start_time: int | None = None
27
+ end_time: int | None = None
28
+ confidence: float | None = None
29
+ data_set_id: int | None = None
30
+ labels: list[LabelRef] | None = None
31
+
32
+
33
+ class RelationshipRequest(Relationship, UpdatableRequestResource):
34
+ """Request resource for creating/updating relationships."""
35
+
36
+ container_fields: ClassVar[frozenset[str]] = frozenset({"labels"})
37
+
38
+ def as_id(self) -> ExternalId:
39
+ return ExternalId(external_id=self.external_id)
40
+
41
+
42
+ class RelationshipResponse(Relationship, ResponseResource[RelationshipRequest]):
43
+ """Response resource for relationships."""
44
+
45
+ created_time: int
46
+ last_updated_time: int
47
+
48
+ def as_request_resource(self) -> RelationshipRequest:
49
+ return RelationshipRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,38 @@
1
+ from typing import ClassVar, Literal
2
+
3
+ from cognite_toolkit._cdf_tk.client._resource_base import (
4
+ BaseModelObject,
5
+ RequestResource,
6
+ ResponseResource,
7
+ )
8
+
9
+ from .data_modeling import ViewReference
10
+ from .identifiers import ExternalId
11
+
12
+
13
+ class ResourceViewMapping(BaseModelObject):
14
+ space: ClassVar[str] = "cognite_migration"
15
+ view_ref: ClassVar[ViewReference] = ViewReference(
16
+ space="cognite_migration", external_id="ResourceViewMapping", version="v1"
17
+ )
18
+ instance_type: Literal["node"] = "node"
19
+ external_id: str
20
+ resource_type: str
21
+ view_id: ViewReference
22
+ property_mapping: dict[str, str]
23
+
24
+ def as_id(self) -> ExternalId:
25
+ return ExternalId(external_id=self.external_id)
26
+
27
+
28
+ class ResourceViewMappingRequest(ResourceViewMapping, RequestResource):
29
+ existing_version: int | None = None
30
+
31
+
32
+ class ResourceViewMappingResponse(ResourceViewMapping, ResponseResource[ResourceViewMappingRequest]):
33
+ version: int
34
+ created_time: int
35
+ last_updated_time: int
36
+
37
+ def as_request_resource(self) -> ResourceViewMappingRequest:
38
+ return ResourceViewMappingRequest.model_validate(self.dump(), extra="ignore")