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,130 @@
1
+ from typing import Annotated, Any, Literal
2
+
3
+ from pydantic import BeforeValidator, Field
4
+
5
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, RequestResource, ResponseResource
6
+
7
+ from .identifiers import ExternalId
8
+
9
+
10
+ class AgentToolDefinition(BaseModelObject):
11
+ type: str
12
+ name: str
13
+ description: str
14
+
15
+
16
+ class AskDocument(AgentToolDefinition):
17
+ type: Literal["askDocument"] = "askDocument"
18
+
19
+
20
+ class ExamineDataSemantically(AgentToolDefinition):
21
+ type: Literal["examineDataSemantically"] = "examineDataSemantically"
22
+
23
+
24
+ class AgentDataModel(BaseModelObject):
25
+ space: str
26
+ external_id: str
27
+ version: str
28
+ view_external_ids: list[str] | None = None
29
+
30
+
31
+ class AgentInstanceSpacesDefinition(BaseModelObject):
32
+ type: str
33
+
34
+
35
+ class AllInstanceSpaces(AgentInstanceSpacesDefinition):
36
+ type: Literal["all"] = "all"
37
+
38
+
39
+ class ManualInstanceSpaces(AgentInstanceSpacesDefinition):
40
+ type: Literal["manual"] = "manual"
41
+ spaces: list[str]
42
+
43
+
44
+ AgentInstanceSpaces = Annotated[
45
+ AllInstanceSpaces | ManualInstanceSpaces,
46
+ Field(discriminator="type"),
47
+ ]
48
+
49
+
50
+ class QueryKnowledgeGraphConfig(BaseModelObject):
51
+ data_models: list[AgentDataModel]
52
+ instance_spaces: AgentInstanceSpaces | None = None
53
+ # This is deviating from the API documentation, but the Atlas team has confirmed that "v2" is the default
54
+ version: Literal["v1", "v2"] = "v2"
55
+
56
+
57
+ class QueryKnowledgeGraph(AgentToolDefinition):
58
+ type: Literal["queryKnowledgeGraph"] = "queryKnowledgeGraph"
59
+ configuration: QueryKnowledgeGraphConfig
60
+
61
+
62
+ class QueryTimeSeriesDatapoints(AgentToolDefinition):
63
+ type: Literal["queryTimeSeriesDatapoints"] = "queryTimeSeriesDatapoints"
64
+
65
+
66
+ class SummarizeDocument(AgentToolDefinition):
67
+ type: Literal["summarizeDocument"] = "summarizeDocument"
68
+
69
+
70
+ class UnknownAgentTool(AgentToolDefinition):
71
+ """Fallback for unknown tool types."""
72
+
73
+ ...
74
+
75
+
76
+ # Mapping of known agent tool types to their classes
77
+ KNOWN_TOOLS: dict[str, type[AgentToolDefinition]] = {
78
+ "askDocument": AskDocument,
79
+ "examineDataSemantically": ExamineDataSemantically,
80
+ "queryKnowledgeGraph": QueryKnowledgeGraph,
81
+ "queryTimeSeriesDatapoints": QueryTimeSeriesDatapoints,
82
+ "summarizeDocument": SummarizeDocument,
83
+ }
84
+
85
+
86
+ def _handle_unknown_tool(value: Any) -> Any:
87
+ if isinstance(value, dict):
88
+ tool_type = value.get("type")
89
+ if tool_type not in KNOWN_TOOLS:
90
+ return UnknownAgentTool(**value)
91
+ else:
92
+ return KNOWN_TOOLS[tool_type].model_validate(value)
93
+ return value
94
+
95
+
96
+ AgentTool = Annotated[
97
+ AskDocument
98
+ | QueryKnowledgeGraph
99
+ | QueryTimeSeriesDatapoints
100
+ | SummarizeDocument
101
+ | ExamineDataSemantically
102
+ | UnknownAgentTool,
103
+ BeforeValidator(_handle_unknown_tool),
104
+ ]
105
+
106
+
107
+ class Agent(BaseModelObject):
108
+ external_id: str
109
+ name: str
110
+ description: str | None = None
111
+ instructions: str | None = None
112
+ model: str = "azure/gpt-4o-mini"
113
+ tools: list[AgentTool] | None = None
114
+
115
+ def as_id(self) -> ExternalId:
116
+ return ExternalId(external_id=self.external_id)
117
+
118
+
119
+ class AgentRequest(Agent, RequestResource):
120
+ runtime_version: str | None = None
121
+
122
+
123
+ class AgentResponse(Agent, ResponseResource[AgentRequest]):
124
+ created_time: int
125
+ last_updated_time: int
126
+ owner_id: str
127
+ runtime_version: str
128
+
129
+ def as_request_resource(self) -> AgentRequest:
130
+ return AgentRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,79 @@
1
+ from typing import Any, Literal, TypeAlias
2
+
3
+ from pydantic import Field, JsonValue
4
+
5
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, ResponseResource, UpdatableRequestResource
6
+
7
+ from .identifiers import InternalId
8
+
9
+ AnnotationStatus: TypeAlias = Literal["suggested", "rejected", "approved"]
10
+ AnnotationType: TypeAlias = Literal[
11
+ "diagrams.AssetLink",
12
+ "diagrams.FileLink",
13
+ "diagrams.InstanceLink",
14
+ "diagrams.Junction",
15
+ "diagrams.Line",
16
+ "diagrams.UnhandledSymbolObject",
17
+ "diagrams.UnhandledTextObject",
18
+ "documents.ExtractedText",
19
+ "forms.Detection",
20
+ "images.AssetLink",
21
+ "images.Classification",
22
+ "images.InstanceLink",
23
+ "images.KeypointCollection",
24
+ "images.ObjectDetection",
25
+ "images.TextRegion",
26
+ "isoplan.IsoPlanAnnotation",
27
+ "pointcloud.BoundingVolume",
28
+ ]
29
+
30
+
31
+ class Annotation(BaseModelObject):
32
+ annotated_resource_type: str
33
+ annotated_resource_id: int
34
+ annotation_type: AnnotationType
35
+ creating_app: str
36
+ creating_app_version: str
37
+ creating_user: str | None
38
+ data: dict[str, JsonValue]
39
+ status: AnnotationStatus
40
+
41
+
42
+ class AnnotationRequest(Annotation, UpdatableRequestResource):
43
+ """Request data class for annotations."""
44
+
45
+ # The 'id' field is not part of the request when creating a new resource,
46
+ # but is needed when updating an existing resource.
47
+ id: int | None = Field(default=None, exclude=True)
48
+
49
+ def as_id(self) -> InternalId:
50
+ if self.id is None:
51
+ raise ValueError("Cannot convert AnnotationRequest to InternalId when id is None")
52
+ return InternalId(id=self.id)
53
+
54
+ def as_update(self, mode: Literal["patch", "replace"]) -> dict[str, Any]:
55
+ """Converts the request to an update payload for the API."""
56
+ if self.id is None:
57
+ raise ValueError("id must be provided to create an update dictionary")
58
+ return {
59
+ "id": self.id,
60
+ "update": {
61
+ "annotationType": {"set": self.annotation_type},
62
+ "data": {"set": self.data},
63
+ "status": {"set": self.status},
64
+ },
65
+ }
66
+
67
+
68
+ class AnnotationResponse(Annotation, ResponseResource[AnnotationRequest]):
69
+ """Response data class for annotations."""
70
+
71
+ id: int
72
+ created_time: int
73
+ last_updated_time: int
74
+
75
+ def as_id(self) -> InternalId:
76
+ return InternalId(id=self.id)
77
+
78
+ def as_request_resource(self) -> AnnotationRequest:
79
+ return AnnotationRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,128 @@
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 ThreeDModelIdentifier(BaseModelObject):
14
+ revision_id: int | None = None
15
+ model_id: int | None = None
16
+ name: str | None = None
17
+
18
+
19
+ class ThreeDConfiguration(BaseModelObject):
20
+ full_weight_models: list[ThreeDModelIdentifier] | None = None
21
+ light_weight_models: list[ThreeDModelIdentifier] | None = None
22
+
23
+
24
+ class ResourceFilters(BaseModelObject):
25
+ data_set_ids: list[int] | None = None
26
+ asset_subtree_external_ids: list[str] | None = None
27
+ root_asset_external_ids: list[str] | None = None
28
+ external_id_prefix: str | None = None
29
+ spaces: list[str] | None = None
30
+
31
+
32
+ class RootLocationDataFilters(BaseModelObject):
33
+ general: ResourceFilters | None = None
34
+ assets: ResourceFilters | None = None
35
+ files: ResourceFilters | None = None
36
+ timeseries: ResourceFilters | None = None
37
+
38
+
39
+ class ObservationFeatureToggles(BaseModelObject):
40
+ is_enabled: bool | None = None
41
+ is_write_back_enabled: bool | None = None
42
+ notifications_endpoint_external_id: str | None = None
43
+ attachments_endpoint_external_id: str | None = None
44
+
45
+
46
+ class RootLocationFeatureToggles(BaseModelObject):
47
+ three_d: bool | None = None
48
+ trends: bool | None = None
49
+ documents: bool | None = None
50
+ workorders: bool | None = None
51
+ notifications: bool | None = None
52
+ media: bool | None = None
53
+ template_checklist_flow: bool | None = None
54
+ workorder_checklist_flow: bool | None = None
55
+ observations: ObservationFeatureToggles | None = None
56
+
57
+
58
+ class ObservationConfigFieldProperty(BaseModelObject):
59
+ display_title: str | None = None
60
+ display_description: str | None = None
61
+ is_required: bool | None = None
62
+
63
+
64
+ class ObservationConfigDropdownPropertyOption(BaseModelObject):
65
+ id: str | None = None
66
+ value: str | None = None
67
+ label: str | None = None
68
+
69
+
70
+ class ObservationConfigDropdownProperty(ObservationConfigFieldProperty):
71
+ options: list[ObservationConfigDropdownPropertyOption] | None = None
72
+
73
+
74
+ class ObservationsConfig(BaseModelObject):
75
+ files: ObservationConfigFieldProperty | None = None
76
+ description: ObservationConfigFieldProperty | None = None
77
+ asset: ObservationConfigFieldProperty | None = None
78
+ troubleshooting: ObservationConfigFieldProperty | None = None
79
+ type: ObservationConfigDropdownProperty | None = None
80
+ priority: ObservationConfigDropdownProperty | None = None
81
+
82
+
83
+ class RootLocationConfiguration(BaseModelObject):
84
+ asset_external_id: str | None = None
85
+ external_id: str | None = None
86
+ display_name: str | None = None
87
+ three_d_configuration: ThreeDConfiguration | None = None
88
+ data_set_id: int | None = None
89
+ template_admins: list[str] | None = None # list of Group Names
90
+ checklist_admins: list[str] | None = None # list of Group Names
91
+ app_data_instance_space: str | None = None
92
+ source_data_instance_space: str | None = None
93
+ data_filters: RootLocationDataFilters | None = None
94
+ feature_toggles: RootLocationFeatureToggles | None = None
95
+ observations: ObservationsConfig | None = None
96
+
97
+
98
+ class FeatureConfiguration(BaseModelObject):
99
+ root_location_configurations: list[RootLocationConfiguration] | None = None
100
+
101
+
102
+ class APMConfig(BaseModelObject):
103
+ space: ClassVar[str] = "APM_Config"
104
+ view_ref: ClassVar[ViewReference] = ViewReference(space="APM_Config", external_id="APM_Config", version="1")
105
+ instance_type: Literal["node"] = "node"
106
+ external_id: str
107
+ name: str | None = None
108
+ app_data_space_id: str | None = None
109
+ app_data_space_version: str | None = None
110
+ customer_data_space_id: str | None = None
111
+ customer_data_space_version: str | None = None
112
+ feature_configuration: FeatureConfiguration | None = None
113
+
114
+ def as_id(self) -> ExternalId:
115
+ return ExternalId(external_id=self.external_id)
116
+
117
+
118
+ class APMConfigRequest(APMConfig, RequestResource):
119
+ existing_version: int | None = None
120
+
121
+
122
+ class APMConfigResponse(APMConfig, ResponseResource[APMConfigRequest]):
123
+ version: int
124
+ created_time: int
125
+ last_updated_time: int
126
+
127
+ def as_request_resource(self) -> APMConfigRequest:
128
+ return APMConfigRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,47 @@
1
+ from typing import ClassVar, Literal
2
+
3
+ from pydantic import JsonValue
4
+
5
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, ResponseResource, UpdatableRequestResource
6
+
7
+ from .identifiers import ExternalId
8
+
9
+
10
+ class Asset(BaseModelObject):
11
+ external_id: str | None = None
12
+ name: str
13
+ parent_id: int | None = None
14
+ parent_external_id: str | None = None
15
+ description: str | None = None
16
+ metadata: dict[str, str] | None = None
17
+ data_set_id: int | None = None
18
+ source: str | None = None
19
+ labels: list[dict[Literal["externalId"], str]] | None = None
20
+ geo_location: dict[str, JsonValue] | None = None
21
+
22
+ def as_id(self) -> ExternalId:
23
+ if self.external_id is None:
24
+ raise ValueError("Cannot convert AssetRequest to ExternalId when external_id is None")
25
+ return ExternalId(external_id=self.external_id)
26
+
27
+
28
+ class AssetRequest(Asset, UpdatableRequestResource):
29
+ container_fields: ClassVar[frozenset[str]] = frozenset({"metadata", "labels"})
30
+ non_nullable_fields: ClassVar[frozenset[str]] = frozenset({"parent_id", "parent_external_id"})
31
+
32
+
33
+ class AssetAggregateItem(BaseModelObject):
34
+ child_count: int
35
+ depth: int
36
+ path: list[dict[Literal["id"], int]]
37
+
38
+
39
+ class AssetResponse(Asset, ResponseResource[AssetRequest]):
40
+ created_time: int
41
+ last_updated_time: int
42
+ root_id: int
43
+ aggregates: AssetAggregateItem | None = None
44
+ id: int
45
+
46
+ def as_request_resource(self) -> AssetRequest:
47
+ return AssetRequest.model_validate(self.dump(), extra="ignore")
@@ -3,7 +3,7 @@ from typing import Any
3
3
  from cognite.client.data_classes.data_modeling import NodeId, ViewId
