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
@@ -3,24 +3,15 @@ from collections import defaultdict
3
3
  from collections.abc import Iterable, Sequence
4
4
  from typing import Any, ClassVar, Generic
5
5
 
6
- from cognite.client.data_classes import (
7
- AggregateResultItem,
8
- Asset,
9
- AssetList,
10
- AssetWrite,
11
- Event,
12
- EventList,
13
- EventWrite,
14
- FileMetadata,
15
- FileMetadataList,
16
- Label,
17
- LabelDefinition,
18
- TimeSeries,
19
- TimeSeriesList,
20
- TimeSeriesWrite,
21
- )
6
+ from cognite.client.data_classes import Label, LabelDefinition
22
7
 
23
8
  from cognite_toolkit._cdf_tk.client import ToolkitClient
9
+ from cognite_toolkit._cdf_tk.client.request_classes.filters import ClassicFilter
10
+ from cognite_toolkit._cdf_tk.client.resource_classes.asset import AssetAggregateItem, AssetRequest, AssetResponse
11
+ from cognite_toolkit._cdf_tk.client.resource_classes.event import EventRequest, EventResponse
12
+ from cognite_toolkit._cdf_tk.client.resource_classes.filemetadata import FileMetadataResponse
13
+ from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalId
14
+ from cognite_toolkit._cdf_tk.client.resource_classes.timeseries import TimeSeriesRequest, TimeSeriesResponse
24
15
  from cognite_toolkit._cdf_tk.cruds import (
25
16
  AssetCRUD,
26
17
  DataSetsCRUD,
@@ -42,10 +33,10 @@ from cognite_toolkit._cdf_tk.utils.cdf import metadata_key_counts
42
33
  from cognite_toolkit._cdf_tk.utils.fileio import FileReader, SchemaColumn
43
34
  from cognite_toolkit._cdf_tk.utils.fileio._readers import TableReader
44
35
  from cognite_toolkit._cdf_tk.utils.useful_types import (
45
- AssetCentricResource,
46
36
  AssetCentricType,
47
37
  JsonVal,
48
38
  )
39
+ from cognite_toolkit._cdf_tk.utils.useful_types2 import AssetCentricResource
49
40
 
50
41
  from ._base import (
51
42
  ConfigurableStorageIO,
@@ -99,25 +90,27 @@ class AssetCentricIO(
99
90
  list(self._downloaded_labels_by_selector[selector]), LabelCRUD.create_loader(self.client)
100
91
  )
101
92
 
102
- def _get_hierarchy_dataset_pair(self, selector: AssetCentricSelector) -> tuple[list[str] | None, list[str] | None]:
103
- asset_subtree_external_ids: list[str] | None = None
104
- data_set_external_ids: list[str] | None = None
93
+ def _get_classic_filter(self, selector: AssetCentricSelector) -> ClassicFilter:
105
94
  if isinstance(selector, DataSetSelector):
106
- data_set_external_ids = [selector.data_set_external_id]
95
+ return ClassicFilter.from_asset_subtree_and_data_sets(data_set_id=selector.data_set_external_id)
107
96
  elif isinstance(selector, AssetSubtreeSelector):
108
- asset_subtree_external_ids = [selector.hierarchy]
97
+ return ClassicFilter.from_asset_subtree_and_data_sets(asset_subtree_id=selector.hierarchy)
109
98
  else:
110
99
  # This selector is for uploads, not for downloading from CDF.
111
100
  raise ToolkitNotImplementedError(f"Selector type {type(selector)} not supported for {type(self).__name__}.")
112
- return asset_subtree_external_ids, data_set_external_ids
113
101
 
114
102
  def _collect_dependencies(
115
- self, resources: AssetList | FileMetadataList | TimeSeriesList | EventList, selector: AssetCentricSelector
103
+ self,
104
+ resources: Sequence[AssetResponse]
105
+ | Sequence[FileMetadataResponse]
106
+ | Sequence[TimeSeriesResponse]
107
+ | Sequence[EventResponse],
108
+ selector: AssetCentricSelector,
116
109
  ) -> None:
117
110
  for resource in resources:
118
111
  if resource.data_set_id:
119
112
  self._downloaded_data_sets_by_selector[selector].add(resource.data_set_id)
120
- if isinstance(resource, Asset | FileMetadata):
113
+ if isinstance(resource, AssetResponse | FileMetadataResponse):
121
114
  for label in resource.labels or []:
122
115
  if isinstance(label, str):
123
116
  self._downloaded_labels_by_selector[selector].add(label)
@@ -149,17 +142,19 @@ class AssetCentricIO(
149
142
  def create_internal_identifier(cls, internal_id: int, project: str) -> str:
150
143
  return f"INTERNAL_ID_project_{project}_{internal_id!s}"
151
144
 
152
- def _populate_data_set_id_cache(self, chunk: Sequence[Asset | FileMetadata | TimeSeries | Event]) -> None:
145
+ def _populate_data_set_id_cache(
146
+ self, chunk: Sequence[AssetResponse | FileMetadataResponse | TimeSeriesResponse | EventResponse]
147
+ ) -> None:
153
148
  data_set_ids = {item.data_set_id for item in chunk if item.data_set_id is not None}
154
149
  self.client.lookup.data_sets.external_id(list(data_set_ids))
155
150
 
156
- def _populate_security_category_cache(self, chunk: Sequence[FileMetadata | TimeSeries]) -> None:
151
+ def _populate_security_category_cache(self, chunk: Sequence[FileMetadataResponse | TimeSeriesResponse]) -> None:
157
152
  security_category_ids: set[int] = set()
158
153
  for item in chunk:
159
154
  security_category_ids.update(item.security_categories or [])
160
155
  self.client.lookup.security_categories.external_id(list(security_category_ids))
161
156
 
162
- def _populate_asset_id_cache(self, chunk: Sequence[FileMetadata | Event]) -> None:
157
+ def _populate_asset_id_cache(self, chunk: Sequence[FileMetadataResponse | EventResponse]) -> None:
163
158
  asset_ids: set[int] = set()
164
159
  for item in chunk:
165
160
  asset_ids.update(item.asset_ids or [])
@@ -249,7 +244,7 @@ class UploadableAssetCentricIO(
249
244
  )
250
245
 
251
246
 
252
- class AssetIO(UploadableAssetCentricIO[Asset, AssetWrite]):
247
+ class AssetIO(UploadableAssetCentricIO[AssetResponse, AssetRequest]):
253
248
  KIND = "Assets"
254
249
  RESOURCE_TYPE = "asset"
255
250
  SUPPORTED_DOWNLOAD_FORMATS = frozenset({".parquet", ".csv", ".ndjson"})
@@ -261,7 +256,7 @@ class AssetIO(UploadableAssetCentricIO[Asset, AssetWrite]):
261
256
  super().__init__(client)
262
257
  self._crud = AssetCRUD.create_loader(self.client)
263
258
 
264
- def as_id(self, item: Asset) -> str:
259
+ def as_id(self, item: AssetResponse) -> str:
265
260
  return item.external_id if item.external_id is not None else self._create_identifier(item.id)
266
261
 
267
262
  def _get_aggregator(self) -> AssetCentricAggregator:
@@ -310,22 +305,25 @@ class AssetIO(UploadableAssetCentricIO[Asset, AssetWrite]):
310
305
  return asset_schema + metadata_schema
311
306
 
312
307
  def stream_data(self, selector: AssetCentricSelector, limit: int | None = None) -> Iterable[Page]:
313
- asset_subtree_external_ids, data_set_external_ids = self._get_hierarchy_dataset_pair(selector)
314
- for asset_list in self.client.assets(
315
- chunk_size=self.CHUNK_SIZE,
316
- limit=limit,
317
- asset_subtree_external_ids=asset_subtree_external_ids,
318
- data_set_external_ids=data_set_external_ids,
319
- aggregated_properties=["child_count", "path", "depth"],
320
- # We cannot use partitions here as it is not thread safe. This spawn multiple threads
321
- # that are not shut down until all data is downloaded. We need to be able to abort.
322
- partitions=None,
323
- ):
324
- self._collect_dependencies(asset_list, selector)
325
- yield Page(worker_id="main", items=asset_list)
308
+ filter_ = self._get_classic_filter(selector)
309
+ cursor: str | None = None
310
+ total_count = 0
311
+ while True:
312
+ page = self.client.tool.assets.paginate(
313
+ aggregated_properties=True,
314
+ filter=filter_,
315
+ limit=self.CHUNK_SIZE,
316
+ cursor=cursor,
317
+ )
318
+ self._collect_dependencies(page.items, selector)
319
+ yield Page(worker_id="main", items=page.items)
320
+ total_count += len(page.items)
321
+ if page.next_cursor is None or (limit is not None and total_count >= limit):
322
+ break
323
+ cursor = page.next_cursor
326
324
 
327
325
  def data_to_json_chunk(
328
- self, data_chunk: Sequence[Asset], selector: AssetCentricSelector | None = None
326
+ self, data_chunk: Sequence[AssetResponse], selector: AssetCentricSelector | None = None
329
327
  ) -> list[dict[str, JsonVal]]:
330
328
  # Ensure data sets are looked up to populate cache.
331
329
  # This is to avoid looking up each data set id individually in the .dump_resource call.
@@ -333,19 +331,18 @@ class AssetIO(UploadableAssetCentricIO[Asset, AssetWrite]):
333
331
  asset_ids = {
334
332
  segment["id"]
335
333
  for item in data_chunk
336
- if isinstance(item.aggregates, AggregateResultItem)
337
- for segment in item.aggregates.path or []
338
- if "id" in segment
334
+ if isinstance(item.aggregates, AssetAggregateItem)
335
+ for segment in item.aggregates.path
339
336
  }
340
337
  self.client.lookup.assets.external_id(list(asset_ids))
341
338
 
342
339
  return [self._crud.dump_resource(item) for item in data_chunk]
343
340
 
344
- def json_to_resource(self, item_json: dict[str, JsonVal]) -> AssetWrite:
341
+ def json_to_resource(self, item_json: dict[str, JsonVal]) -> AssetRequest:
345
342
  return self._crud.load_resource(item_json)
346
343
 
347
- def retrieve(self, ids: Sequence[int]) -> AssetList:
348
- return self.client.assets.retrieve_multiple(ids)
344
+ def retrieve(self, ids: Sequence[int]) -> list[AssetResponse]:
345
+ return self.client.tool.assets.retrieve(InternalId.from_ids(ids))
349
346
 
350
347
  @classmethod
351
348
  def read_chunks(
@@ -378,7 +375,7 @@ class AssetIO(UploadableAssetCentricIO[Asset, AssetWrite]):
378
375
  current_depth += 1
379
376
 
380
377
 
381
- class FileMetadataIO(AssetCentricIO[FileMetadata]):
378
+ class FileMetadataIO(AssetCentricIO[FileMetadataResponse]):
382
379
  KIND = "FileMetadata"
383
380
  RESOURCE_TYPE = "file"
384
381
  SUPPORTED_DOWNLOAD_FORMATS = frozenset({".parquet", ".csv", ".ndjson"})
@@ -390,7 +387,7 @@ class FileMetadataIO(AssetCentricIO[FileMetadata]):
390
387
  super().__init__(client)
391
388
  self._crud = FileMetadataCRUD.create_loader(self.client)
392
389
 
393
- def as_id(self, item: FileMetadata) -> str:
390
+ def as_id(self, item: FileMetadataResponse) -> str:
394
391
  return item.external_id if item.external_id is not None else self._create_identifier(item.id)
395
392
 
396
393
  def _get_aggregator(self) -> AssetCentricAggregator:
@@ -433,25 +430,30 @@ class FileMetadataIO(AssetCentricIO[FileMetadata]):
433
430
  ]
434
431
  return file_schema + metadata_schema
435
432
 
436
- def stream_data(self, selector: AssetCentricSelector, limit: int | None = None) -> Iterable[Page[FileMetadata]]:
437
- asset_subtree_external_ids, data_set_external_ids = self._get_hierarchy_dataset_pair(selector)
438
- for file_list in self.client.files(
439
- chunk_size=self.CHUNK_SIZE,
440
- limit=limit,
441
- asset_subtree_external_ids=asset_subtree_external_ids,
442
- data_set_external_ids=data_set_external_ids,
443
- # We cannot use partitions here as it is not thread safe. This spawn multiple threads
444
- # that are not shut down until all data is downloaded. We need to be able to abort.
445
- partitions=None,
446
- ):
447
- self._collect_dependencies(file_list, selector)
448
- yield Page(worker_id="main", items=file_list)
449
-
450
- def retrieve(self, ids: Sequence[int]) -> FileMetadataList:
451
- return self.client.files.retrieve_multiple(ids)
433
+ def stream_data(
434
+ self, selector: AssetCentricSelector, limit: int | None = None
435
+ ) -> Iterable[Page[FileMetadataResponse]]:
436
+ filter_ = self._get_classic_filter(selector)
437
+ cursor: str | None = None
438
+ total_count = 0
439
+ while True:
440
+ page = self.client.tool.filemetadata.paginate(
441
+ filter=filter_,
442
+ limit=self.CHUNK_SIZE,
443
+ cursor=cursor,
444
+ )
445
+ self._collect_dependencies(page.items, selector)
446
+ yield Page(worker_id="main", items=page.items)
447
+ total_count += len(page.items)
448
+ if page.next_cursor is None or (limit is not None and total_count >= limit):
449
+ break
450
+ cursor = page.next_cursor
451
+
452
+ def retrieve(self, ids: Sequence[int]) -> list[FileMetadataResponse]:
453
+ return self.client.tool.filemetadata.retrieve(InternalId.from_ids(ids))
452
454
 
453
455
  def data_to_json_chunk(
454
- self, data_chunk: Sequence[FileMetadata], selector: AssetCentricSelector | None = None
456
+ self, data_chunk: Sequence[FileMetadataResponse], selector: AssetCentricSelector | None = None
455
457
  ) -> list[dict[str, JsonVal]]:
456
458
  # Ensure data sets/assets/security-categories are looked up to populate cache.
457
459
  # This is to avoid looking up each data set id individually in the .dump_resource call
@@ -462,7 +464,7 @@ class FileMetadataIO(AssetCentricIO[FileMetadata]):
462
464
  return [self._crud.dump_resource(item) for item in data_chunk]
463
465
 
464
466
 
465
- class TimeSeriesIO(UploadableAssetCentricIO[TimeSeries, TimeSeriesWrite]):
467
+ class TimeSeriesIO(UploadableAssetCentricIO[TimeSeriesResponse, TimeSeriesRequest]):
466
468
  KIND = "TimeSeries"
467
469
  SUPPORTED_DOWNLOAD_FORMATS = frozenset({".parquet", ".csv", ".ndjson"})
468
470
  SUPPORTED_COMPRESSIONS = frozenset({".gz"})
@@ -474,31 +476,34 @@ class TimeSeriesIO(UploadableAssetCentricIO[TimeSeries, TimeSeriesWrite]):
474
476
  super().__init__(client)
475
477
  self._crud = TimeSeriesCRUD.create_loader(self.client)
476
478
 
477
- def as_id(self, item: TimeSeries) -> str:
479
+ def as_id(self, item: TimeSeriesResponse) -> str:
478
480
  return item.external_id if item.external_id is not None else self._create_identifier(item.id)
479
481
 
480
482
  def _get_aggregator(self) -> AssetCentricAggregator:
481
483
  return TimeSeriesAggregator(self.client)
482
484
 
483
- def retrieve(self, ids: Sequence[int]) -> TimeSeriesList:
484
- return self.client.time_series.retrieve_multiple(ids=ids)
485
+ def retrieve(self, ids: Sequence[int]) -> list[TimeSeriesResponse]:
486
+ return self.client.tool.timeseries.retrieve(InternalId.from_ids(ids))
485
487
 
486
488
  def stream_data(self, selector: AssetCentricSelector, limit: int | None = None) -> Iterable[Page]:
487
- asset_subtree_external_ids, data_set_external_ids = self._get_hierarchy_dataset_pair(selector)
488
- for ts_list in self.client.time_series(
489
- chunk_size=self.CHUNK_SIZE,
490
- limit=limit,
491
- asset_subtree_external_ids=asset_subtree_external_ids,
492
- data_set_external_ids=data_set_external_ids,
493
- # We cannot use partitions here as it is not thread safe. This spawn multiple threads
494
- # that are not shut down until all data is downloaded. We need to be able to abort.
495
- partitions=None,
496
- ):
497
- self._collect_dependencies(ts_list, selector)
498
- yield Page(worker_id="main", items=ts_list)
489
+ filter_ = self._get_classic_filter(selector)
490
+ cursor: str | None = None
491
+ total_count = 0
492
+ while True:
493
+ page = self.client.tool.timeseries.paginate(
494
+ filter=filter_,
495
+ limit=self.CHUNK_SIZE,
496
+ cursor=cursor,
497
+ )
498
+ self._collect_dependencies(page.items, selector)
499
+ yield Page(worker_id="main", items=page.items)
500
+ total_count += len(page.items)
501
+ if page.next_cursor is None or (limit is not None and total_count >= limit):
502
+ break
503
+ cursor = page.next_cursor
499
504
 
500
505
  def data_to_json_chunk(
501
- self, data_chunk: Sequence[TimeSeries], selector: AssetCentricSelector | None = None
506
+ self, data_chunk: Sequence[TimeSeriesResponse], selector: AssetCentricSelector | None = None
502
507
  ) -> list[dict[str, JsonVal]]:
503
508
  # Ensure data sets/assets/security categories are looked up to populate cache.
504
509
  self._populate_data_set_id_cache(data_chunk)
@@ -510,14 +515,14 @@ class TimeSeriesIO(UploadableAssetCentricIO[TimeSeries, TimeSeriesWrite]):
510
515
 
511
516
  def json_chunk_to_data(
512
517
  self, data_chunk: list[tuple[str, dict[str, JsonVal]]]
513
- ) -> Sequence[UploadItem[TimeSeriesWrite]]:
518
+ ) -> Sequence[UploadItem[TimeSeriesRequest]]:
514
519
  chunks = [item_json for _, item_json in data_chunk]
515
520
  self._populate_asset_external_ids_cache(chunks)
516
521
  self._populate_data_set_external_id_cache(chunks)
517
522
  self._populate_security_category_name_cache(chunks)
518
523
  return super().json_chunk_to_data(data_chunk)
519
524
 
520
- def json_to_resource(self, item_json: dict[str, JsonVal]) -> TimeSeriesWrite:
525
+ def json_to_resource(self, item_json: dict[str, JsonVal]) -> TimeSeriesRequest:
521
526
  return self._crud.load_resource(item_json)
522
527
 
523
528
  def get_schema(self, selector: AssetCentricSelector) -> list[SchemaColumn]:
@@ -558,7 +563,7 @@ class TimeSeriesIO(UploadableAssetCentricIO[TimeSeries, TimeSeriesWrite]):
558
563
  return ts_schema + metadata_schema
559
564
 
560
565
 
561
- class EventIO(UploadableAssetCentricIO[Event, EventWrite]):
566
+ class EventIO(UploadableAssetCentricIO[EventResponse, EventRequest]):
562
567
  KIND = "Events"
563
568
  SUPPORTED_DOWNLOAD_FORMATS = frozenset({".parquet", ".csv", ".ndjson"})
564
569
  SUPPORTED_COMPRESSIONS = frozenset({".gz"})
@@ -570,7 +575,7 @@ class EventIO(UploadableAssetCentricIO[Event, EventWrite]):
570
575
  super().__init__(client)
571
576
  self._crud = EventCRUD.create_loader(self.client)
572
577
 
573
- def as_id(self, item: Event) -> str:
578
+ def as_id(self, item: EventResponse) -> str:
574
579
  return item.external_id if item.external_id is not None else self._create_identifier(item.id)
575
580
 
576
581
  def _get_aggregator(self) -> AssetCentricAggregator:
@@ -614,21 +619,24 @@ class EventIO(UploadableAssetCentricIO[Event, EventWrite]):
614
619
  return event_schema + metadata_schema
615
620
 
616
621
  def stream_data(self, selector: AssetCentricSelector, limit: int | None = None) -> Iterable[Page]:
617
- asset_subtree_external_ids, data_set_external_ids = self._get_hierarchy_dataset_pair(selector)
618
- for event_list in self.client.events(
619
- chunk_size=self.CHUNK_SIZE,
620
- limit=limit,
621
- asset_subtree_external_ids=asset_subtree_external_ids,
622
- data_set_external_ids=data_set_external_ids,
623
- # We cannot use partitions here as it is not thread safe. This spawn multiple threads
624
- # that are not shut down until all data is downloaded. We need to be able to abort.
625
- partitions=None,
626
- ):
627
- self._collect_dependencies(event_list, selector)
628
- yield Page(worker_id="main", items=event_list)
622
+ filter_ = self._get_classic_filter(selector)
623
+ cursor: str | None = None
624
+ total_count = 0
625
+ while True:
626
+ page = self.client.tool.events.paginate(
627
+ filter=filter_,
628
+ limit=self.CHUNK_SIZE,
629
+ cursor=cursor,
630
+ )
631
+ self._collect_dependencies(page.items, selector)
632
+ yield Page(worker_id="main", items=page.items)
633
+ total_count += len(page.items)
634
+ if page.next_cursor is None or (limit is not None and total_count >= limit):
635
+ break
636
+ cursor = page.next_cursor
629
637
 
630
638
  def data_to_json_chunk(
631
- self, data_chunk: Sequence[Event], selector: AssetCentricSelector | None = None
639
+ self, data_chunk: Sequence[EventResponse], selector: AssetCentricSelector | None = None
632
640
  ) -> list[dict[str, JsonVal]]:
633
641
  # Ensure data sets/assets are looked up to populate cache.
634
642
  self._populate_data_set_id_cache(data_chunk)
@@ -636,17 +644,19 @@ class EventIO(UploadableAssetCentricIO[Event, EventWrite]):
636
644
 
637
645
  return [self._crud.dump_resource(item) for item in data_chunk]
638
646
 
639
- def json_chunk_to_data(self, data_chunk: list[tuple[str, dict[str, JsonVal]]]) -> Sequence[UploadItem[EventWrite]]:
647
+ def json_chunk_to_data(
648
+ self, data_chunk: list[tuple[str, dict[str, JsonVal]]]
649
+ ) -> Sequence[UploadItem[EventRequest]]:
640
650
  chunks = [item_json for _, item_json in data_chunk]
641
651
  self._populate_asset_external_ids_cache(chunks)
642
652
  self._populate_data_set_external_id_cache(chunks)
643
653
  return super().json_chunk_to_data(data_chunk)
644
654
 
645
- def json_to_resource(self, item_json: dict[str, JsonVal]) -> EventWrite:
655
+ def json_to_resource(self, item_json: dict[str, JsonVal]) -> EventRequest:
646
656
  return self._crud.load_resource(item_json)
647
657
 
648
- def retrieve(self, ids: Sequence[int]) -> EventList:
649
- return self.client.events.retrieve_multiple(ids)
658
+ def retrieve(self, ids: Sequence[int]) -> list[EventResponse]:
659
+ return self.client.tool.events.retrieve(InternalId.from_ids(ids))
650
660
 
651
661
 
652
662
  class HierarchyIO(ConfigurableStorageIO[AssetCentricSelector, AssetCentricResource]):
@@ -4,13 +4,14 @@ from dataclasses import dataclass
4
4
  from typing import ClassVar, Generic, Literal, TypeVar
5
5
 
6
6
  from cognite_toolkit._cdf_tk.client import ToolkitClient
7
+ from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, HTTPMessage, ItemsRequest
7
8
  from cognite_toolkit._cdf_tk.exceptions import ToolkitNotImplementedError
8
9
  from cognite_toolkit._cdf_tk.protocols import T_ResourceRequest, T_ResourceResponse
9
10
  from cognite_toolkit._cdf_tk.utils.collection import chunker
10
11
  from cognite_toolkit._cdf_tk.utils.fileio import MultiFileReader, SchemaColumn
11
- from cognite_toolkit._cdf_tk.utils.http_client import HTTPClient, HTTPMessage, ItemsRequest
12
12
  from cognite_toolkit._cdf_tk.utils.useful_types import JsonVal
13
13
 
14
+ from .logger import DataLogger, NoOpLogger
14
15
  from .selectors import DataSelector
15
16
 
16
17
 
@@ -76,6 +77,7 @@ class StorageIO(ABC, Generic[T_Selector, T_ResourceResponse]):
76
77
 
77
78
  def __init__(self, client: ToolkitClient) -> None:
78
79
  self.client = client
80
+ self.logger: DataLogger = NoOpLogger()
79
81
 
80
82
  @abstractmethod
81
83
  def as_id(self, item: T_ResourceResponse) -> str:
@@ -15,6 +15,13 @@ from cognite.client.data_classes.filters import Exists
15
15
  from cognite.client.data_classes.time_series import TimeSeriesProperty
16
16
 
17
17
  from cognite_toolkit._cdf_tk.client import ToolkitClient
18
+ from cognite_toolkit._cdf_tk.client.http_client import (
19
+ DataBodyRequest,
20
+ HTTPClient,
21
+ HTTPMessage,
22
+ SimpleBodyRequest,
23
+ SuccessResponse,
24
+ )
18
25
  from cognite_toolkit._cdf_tk.exceptions import ToolkitNotImplementedError
19
26
  from cognite_toolkit._cdf_tk.tk_warnings import HighSeverityWarning
20
27
  from cognite_toolkit._cdf_tk.utils import humanize_collection
@@ -26,13 +33,6 @@ from cognite_toolkit._cdf_tk.utils.dtype_conversion import (
26
33
  )
27
34
  from cognite_toolkit._cdf_tk.utils.fileio import SchemaColumn
28
35
  from cognite_toolkit._cdf_tk.utils.fileio._readers import MultiFileReader
29
- from cognite_toolkit._cdf_tk.utils.http_client import (
30
- DataBodyRequest,
31
- HTTPClient,
32
- HTTPMessage,
33
- SimpleBodyRequest,
34
- SuccessResponse,
35
- )
36
36
  from cognite_toolkit._cdf_tk.utils.useful_types import JsonVal
37
37
 
38
38
  from ._base import Page, TableStorageIO, TableUploadableStorageIO, UploadItem