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,129 @@
1
+ """Annotations API for managing CDF annotations.
2
+
3
+ Based on the API specification at:
4
+ https://api-docs.cognite.com/20230101/tag/Annotations/operation/annotationsCreate
5
+ """
6
+
7
+ from collections.abc import Iterable, Sequence
8
+ from typing import Literal
9
+
10
+ from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, Endpoint, PagedResponse
11
+ from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
12
+ from cognite_toolkit._cdf_tk.client.request_classes.filters import AnnotationFilter
13
+ from cognite_toolkit._cdf_tk.client.resource_classes.annotation import AnnotationRequest, AnnotationResponse
14
+ from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalId
15
+
16
+
17
+ class AnnotationsAPI(CDFResourceAPI[InternalId, AnnotationRequest, AnnotationResponse]):
18
+ """API for managing CDF annotations."""
19
+
20
+ def __init__(self, http_client: HTTPClient) -> None:
21
+ super().__init__(
22
+ http_client=http_client,
23
+ method_endpoint_map={
24
+ "create": Endpoint(method="POST", path="/annotations", item_limit=1000),
25
+ "retrieve": Endpoint(method="POST", path="/annotations/byids", item_limit=1000),
26
+ "update": Endpoint(method="POST", path="/annotations/update", item_limit=1000),
27
+ "delete": Endpoint(method="POST", path="/annotations/delete", item_limit=1000),
28
+ "list": Endpoint(method="POST", path="/annotations/list", item_limit=1000),
29
+ },
30
+ )
31
+
32
+ def _validate_page_response(
33
+ self, response: SuccessResponse2 | ItemsSuccessResponse2
34
+ ) -> PagedResponse[AnnotationResponse]:
35
+ return PagedResponse[AnnotationResponse].model_validate_json(response.body)
36
+
37
+ def create(self, items: Sequence[AnnotationRequest]) -> list[AnnotationResponse]:
38
+ """Create annotations in CDF.
39
+
40
+ Args:
41
+ items: List of AnnotationRequest objects to create.
42
+
43
+ Returns:
44
+ List of created AnnotationResponse objects.
45
+ """
46
+ return self._request_item_response(items, "create")
47
+
48
+ def retrieve(self, items: Sequence[InternalId]) -> list[AnnotationResponse]:
49
+ """Retrieve annotations from CDF by ID.
50
+
51
+ Args:
52
+ items: List of InternalId objects to retrieve.
53
+
54
+ Returns:
55
+ List of retrieved AnnotationResponse objects.
56
+ """
57
+ return self._request_item_response(items, method="retrieve")
58
+
59
+ def update(
60
+ self, items: Sequence[AnnotationRequest], mode: Literal["patch", "replace"] = "replace"
61
+ ) -> list[AnnotationResponse]:
62
+ """Update annotations in CDF.
63
+
64
+ Args:
65
+ items: List of AnnotationRequest objects to update.
66
+ mode: Update mode, either "patch" or "replace".
67
+
68
+ Returns:
69
+ List of updated AnnotationResponse objects.
70
+ """
71
+ return self._update(items, mode=mode)
72
+
73
+ def delete(self, items: Sequence[InternalId]) -> None:
74
+ """Delete annotations from CDF.
75
+
76
+ Args:
77
+ items: List of InternalId objects to delete.
78
+ """
79
+ self._request_no_response(items, "delete")
80
+
81
+ def paginate(
82
+ self,
83
+ filter: AnnotationFilter,
84
+ limit: int = 100,
85
+ cursor: str | None = None,
86
+ ) -> PagedResponse[AnnotationResponse]:
87
+ """Get a page of annotations from CDF.
88
+
89
+ Args:
90
+ filter: AnnotationFilter to filter annotations.
91
+ limit: Maximum number of annotations to return.
92
+ cursor: Cursor for pagination.
93
+
94
+ Returns:
95
+ PagedResponse of AnnotationResponse objects.
96
+ """
97
+ return self._paginate(cursor=cursor, limit=limit, body=filter.dump())
98
+
99
+ def iterate(
100
+ self,
101
+ filter: AnnotationFilter,
102
+ limit: int | None = None,
103
+ ) -> Iterable[list[AnnotationResponse]]:
104
+ """Iterate over all annotations in CDF.
105
+
106
+ Args:
107
+ filter: AnnotationFilter to filter annotations.
108
+ limit: Maximum total number of annotations to return.
109
+
110
+ Returns:
111
+ Iterable of lists of AnnotationResponse objects.
112
+ """
113
+ return self._iterate(limit=limit, body=filter.dump())
114
+
115
+ def list(
116
+ self,
117
+ filter: AnnotationFilter,
118
+ limit: int | None = None,
119
+ ) -> list[AnnotationResponse]:
120
+ """List all annotations in CDF.
121
+
122
+ Args:
123
+ filter: AnnotationFilter to filter annotations.
124
+ limit: Maximum total number of annotations to return.
125
+
126
+ Returns:
127
+ List of AnnotationResponse objects.
128
+ """
129
+ return self._list(limit=limit, body=filter.dump())
@@ -0,0 +1,130 @@
1
+ from collections.abc import Iterable, Sequence
2
+ from typing import Literal
3
+
4
+ from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
5
+ from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
6
+ from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
7
+ from cognite_toolkit._cdf_tk.client.request_classes.filters import ClassicFilter
8
+ from cognite_toolkit._cdf_tk.client.resource_classes.asset import AssetRequest, AssetResponse
9
+ from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
10
+
11
+
12
+ class AssetsAPI(CDFResourceAPI[InternalOrExternalId, AssetRequest, AssetResponse]):
13
+ def __init__(self, http_client: HTTPClient) -> None:
14
+ super().__init__(
15
+ http_client=http_client,
16
+ method_endpoint_map={
17
+ "create": Endpoint(method="POST", path="/assets", item_limit=1000, concurrency_max_workers=1),
18
+ "retrieve": Endpoint(method="POST", path="/assets/byids", item_limit=1000, concurrency_max_workers=1),
19
+ "update": Endpoint(method="POST", path="/assets/update", item_limit=1000, concurrency_max_workers=1),
20
+ "delete": Endpoint(method="POST", path="/assets/delete", item_limit=1000, concurrency_max_workers=1),
21
+ "list": Endpoint(method="POST", path="/assets/list", item_limit=1000),
22
+ },
23
+ )
24
+
25
+ def _validate_page_response(
26
+ self, response: SuccessResponse2 | ItemsSuccessResponse2
27
+ ) -> PagedResponse[AssetResponse]:
28
+ return PagedResponse[AssetResponse].model_validate_json(response.body)
29
+
30
+ def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
31
+ return ResponseItems[InternalOrExternalId].model_validate_json(response.body)
32
+
33
+ def create(self, items: Sequence[AssetRequest]) -> list[AssetResponse]:
34
+ """Create assets in CDF.
35
+
36
+ Args:
37
+ items: List of AssetRequest objects to create.
38
+ Returns:
39
+ List of created AssetResponse objects.
40
+ """
41
+ return self._request_item_response(items, "create")
42
+
43
+ def retrieve(self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False) -> list[AssetResponse]:
44
+ """Retrieve assets from CDF.
45
+
46
+ Args:
47
+ items: List of InternalOrExternalId objects to retrieve.
48
+ ignore_unknown_ids: Whether to ignore unknown IDs.
49
+ Returns:
50
+ List of retrieved AssetResponse objects.
51
+ """
52
+ return self._request_item_response(
53
+ items, method="retrieve", extra_body={"ignoreUnknownIds": ignore_unknown_ids}
54
+ )
55
+
56
+ def update(
57
+ self, items: Sequence[AssetRequest], mode: Literal["patch", "replace"] = "replace"
58
+ ) -> list[AssetResponse]:
59
+ """Update assets in CDF.
60
+
61
+ Args:
62
+ items: List of AssetRequest objects to update.
63
+ mode: Update mode, either "patch" or "replace".
64
+
65
+ Returns:
66
+ List of updated AssetResponse objects.
67
+ """
68
+ return self._update(items, mode=mode)
69
+
70
+ def delete(
71
+ self, items: Sequence[InternalOrExternalId], recursive: bool = False, ignore_unknown_ids: bool = False
72
+ ) -> None:
73
+ """Delete assets from CDF.
74
+
75
+ Args:
76
+ items: List of InternalOrExternalId objects to delete.
77
+ recursive: Whether to delete assets recursively.
78
+ ignore_unknown_ids: Whether to ignore unknown IDs.
79
+ """
80
+ self._request_no_response(
81
+ items, "delete", extra_body={"recursive": recursive, "ignoreUnknownIds": ignore_unknown_ids}
82
+ )
83
+
84
+ def paginate(
85
+ self,
86
+ aggregated_properties: bool = False,
87
+ filter: ClassicFilter | None = None,
88
+ limit: int = 100,
89
+ cursor: str | None = None,
90
+ ) -> PagedResponse[AssetResponse]:
91
+ """Iterate over all assets in CDF.
92
+
93
+ Returns:
94
+ PagedResponse of AssetResponse objects.
95
+ """
96
+ return self._paginate(
97
+ cursor=cursor,
98
+ limit=limit,
99
+ body={
100
+ "aggregatedProperties": ["childCount", "path", "depth"] if aggregated_properties else [],
101
+ "filter": filter.dump() if filter else None,
102
+ },
103
+ )
104
+
105
+ def iterate(
106
+ self,
107
+ aggregated_properties: bool = False,
108
+ filter: ClassicFilter | None = None,
109
+ limit: int | None = 100,
110
+ ) -> Iterable[list[AssetResponse]]:
111
+ """Iterate over all assets in CDF.
112
+
113
+ Returns:
114
+ Sequence of AssetResponse objects.
115
+ """
116
+ return self._iterate(
117
+ limit=limit,
118
+ body={
119
+ "aggregatedProperties": ["childCount", "path", "depth"] if aggregated_properties else [],
120
+ "filter": filter.dump() if filter else None,
121
+ },
122
+ )
123
+
124
+ def list(self, limit: int | None = 100) -> list[AssetResponse]:
125
+ """List all asset references in CDF.
126
+
127
+ Returns:
128
+ ResponseItems of T_Identifier objects.
129
+ """
130
+ return self._list(limit=limit)
@@ -0,0 +1,132 @@
1
+ """Containers API for managing CDF data modeling containers.
2
+
3
+ Based on the API specification at:
4
+ https://api-docs.cognite.com/20230101/tag/Containers/operation/ApplyContainers
5
+ """
6
+
7
+ from collections.abc import Iterable, Sequence
8
+
9
+ from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, Endpoint, PagedResponse
10
+ from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
11
+ from cognite_toolkit._cdf_tk.client.request_classes.filters import ContainerFilter
12
+ from cognite_toolkit._cdf_tk.client.resource_classes.data_modeling import (
13
+ ContainerReference,
14
+ ContainerRequest,
15
+ ContainerResponse,
16
+ )
17
+
18
+
19
+ class ContainersAPI(CDFResourceAPI[ContainerReference, ContainerRequest, ContainerResponse]):
20
+ """API for managing CDF data modeling containers.
21
+
22
+ Containers use an apply/upsert pattern for create and update operations.
23
+ """
24
+
25
+ def __init__(self, http_client: HTTPClient) -> None:
26
+ super().__init__(
27
+ http_client=http_client,
28
+ method_endpoint_map={
29
+ "upsert": Endpoint(method="POST", path="/models/containers", item_limit=100),
30
+ "retrieve": Endpoint(method="POST", path="/models/containers/byids", item_limit=100),
31
+ "delete": Endpoint(method="POST", path="/models/containers/delete", item_limit=100),
32
+ "list": Endpoint(method="GET", path="/models/containers", item_limit=1000),
33
+ },
34
+ )
35
+
36
+ def _validate_page_response(
37
+ self, response: SuccessResponse2 | ItemsSuccessResponse2
38
+ ) -> PagedResponse[ContainerResponse]:
39
+ return PagedResponse[ContainerResponse].model_validate_json(response.body)
40
+
41
+ def create(self, items: Sequence[ContainerRequest]) -> list[ContainerResponse]:
42
+ """Create (create or update) containers in CDF.
43
+
44
+ Args:
45
+ items: List of ContainerRequest objects to apply.
46
+
47
+ Returns:
48
+ List of applied ContainerResponse objects.
49
+ """
50
+ return self._request_item_response(items, "upsert")
51
+
52
+ def update(self, items: Sequence[ContainerRequest]) -> list[ContainerResponse]:
53
+ """Update (create or update) containers in CDF.
54
+
55
+ Args:
56
+ items: List of ContainerRequest objects to apply.
57
+ Returns:
58
+ List of applied ContainerResponse objects.
59
+ """
60
+ return self._request_item_response(items, "upsert")
61
+
62
+ def retrieve(self, items: Sequence[ContainerReference]) -> list[ContainerResponse]:
63
+ """Retrieve containers from CDF.
64
+
65
+ Args:
66
+ items: List of ContainerReference objects to retrieve.
67
+
68
+ Returns:
69
+ List of retrieved ContainerResponse objects.
70
+ """
71
+ return self._request_item_response(items, method="retrieve")
72
+
73
+ def delete(self, items: Sequence[ContainerReference]) -> None:
74
+ """Delete containers from CDF.
75
+
76
+ Args:
77
+ items: List of ContainerReference objects to delete.
78
+ """
79
+ self._request_no_response(items, "delete")
80
+
81
+ def paginate(
82
+ self,
83
+ filter: ContainerFilter | None = None,
84
+ limit: int = 100,
85
+ cursor: str | None = None,
86
+ ) -> PagedResponse[ContainerResponse]:
87
+ """Get a page of containers from CDF.
88
+
89
+ Args:
90
+ filter: ContainerFilter to filter containers.
91
+ limit: Maximum number of containers to return.
92
+ cursor: Cursor for pagination.
93
+
94
+ Returns:
95
+ PagedResponse of ContainerResponse objects.
96
+ """
97
+ return self._paginate(
98
+ cursor=cursor,
99
+ limit=limit,
100
+ params=filter.dump() if filter else None,
101
+ )
102
+
103
+ def iterate(
104
+ self,
105
+ filter: ContainerFilter | None = None,
106
+ limit: int | None = None,
107
+ ) -> Iterable[list[ContainerResponse]]:
108
+ """Iterate over all containers in CDF.
109
+
110
+ Args:
111
+ filter: ContainerFilter to filter containers.
112
+ limit: Maximum total number of containers to return.
113
+
114
+ Returns:
115
+ Iterable of lists of ContainerResponse objects.
116
+ """
117
+ return self._iterate(
118
+ limit=limit,
119
+ params=filter.dump() if filter else None,
120
+ )
121
+
122
+ def list(self, filter: ContainerFilter | None = None, limit: int | None = None) -> list[ContainerResponse]:
123
+ """List all containers in CDF.
124
+
125
+ Args:
126
+ filter: ContainerFilter to filter containers.
127
+ limit: Maximum total number of containers to return.
128
+
129
+ Returns:
130
+ List of ContainerResponse objects.
131
+ """
132
+ return self._list(limit=limit, params=filter.dump() if filter else None)
@@ -0,0 +1,137 @@
1
+ """Data Models API for managing CDF data models.
2
+
3
+ Based on the API specification at:
4
+ https://api-docs.cognite.com/20230101/tag/Data-models/operation/createDataModels
5
+ """
6
+
7
+ from collections.abc import Iterable, Sequence
8
+
9
+ from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, Endpoint, PagedResponse
10
+ from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
11
+ from cognite_toolkit._cdf_tk.client.request_classes.filters import DataModelFilter
12
+ from cognite_toolkit._cdf_tk.client.resource_classes.data_modeling import (
13
+ DataModelReference,
14
+ DataModelRequest,
15
+ DataModelResponse,
16
+ )
17
+
18
+
19
+ class DataModelsAPI(CDFResourceAPI[DataModelReference, DataModelRequest, DataModelResponse]):
20
+ """API for managing CDF data models.
21
+
22
+ Data models use an apply/upsert pattern for create and update operations.
23
+ """
24
+
25
+ def __init__(self, http_client: HTTPClient) -> None:
26
+ super().__init__(
27
+ http_client=http_client,
28
+ method_endpoint_map={
29
+ "upsert": Endpoint(method="POST", path="/models/datamodels", item_limit=100),
30
+ "retrieve": Endpoint(method="POST", path="/models/datamodels/byids", item_limit=100),
31
+ "delete": Endpoint(method="POST", path="/models/datamodels/delete", item_limit=100),
32
+ "list": Endpoint(method="GET", path="/models/datamodels", item_limit=1000),
33
+ },
34
+ )
35
+
36
+ def _validate_page_response(
37
+ self, response: SuccessResponse2 | ItemsSuccessResponse2
38
+ ) -> PagedResponse[DataModelResponse]:
39
+ return PagedResponse[DataModelResponse].model_validate_json(response.body)
40
+
41
+ def create(self, items: Sequence[DataModelRequest]) -> list[DataModelResponse]:
42
+ """Apply (create or update) data models in CDF.
43
+
44
+ Args:
45
+ items: List of DataModelRequest objects to apply.
46
+
47
+ Returns:
48
+ List of applied DataModelResponse objects.
49
+ """
50
+ return self._request_item_response(items, "upsert")
51
+
52
+ def update(self, items: Sequence[DataModelRequest]) -> list[DataModelResponse]:
53
+ """Apply (create or update) data models in CDF.
54
+
55
+ Args:
56
+ items: List of DataModelRequest objects to apply.
57
+ Returns:
58
+ List of applied DataModelResponse objects.
59
+ """
60
+ return self._request_item_response(items, "upsert")
61
+
62
+ def retrieve(self, items: Sequence[DataModelReference], inline_views: bool = False) -> list[DataModelResponse]:
63
+ """Retrieve data models from CDF.
64
+
65
+ Args:
66
+ items: List of DataModelReference objects to retrieve.
67
+ inline_views: Whether to include full view definitions in the response.
68
+
69
+ Returns:
70
+ List of retrieved DataModelResponse objects.
71
+ """
72
+ return self._request_item_response(items, method="retrieve", extra_body={"inlineViews": inline_views})
73
+
74
+ def delete(self, items: Sequence[DataModelReference]) -> None:
75
+ """Delete data models from CDF.
76
+
77
+ Args:
78
+ items: List of DataModelReference objects to delete.
79
+ """
80
+ self._request_no_response(items, "delete")
81
+
82
+ def paginate(
83
+ self,
84
+ filter: DataModelFilter | None = None,
85
+ limit: int = 100,
86
+ cursor: str | None = None,
87
+ ) -> PagedResponse[DataModelResponse]:
88
+ """Get a page of data models from CDF.
89
+
90
+ Args:
91
+ filter: DataModelFilter to filter data models.
92
+ limit: Maximum number of data models to return.
93
+ cursor: Cursor for pagination.
94
+
95
+ Returns:
96
+ PagedResponse of DataModelResponse objects.
97
+ """
98
+ return self._paginate(
99
+ cursor=cursor,
100
+ limit=limit,
101
+ params=filter.dump() if filter else None,
102
+ )
103
+
104
+ def iterate(
105
+ self,
106
+ filter: DataModelFilter | None = None,
107
+ limit: int | None = None,
108
+ ) -> Iterable[list[DataModelResponse]]:
109
+ """Iterate over all data models in CDF.
110
+
111
+ Args:
112
+ filter: DataModelFilter to filter data models.
113
+ limit: Maximum total number of data models to return.
114
+
115
+ Returns:
116
+ Iterable of lists of DataModelResponse objects.
117
+ """
118
+ return self._iterate(
119
+ limit=limit,
120
+ params=filter.dump() if filter else None,
121
+ )
122
+
123
+ def list(
124
+ self,
125
+ filter: DataModelFilter | None = None,
126
+ limit: int | None = None,
127
+ ) -> list[DataModelResponse]:
128
+ """List all data models in CDF.
129
+
130
+ Args:
131
+ filter: DataModelFilter to filter data models.
132
+ limit: Maximum total number of data models to return.
133
+
134
+ Returns:
135
+ List of DataModelResponse objects.
136
+ """
137
+ return self._list(limit=limit, params=filter.dump() if filter else None)
@@ -0,0 +1,141 @@
1
+ from collections.abc import Iterable, Sequence
2
+ from typing import Any, Literal
3
+
4
+ from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
5
+ from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
6
+ from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
7
+ from cognite_toolkit._cdf_tk.client.resource_classes.dataset import DataSetRequest, DataSetResponse
8
+ from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
9
+
10
+
11
+ class DataSetsAPI(CDFResourceAPI[InternalOrExternalId, DataSetRequest, DataSetResponse]):
12
+ def __init__(self, http_client: HTTPClient) -> None:
13
+ super().__init__(
14
+ http_client=http_client,
15
+ method_endpoint_map={
16
+ "create": Endpoint(method="POST", path="/datasets", item_limit=10, concurrency_max_workers=1),
17
+ "retrieve": Endpoint(method="POST", path="/datasets/byids", item_limit=1000, concurrency_max_workers=1),
18
+ "update": Endpoint(method="POST", path="/datasets/update", item_limit=1000, concurrency_max_workers=1),
19
+ "list": Endpoint(method="POST", path="/datasets/list", item_limit=1000),
20
+ },
21
+ )
22
+
23
+ def _validate_page_response(
24
+ self, response: SuccessResponse2 | ItemsSuccessResponse2
25
+ ) -> PagedResponse[DataSetResponse]:
26
+ return PagedResponse[DataSetResponse].model_validate_json(response.body)
27
+
28
+ def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
29
+ return ResponseItems[InternalOrExternalId].model_validate_json(response.body)
30
+
31
+ def create(self, items: Sequence[DataSetRequest]) -> list[DataSetResponse]:
32
+ """Create data sets in CDF.
33
+
34
+ Args:
35
+ items: List of DataSetRequest objects to create.
36
+ Returns:
37
+ List of created DataSetResponse objects.
38
+ """
39
+ return self._request_item_response(items, "create")
40
+
41
+ def retrieve(
42
+ self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False
43
+ ) -> list[DataSetResponse]:
44
+ """Retrieve data sets from CDF.
45
+
46
+ Args:
47
+ items: List of InternalOrExternalId objects to retrieve.
48
+ ignore_unknown_ids: Whether to ignore unknown IDs.
49
+ Returns:
50
+ List of retrieved DataSetResponse objects.
51
+ """
52
+ return self._request_item_response(
53
+ items, method="retrieve", extra_body={"ignoreUnknownIds": ignore_unknown_ids}
54
+ )
55
+
56
+ def update(
57
+ self, items: Sequence[DataSetRequest], mode: Literal["patch", "replace"] = "replace"
58
+ ) -> list[DataSetResponse]:
59
+ """Update data sets in CDF.
60
+
61
+ Args:
62
+ items: List of DataSetRequest objects to update.
63
+ mode: Update mode, either "patch" or "replace".
64
+
65
+ Returns:
66
+ List of updated DataSetResponse objects.
67
+ """
68
+ return self._update(items, mode=mode)
69
+
70
+ def paginate(
71
+ self,
72
+ metadata: dict[str, str] | None = None,
73
+ external_id_prefix: str | None = None,
74
+ write_protected: bool | None = None,
75
+ limit: int = 100,
76
+ cursor: str | None = None,
77
+ ) -> PagedResponse[DataSetResponse]:
78
+ """Iterate over all data sets in CDF.
79
+
80
+ Args:
81
+ metadata: Filter by metadata.
82
+ external_id_prefix: Filter by external ID prefix.
83
+ write_protected: Filter by write protection status.
84
+ limit: Maximum number of items to return.
85
+ cursor: Cursor for pagination.
86
+
87
+ Returns:
88
+ PagedResponse of DataSetResponse objects.
89
+ """
90
+ filter_body: dict[str, Any] = {}
91
+ if metadata is not None:
92
+ filter_body["metadata"] = metadata
93
+ if external_id_prefix is not None:
94
+ filter_body["externalIdPrefix"] = external_id_prefix
95
+ if write_protected is not None:
96
+ filter_body["writeProtected"] = write_protected
97
+
98
+ return self._paginate(
99
+ cursor=cursor,
100
+ limit=limit,
101
+ body={"filter": filter_body} if filter_body else {},
102
+ )
103
+
104
+ def iterate(
105
+ self,
106
+ metadata: dict[str, str] | None = None,
107
+ external_id_prefix: str | None = None,
108
+ write_protected: bool | None = None,
109
+ limit: int = 100,
110
+ ) -> Iterable[list[DataSetResponse]]:
111
+ """Iterate over all data sets in CDF.
112
+
113
+ Args:
114
+ metadata: Filter by metadata.
115
+ external_id_prefix: Filter by external ID prefix.
116
+ write_protected: Filter by write protection status.
117
+ limit: Maximum number of items to return per page.
118
+
119
+ Returns:
120
+ Iterable of lists of DataSetResponse objects.
121
+ """
122
+ filter_body: dict[str, Any] = {}
123
+ if metadata is not None:
124
+ filter_body["metadata"] = metadata
125
+ if external_id_prefix is not None:
126
+ filter_body["externalIdPrefix"] = external_id_prefix
127
+ if write_protected is not None:
128
+ filter_body["writeProtected"] = write_protected
129
+
130
+ return self._iterate(
131
+ limit=limit,
132
+ body={"filter": filter_body} if filter_body else {},
133
+ )
134
+
135
+ def list(self, limit: int | None = 100) -> list[DataSetResponse]:
136
+ """List all data sets in CDF.
137
+
138
+ Returns:
139
+ List of DataSetResponse objects.
140
+ """
141
+ return self._list(limit=limit)