4
4
  from pydantic import JsonValue, field_serializer, field_validator
5
5
 
6
- from .base import BaseModelObject
6
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject
7
7
 
8
8
 
9
9
  class UserInfo(BaseModelObject):
@@ -0,0 +1,53 @@
1
+ from datetime import datetime
2
+ from typing import ClassVar, Literal
3
+
4
+ from cognite_toolkit._cdf_tk.client._resource_base import (
5
+ BaseModelObject,
6
+ RequestResource,
7
+ ResponseResource,
8
+ )
9
+
10
+ from .data_modeling import ViewReference
11
+ from .instance_api import NodeReference, TypedNodeIdentifier
12
+
13
+
14
+ class CogniteFile(BaseModelObject):
15
+ view_ref: ClassVar[ViewReference] = ViewReference(space="cdf_cdm", external_id="CogniteFile", version="v1")
16
+ instance_type: Literal["node"] = "node"
17
+ space: str
18
+ external_id: str
19
+ name: str | None = None
20
+ description: str | None = None
21
+ tags: list[str] | None = None
22
+ aliases: list[str] | None = None
23
+ source_id: str | None = None
24
+ source_context: str | None = None
25
+ source: NodeReference | None = None
26
+ source_created_time: datetime | None = None
27
+ source_updated_time: datetime | None = None
28
+ source_created_user: str | None = None
29
+ source_updated_user: str | None = None
30
+ assets: list[NodeReference] | None = None
31
+ mime_type: str | None = None
32
+ directory: str | None = None
33
+ category: NodeReference | None = None
34
+ type: NodeReference | None = None
35
+
36
+ def as_id(self) -> TypedNodeIdentifier:
37
+ return TypedNodeIdentifier(space=self.space, external_id=self.external_id)
38
+
39
+
40
+ class CogniteFileRequest(CogniteFile, RequestResource):
41
+ existing_version: int | None = None
42
+
43
+
44
+ class CogniteFileResponse(CogniteFile, ResponseResource[CogniteFileRequest]):
45
+ version: int
46
+ created_time: int
47
+ last_updated_time: int
48
+ is_uploaded: bool | None = None
49
+ uploaded_time: datetime | None = None
50
+ deleted_time: int | None = None
51
+
52
+ def as_request_resource(self) -> CogniteFileRequest:
53
+ return CogniteFileRequest.model_validate(self.dump(), extra="ignore")
@@ -0,0 +1,168 @@
1
+ from ._constraints import (
2
+ Constraint,
3
+ ConstraintAdapter,
4
+ ConstraintDefinition,
5
+ RequiresConstraintDefinition,
6
+ UniquenessConstraintDefinition,
7
+ )
8
+ from ._container import (
9
+ Container,
10
+ ContainerPropertyDefinition,
11
+ ContainerRequest,
12
+ ContainerResponse,
13
+ )
14
+ from ._data_model import DataModelRequest, DataModelResponse
15
+ from ._data_types import (
16
+ BooleanProperty,
17
+ DataType,
18
+ DataTypeAdapter,
19
+ DateProperty,
20
+ DirectNodeRelation,
21
+ EnumProperty,
22
+ EnumValue,
23
+ FileCDFExternalIdReference,
24
+ Float32Property,
25
+ Float64Property,
26
+ FloatProperty,
27
+ Int32Property,
28
+ Int64Property,
29
+ JSONProperty,
30
+ ListablePropertyTypeDefinition,
31
+ PropertyTypeDefinition,
32
+ SequenceCDFExternalIdReference,
33
+ TextProperty,
34
+ TimeseriesCDFExternalIdReference,
35
+ TimestampProperty,
36
+ Unit,
37
+ )
38
+ from ._indexes import (
39
+ BtreeIndex,
40
+ Index,
41
+ IndexAdapter,
42
+ IndexDefinition,
43
+ InvertedIndex,
44
+ )
45
+ from ._instance import (
46
+ EdgeRequest,
47
+ EdgeResponse,
48
+ InstanceDefinition,
49
+ InstanceRequest,
50
+ InstanceResponse,
51
+ InstanceResponseDefinition,
52
+ InstanceSource,
53
+ NodeRequest,
54
+ NodeResponse,
55
+ )
56
+ from ._references import (
57
+ ContainerConstraintReference,
58
+ ContainerDirectReference,
59
+ ContainerIndexReference,
60
+ ContainerReference,
61
+ DataModelReference,
62
+ NodeReference,
63
+ SpaceReference,
64
+ ViewDirectReference,
65
+ ViewReference,
66
+ )
67
+ from ._space import Space, SpaceRequest, SpaceResponse
68
+ from ._view import View, ViewRequest, ViewResponse
69
+ from ._view_property import (
70
+ ConnectionPropertyDefinition,
71
+ ConstraintOrIndexState,
72
+ EdgeProperty,
73
+ MultiEdgeProperty,
74
+ MultiReverseDirectRelationPropertyRequest,
75
+ MultiReverseDirectRelationPropertyResponse,
76
+ ReverseDirectRelationProperty,
77
+ SingleEdgeProperty,
78
+ SingleReverseDirectRelationPropertyRequest,
79
+ SingleReverseDirectRelationPropertyResponse,
80
+ ViewCoreProperty,
81
+ ViewCorePropertyRequest,
82
+ ViewCorePropertyResponse,
83
+ ViewPropertyDefinition,
84
+ ViewRequestProperty,
85
+ ViewRequestPropertyAdapter,
86
+ ViewResponseProperty,
87
+ )
88
+
89
+ __all__ = [
90
+ "BooleanProperty",
91
+ "BtreeIndex",
92
+ "ConnectionPropertyDefinition",
93
+ "Constraint",
94
+ "ConstraintAdapter",
95
+ "ConstraintDefinition",
96
+ "ConstraintOrIndexState",
97
+ "Container",
98
+ "ContainerConstraintReference",
99
+ "ContainerDirectReference",
100
+ "ContainerIndexReference",
101
+ "ContainerPropertyDefinition",
102
+ "ContainerReference",
103
+ "ContainerRequest",
104
+ "ContainerResponse",
105
+ "DataModelReference",
106
+ "DataModelRequest",
107
+ "DataModelResponse",
108
+ "DataType",
109
+ "DataTypeAdapter",
110
+ "DateProperty",
111
+ "DirectNodeRelation",
112
+ "EdgeProperty",
113
+ "EdgeRequest",
114
+ "EdgeResponse",
115
+ "EnumProperty",
116
+ "EnumValue",
117
+ "FileCDFExternalIdReference",
118
+ "Float32Property",
119
+ "Float64Property",
120
+ "FloatProperty",
121
+ "Index",
122
+ "IndexAdapter",
123
+ "IndexDefinition",
124
+ "InstanceDefinition",
125
+ "InstanceRequest",
126
+ "InstanceResponse",
127
+ "InstanceResponseDefinition",
128
+ "InstanceSource",
129
+ "Int32Property",
130
+ "Int64Property",
131
+ "InvertedIndex",
132
+ "JSONProperty",
133
+ "ListablePropertyTypeDefinition",
134
+ "MultiEdgeProperty",
135
+ "MultiReverseDirectRelationPropertyRequest",
136
+ "MultiReverseDirectRelationPropertyResponse",
137
+ "NodeReference",
138
+ "NodeRequest",
139
+ "NodeResponse",
140
+ "PropertyTypeDefinition",
141
+ "RequiresConstraintDefinition",
142
+ "ReverseDirectRelationProperty",
143
+ "SequenceCDFExternalIdReference",
144
+ "SingleEdgeProperty",
145
+ "SingleReverseDirectRelationPropertyRequest",
146
+ "SingleReverseDirectRelationPropertyResponse",
147
+ "Space",
148
+ "SpaceReference",
149
+ "SpaceRequest",
150
+ "SpaceResponse",
151
+ "TextProperty",
152
+ "TimeseriesCDFExternalIdReference",
153
+ "TimestampProperty",
154
+ "UniquenessConstraintDefinition",
155
+ "Unit",
156
+ "View",
157
+ "ViewCoreProperty",
158
+ "ViewCorePropertyRequest",
159
+ "ViewCorePropertyResponse",
160
+ "ViewDirectReference",
161
+ "ViewPropertyDefinition",
162
+ "ViewReference",
163
+ "ViewRequest",
164
+ "ViewRequestProperty",
165
+ "ViewRequestPropertyAdapter",
166
+ "ViewResponse",
167
+ "ViewResponseProperty",
168
+ ]
@@ -0,0 +1,37 @@
1
+ from abc import ABC
2
+ from typing import Annotated, Any, Literal
3
+
4
+ from pydantic import Field, TypeAdapter, field_serializer
5
+ from pydantic_core.core_schema import FieldSerializationInfo
6
+
7
+ from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject
8
+
9
+ from ._references import ContainerReference
10
+
11
+
12
+ class ConstraintDefinition(BaseModelObject, ABC):
13
+ constraint_type: str
14
+
15
+
16
+ class UniquenessConstraintDefinition(ConstraintDefinition):
17
+ constraint_type: Literal["uniqueness"] = "uniqueness"
18
+ properties: list[str]
19
+ by_space: bool | None = None
20
+
21
+
22
+ class RequiresConstraintDefinition(ConstraintDefinition):
23
+ constraint_type: Literal["requires"] = "requires"
24
+ require: ContainerReference
25
+
26
+ @field_serializer("require", mode="plain")
27
+ @classmethod
28
+ def serialize_require(cls, require: ContainerReference, info: FieldSerializationInfo) -> dict[str, Any]:
29
+ return {**require.model_dump(**vars(info)), "type": "container"}
30
+
31
+
32
+ Constraint = Annotated[
33
+ UniquenessConstraintDefinition | RequiresConstraintDefinition,
34
+ Field(discriminator="constraint_type"),
35
+ ]
36
+
37
+ ConstraintAdapter: TypeAdapter[Constraint] = TypeAdapter(Constraint)