cognite-toolkit 0.7.31__py3-none-any.whl → 0.7.33__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 (36) hide show
  1. cognite_toolkit/_cdf.py +5 -6
  2. cognite_toolkit/_cdf_tk/apps/__init__.py +2 -0
  3. cognite_toolkit/_cdf_tk/apps/_import_app.py +41 -0
  4. cognite_toolkit/_cdf_tk/apps/_migrate_app.py +76 -2
  5. cognite_toolkit/_cdf_tk/client/api/extended_functions.py +9 -9
  6. cognite_toolkit/_cdf_tk/client/api/infield.py +23 -17
  7. cognite_toolkit/_cdf_tk/client/api/project.py +8 -7
  8. cognite_toolkit/_cdf_tk/client/api/streams.py +19 -14
  9. cognite_toolkit/_cdf_tk/client/api/three_d.py +89 -8
  10. cognite_toolkit/_cdf_tk/client/data_classes/base.py +6 -22
  11. cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +18 -13
  12. cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +6 -0
  13. cognite_toolkit/_cdf_tk/client/testing.py +6 -0
  14. cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +32 -1
  15. cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +93 -7
  16. cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +18 -0
  17. cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +107 -1
  18. cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +164 -5
  19. cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +10 -1
  20. cognite_toolkit/_cdf_tk/storageio/selectors/_three_d.py +34 -0
  21. cognite_toolkit/_cdf_tk/utils/http_client/__init__.py +28 -0
  22. cognite_toolkit/_cdf_tk/utils/http_client/_client.py +3 -2
  23. cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +69 -7
  24. cognite_toolkit/_cdf_tk/utils/interactive_select.py +47 -0
  25. cognite_toolkit/_cdf_tk/validation.py +4 -0
  26. cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
  27. cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
  28. cognite_toolkit/_resources/cdf.toml +1 -1
  29. cognite_toolkit/_version.py +1 -1
  30. {cognite_toolkit-0.7.31.dist-info → cognite_toolkit-0.7.33.dist-info}/METADATA +1 -1
  31. {cognite_toolkit-0.7.31.dist-info → cognite_toolkit-0.7.33.dist-info}/RECORD +34 -34
  32. {cognite_toolkit-0.7.31.dist-info → cognite_toolkit-0.7.33.dist-info}/WHEEL +1 -1
  33. cognite_toolkit/_cdf_tk/prototypes/commands/__init__.py +0 -0
  34. cognite_toolkit/_cdf_tk/prototypes/import_app.py +0 -41
  35. /cognite_toolkit/_cdf_tk/{prototypes/commands/import_.py → commands/_import_cmd.py} +0 -0
  36. {cognite_toolkit-0.7.31.dist-info → cognite_toolkit-0.7.33.dist-info}/entry_points.txt +0 -0
@@ -38,9 +38,12 @@ from ._instances import (
38
38
  SelectedView,
39
39
  )
40
40
  from ._raw import RawTableSelector, SelectedTable
41
+ from ._three_d import ThreeDModelFilteredSelector, ThreeDModelIdSelector, ThreeDSelector
41
42
 
42
43
  Selector = Annotated[
43
44
  RawTableSelector
45
+ | ThreeDModelIdSelector
46
+ | ThreeDModelFilteredSelector
44
47
  | InstanceViewSelector
45
48
  | InstanceFileSelector
46
49
  | InstanceSpaceSelector
@@ -60,7 +63,7 @@ Selector = Annotated[
60
63
  ]
61
64
 
62
65
  ALPHA_SELECTORS = {FileIdentifierSelector}
63
-
66
+ INTERNAL = {ThreeDModelIdSelector, ThreeDModelFilteredSelector}
64
67
  SelectorAdapter: TypeAdapter[Selector] = TypeAdapter(Selector)
65
68
 
66
69
 
@@ -83,6 +86,10 @@ def load_selector(manifest_file: Path) -> Selector | ToolkitWarning:
83
86
  return MediumSeverityWarning(
84
87
  f"Selector type '{type(selector).__name__}' in file '{manifest_file}' is in alpha. To enable it set the alpha flag 'extend-upload = true' in your CDF.toml file."
85
88
  )
89
+ elif type(selector) in INTERNAL:
90
+ return MediumSeverityWarning(
91
+ f"Selector type '{type(selector).__name__}' in file '{manifest_file}' is for internal use only and cannot be used."
92
+ )
86
93
  return selector
87
94
 
88
95
 
@@ -119,6 +126,8 @@ __all__ = [
119
126
  "SelectedView",
120
127
  "Selector",
121
128
  "SelectorAdapter",
129
+ "ThreeDModelIdSelector",
130
+ "ThreeDSelector",
122
131
  "TimeSeriesColumn",
123
132
  "load_selector",
124
133
  ]
@@ -0,0 +1,34 @@
1
+ import hashlib
2
+ from abc import ABC
3
+ from typing import Literal
4
+
5
+ from ._base import DataSelector
6
+
7
+
8
+ class ThreeDSelector(DataSelector, ABC):
9
+ kind: Literal["3D"] = "3D"
10
+
11
+ @property
12
+ def group(self) -> str:
13
+ return "3DModels"
14
+
15
+
16
+ class ThreeDModelFilteredSelector(ThreeDSelector):
17
+ type: Literal["3DFiltered"] = "3DFiltered"
18
+ model_type: Literal["Classic", "DataModel"] = "Classic"
19
+ published: bool | None = None
20
+
21
+ def __str__(self) -> str:
22
+ suffix = f"3DModels_{self.model_type}"
23
+ if self.published is not None:
24
+ return f"{suffix}_published_{self.published}"
25
+ return suffix
26
+
27
+
28
+ class ThreeDModelIdSelector(ThreeDSelector):
29
+ type: Literal["3DId"] = "3DId"
30
+ ids: tuple[int, ...]
31
+
32
+ def __str__(self) -> str:
33
+ hash_ = hashlib.md5(",".join(sorted(map(str, self.ids))).encode()).hexdigest()[:8]
34
+ return f"3DModels_ids_count_{len(self.ids)}_hash_{hash_}"
@@ -17,25 +17,53 @@ from ._data_classes import (
17
17
  SuccessResponse,
18
18
  SuccessResponseItems,
19
19
  )
20
+ from ._data_classes2 import (
21
+ BaseModelObject,
22
+ ErrorDetails2,
23
+ FailedRequest2,
24
+ FailedResponse2,
25
+ HTTPResult2,
26
+ ItemsFailedRequest2,
27
+ ItemsFailedResponse2,
28
+ ItemsRequest2,
29
+ ItemsResultMessage2,
30
+ ItemsSuccessResponse2,
31
+ RequestMessage2,
32
+ RequestResource,
33
+ SuccessResponse2,
34
+ )
20
35
  from ._exception import ToolkitAPIError
21
36
 
22
37
  __all__ = [
38
+ "BaseModelObject",
23
39
  "DataBodyRequest",
24
40
  "ErrorDetails",
41
+ "ErrorDetails2",
42
+ "FailedRequest2",
25
43
  "FailedRequestItems",
26
44
  "FailedRequestMessage",
27
45
  "FailedResponse",
46
+ "FailedResponse2",
28
47
  "FailedResponseItems",
29
48
  "HTTPClient",
30
49
  "HTTPMessage",
50
+ "HTTPResult2",
31
51
  "ItemMessage",
52
+ "ItemsFailedRequest2",
53
+ "ItemsFailedResponse2",
32
54
  "ItemsRequest",
55
+ "ItemsRequest2",
56
+ "ItemsResultMessage2",
57
+ "ItemsSuccessResponse2",
33
58
  "ParamRequest",
34
59
  "RequestMessage",
60
+ "RequestMessage2",
61
+ "RequestResource",
35
62
  "ResponseList",
36
63
  "ResponseMessage",
37
64
  "SimpleBodyRequest",
38
65
  "SuccessResponse",
66
+ "SuccessResponse2",
39
67
  "SuccessResponseItems",
40
68
  "ToolkitAPIError",
41
69
  ]
@@ -32,6 +32,7 @@ from cognite_toolkit._cdf_tk.utils.http_client._data_classes2 import (
32
32
  ItemsFailedRequest2,
33
33
  ItemsFailedResponse2,
34
34
  ItemsRequest2,
35
+ ItemsResultList,
35
36
  ItemsResultMessage2,
36
37
  ItemsSuccessResponse2,
37
38
  RequestMessage2,
@@ -424,7 +425,7 @@ class HTTPClient:
424
425
  results = self._handle_items_error(e, message)
425
426
  return results
426
427
 
427
- def request_items_retries(self, message: ItemsRequest2) -> Sequence[ItemsResultMessage2]:
428
+ def request_items_retries(self, message: ItemsRequest2) -> ItemsResultList:
428
429
  """Send an HTTP request with multiple items and handle retries.
429
430
 
430
431
  This method will keep retrying the request until it either succeeds or
@@ -442,7 +443,7 @@ class HTTPClient:
442
443
  raise RuntimeError(f"ItemsRequest2 has already been attempted {message.total_attempts} times.")
443
444
  pending_requests: deque[ItemsRequest2] = deque()
444
445
  pending_requests.append(message)
445
- final_responses: list[ItemsResultMessage2] = []
446
+ final_responses = ItemsResultList([])
446
447
  while pending_requests:
447
448
  current_request = pending_requests.popleft()
448
449
  results = self.request_items(current_request)
@@ -1,7 +1,8 @@
1
1
  import gzip
2
2
  import sys
3
3
  from abc import ABC, abstractmethod
4
- from collections.abc import Hashable
4
+ from collections import UserList
5
+ from collections.abc import Hashable, Sequence
5
6
  from typing import Any, Literal
6
7
 
7
8
  import httpx
@@ -9,6 +10,7 @@ from cognite.client import global_config
9
10
  from pydantic import BaseModel, ConfigDict, Field, JsonValue, TypeAdapter, model_validator
10
11
  from pydantic.alias_generators import to_camel
11
12
 
13
+ from cognite_toolkit._cdf_tk.utils.http_client._exception import ToolkitAPIError
12
14
  from cognite_toolkit._cdf_tk.utils.http_client._tracker import ItemsRequestTracker
13
15
  from cognite_toolkit._cdf_tk.utils.useful_types import PrimitiveType
14
16
 
@@ -18,7 +20,19 @@ else:
18
20
  from typing_extensions import Self
19
21
 
20
22
 
21
- class HTTPResult2(BaseModel): ...
23
+ class HTTPResult2(BaseModel):
24
+ def get_success_or_raise(self) -> "SuccessResponse2":
25
+ """Raises an exception if any response in the list indicates a failure."""
26
+ if isinstance(self, SuccessResponse2):
27
+ return self
28
+ elif isinstance(self, FailedResponse2):
29
+ raise ToolkitAPIError(
30
+ f"Request failed with status code {self.status_code}: {self.error.code} - {self.error.message}"
31
+ )
32
+ elif isinstance(self, FailedRequest2):
33
+ raise ToolkitAPIError(f"Request failed with error: {self.error}")
34
+ else:
35
+ raise ToolkitAPIError("Unknown HTTPResult2 type")
22
36
 
23
37
 
24
38
  class FailedRequest2(HTTPResult2):
@@ -30,6 +44,11 @@ class SuccessResponse2(HTTPResult2):
30
44
  body: str
31
45
  content: bytes
32
46
 
47
+ @property
48
+ def body_json(self) -> dict[str, Any]:
49
+ """Parse the response body as JSON."""
50
+ return TypeAdapter(dict[str, JsonValue]).validate_json(self.body)
51
+
33
52
 
34
53
  class ErrorDetails2(BaseModel):
35
54
  """This is the expected structure of error details in the CDF API"""
@@ -98,8 +117,8 @@ class RequestMessage2(BaseRequestMessage):
98
117
  # We serialize using pydantic instead of json.dumps. This is because pydantic is faster
99
118
  # and handles more complex types such as datetime, float('nan'), etc.
100
119
  data = _BODY_SERIALIZER.dump_json(self.body_content)
101
- if not global_config.disable_gzip and isinstance(data, str):
102
- data = gzip.compress(data.encode("utf-8"))
120
+ if not global_config.disable_gzip and isinstance(data, bytes):
121
+ data = gzip.compress(data)
103
122
  return data
104
123
 
105
124
 
@@ -158,7 +177,7 @@ def _set_default_tracker(data: dict[str, Any]) -> ItemsRequestTracker:
158
177
 
159
178
  class ItemsRequest2(BaseRequestMessage):
160
179
  model_config = ConfigDict(arbitrary_types_allowed=True)
161
- items: list[RequestResource]
180
+ items: Sequence[RequestResource]
162
181
  extra_body_fields: dict[str, JsonValue] | None = None
163
182
  max_failures_before_abort: int = 50
164
183
  tracker: ItemsRequestTracker = Field(init=False, default_factory=_set_default_tracker, exclude=True)
@@ -169,8 +188,8 @@ class ItemsRequest2(BaseRequestMessage):
169
188
  if self.extra_body_fields:
170
189
  body.update(self.extra_body_fields)
171
190
  res = _BODY_SERIALIZER.dump_json(body)
172
- if not global_config.disable_gzip and isinstance(res, str):
173
- return gzip.compress(res.encode("utf-8"))
191
+ if not global_config.disable_gzip and isinstance(res, bytes):
192
+ return gzip.compress(res)
174
193
  return res
175
194
 
176
195
  def split(self, status_attempts: int) -> list["ItemsRequest2"]:
@@ -185,3 +204,46 @@ class ItemsRequest2(BaseRequestMessage):
185
204
  new_request.tracker = self.tracker
186
205
  messages.append(new_request)
187
206
  return messages
207
+
208
+
209
+ class ItemResponse(BaseModel):
210
+ items: list[dict[str, JsonValue]]
211
+
212
+
213
+ class ItemsResultList(UserList[ItemsResultMessage2]):
214
+ def __init__(self, collection: Sequence[ItemsResultMessage2] | None = None) -> None:
215
+ super().__init__(collection or [])
216
+
217
+ def raise_for_status(self) -> None:
218
+ """Raises an exception if any response in the list indicates a failure."""
219
+ failed_responses = [resp for resp in self.data if isinstance(resp, ItemsFailedResponse2)]
220
+ failed_requests = [resp for resp in self.data if isinstance(resp, ItemsFailedRequest2)]
221
+ if not failed_responses and not failed_requests:
222
+ return
223
+ error_messages = "; ".join(f"Status {err.status_code}: {err.error.message}" for err in failed_responses)
224
+ if failed_requests:
225
+ if error_messages:
226
+ error_messages += "; "
227
+ error_messages += "; ".join(f"Request error: {err.error_message}" for err in failed_requests)
228
+ raise ToolkitAPIError(f"One or more requests failed: {error_messages}")
229
+
230
+ @property
231
+ def has_failed(self) -> bool:
232
+ """Indicates whether any response in the list indicates a failure.
233
+
234
+ Returns:
235
+ bool: True if there are any failed responses or requests, False otherwise.
236
+ """
237
+ for resp in self.data:
238
+ if isinstance(resp, ItemsFailedResponse2 | ItemsFailedRequest2):
239
+ return True
240
+ return False
241
+
242
+ def get_items(self) -> list[dict[str, JsonValue]]:
243
+ """Get the items from all successful responses."""
244
+ items: list[dict[str, JsonValue]] = []
245
+ for resp in self.data:
246
+ if isinstance(resp, ItemsSuccessResponse2):
247
+ body_json = ItemResponse.model_validate_json(resp.body)
248
+ items.extend(body_json.items)
249
+ return items
@@ -25,6 +25,7 @@ from cognite_toolkit._cdf_tk.client.data_classes.canvas import Canvas
25
25
  from cognite_toolkit._cdf_tk.client.data_classes.charts import Chart, ChartList, Visibility
26
26
  from cognite_toolkit._cdf_tk.client.data_classes.migration import ResourceViewMapping
27
27
  from cognite_toolkit._cdf_tk.client.data_classes.raw import RawTable
28
+ from cognite_toolkit._cdf_tk.client.data_classes.three_d import ThreeDModelResponse
28
29
  from cognite_toolkit._cdf_tk.exceptions import ToolkitMissingResourceError, ToolkitValueError
29
30
 
30
31
  from . import humanize_collection
@@ -823,3 +824,49 @@ class ResourceViewMappingInteractiveSelect:
823
824
  f"Selected Resource View Mapping is not a valid ResourceViewMapping object: {selected_mapping!r}"
824
825
  )
825
826
  return selected_mapping
827
+
828
+
829
+ class ThreeDInteractiveSelect:
830
+ def __init__(self, client: ToolkitClient, operation: str) -> None:
831
+ self.client = client
832
+ self.operation = operation
833
+
834
+ def select_three_d_models(self, model_type: Literal["classic", "dm"] | None = None) -> list[ThreeDModelResponse]:
835
+ """Select multiple 3D models interactively."""
836
+ if model_type is None:
837
+ model_type = questionary.select(
838
+ f"What type of 3D models do you want to {self.operation}?",
839
+ choices=[
840
+ Choice(title="Classic models", value="classic"),
841
+ Choice(title="Data modeling 3D", value="dm"),
842
+ ],
843
+ ).ask()
844
+ if model_type is None:
845
+ raise ToolkitValueError("No 3D model type selected.")
846
+ published = questionary.select(
847
+ f"Do you want to {self.operation} published or unpublished 3D models?",
848
+ choices=[
849
+ Choice(title="Published models", value=True),
850
+ Choice(title="Unpublished models", value=False),
851
+ Choice(title="Both published and unpublished models", value=None),
852
+ ],
853
+ ).ask()
854
+
855
+ models = self.client.tool.three_d.models.list(published=published, include_revision_info=True, limit=None)
856
+ if model_type == "classic":
857
+ models = [model for model in models if model.space is None]
858
+ else:
859
+ models = [model for model in models if model.space is not None]
860
+ if not models:
861
+ raise ToolkitMissingResourceError(
862
+ f"No 3D models found for type {model_type!r} with published={published!r}."
863
+ )
864
+
865
+ choices = [Choice(title=f"{model.name} ({model.id})", value=model) for model in models]
866
+ selected_models = questionary.checkbox(
867
+ f"Select 3D models to {self.operation}:",
868
+ choices=choices,
869
+ ).ask()
870
+ if selected_models is None or len(selected_models) == 0:
871
+ raise ToolkitValueError("No 3D models selected.")
872
+ return selected_models
@@ -182,6 +182,10 @@ def humanize_validation_error(error: ValidationError) -> list[str]:
182
182
  "dict_type",
183
183
  }:
184
184
  msg = f"{item['msg']}. Got {item['input']!r} of type {type(item['input']).__name__}."
185
+ elif error_type == "union_tag_not_found" and "ctx" in item and "discriminator" in item["ctx"]:
186
+ # This is when we use a discriminator field to determine the type in a union. For the user, this means they
187
+ # are missing a required field.
188
+ msg = f"Missing required field: {item['ctx']['discriminator']}"
185
189
  else:
186
190
  # Default to the Pydantic error message
187
191
  msg = item["msg"]
@@ -12,7 +12,7 @@ jobs:
12
12
  environment: dev
13
13
  name: Deploy
14
14
  container:
15
- image: cognite/toolkit:0.7.31
15
+ image: cognite/toolkit:0.7.33
16
16
  env:
17
17
  CDF_CLUSTER: ${{ vars.CDF_CLUSTER }}
18
18
  CDF_PROJECT: ${{ vars.CDF_PROJECT }}
@@ -10,7 +10,7 @@ jobs:
10
10
  environment: dev
11
11
  name: Deploy Dry Run
12
12
  container:
13
- image: cognite/toolkit:0.7.31
13
+ image: cognite/toolkit:0.7.33
14
14
  env:
15
15
  CDF_CLUSTER: ${{ vars.CDF_CLUSTER }}
16
16
  CDF_PROJECT: ${{ vars.CDF_PROJECT }}
@@ -4,7 +4,7 @@ default_env = "<DEFAULT_ENV_PLACEHOLDER>"
4
4
  [modules]
5
5
  # This is the version of the modules. It should not be changed manually.
6
6
  # It will be updated by the 'cdf modules upgrade' command.
7
- version = "0.7.31"
7
+ version = "0.7.33"
8
8
 
9
9
 
10
10
  [plugins]
@@ -1 +1 @@
1
- __version__ = "0.7.31"
1
+ __version__ = "0.7.33"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.7.31
3
+ Version: 0.7.33
4
4
  Summary: Official Cognite Data Fusion tool for project templates and configuration deployment
5
5
  Author: Cognite AS
6
6
  Author-email: Cognite AS <support@cognite.com>
@@ -1,15 +1,16 @@
1
1
  cognite_toolkit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- cognite_toolkit/_cdf.py,sha256=sefGD2JQuOTBZhEqSj_ECbNZ7nTRN4AwGwX1pSUhoow,5636
2
+ cognite_toolkit/_cdf.py,sha256=W3VpmgXn3fUtXErTk45Y34qpGbO-nbirsWin_WA4Xe4,5549
3
3
  cognite_toolkit/_cdf_tk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- cognite_toolkit/_cdf_tk/apps/__init__.py,sha256=KKmhbpvPKTwqQS2g_XqAC2yvtPsvdl8wV5TgJA3zqhs,702
4
+ cognite_toolkit/_cdf_tk/apps/__init__.py,sha256=80XM_8Tx7nIav2weV7Ni03Oqy84jDtyDPUtDeSaPk5E,754
5
5
  cognite_toolkit/_cdf_tk/apps/_auth_app.py,sha256=ER7uYb3ViwsHMXiQEZpyhwU6TIjKaB9aEy32VI4MPpg,3397
6
6
  cognite_toolkit/_cdf_tk/apps/_core_app.py,sha256=BiY7GWInq0INa7uCiGQyt4cBs1Eguyr5BBCW14JHo3I,14018
7
7
  cognite_toolkit/_cdf_tk/apps/_data_app.py,sha256=LeplXlxXtyIymRPgbatQrRFodU4VZBFxI0bqDutLSbg,806
8
8
  cognite_toolkit/_cdf_tk/apps/_dev_app.py,sha256=FaY67PFdKwdiMKgJbTcjHT1X2Xfbog2PKL6T-kcawyc,2818
9
9
  cognite_toolkit/_cdf_tk/apps/_download_app.py,sha256=2nPn9P_9br9poynSpKKSZF7WYTYT--BfxlxXkSEeH-8,41156
10
10
  cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=EPq6fWSaScj9ncKfRY253rRJ37er47PIM60IFgkQK_k,37127
11
+ cognite_toolkit/_cdf_tk/apps/_import_app.py,sha256=5n5AF40HJ0Q_3LENCknG0MxH4pMUS8OwsqvtCYj_t7w,2086
11
12
  cognite_toolkit/_cdf_tk/apps/_landing_app.py,sha256=YR9z83OY7PhhgBVC5gmRLgo9iTXoGoZfRhOU3gd_r2o,888
12
- cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=_woM0D2j6VzuYC0LJKteALbQ4U8vGj0B1LSBj_WszKQ,41198
13
+ cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=R7BsckVnPe59Z26mY06NsWSGjq21DwobPBJ3tMfqRhs,43707
13
14
  cognite_toolkit/_cdf_tk/apps/_modules_app.py,sha256=t0SPvulgbgkF_OO2E68mQ_ZUcJ6HoaurYe0IkmXie0o,7449
14
15
  cognite_toolkit/_cdf_tk/apps/_profile_app.py,sha256=vSRJW54bEvIul8_4rOqyOYA7ztXx7TFOvZRZWZTxMbg,7007
15
16
  cognite_toolkit/_cdf_tk/apps/_purge.py,sha256=KYI1wFy7yHFEM1qJnTYc4_8E2FVGu4QhPsWsxop1sZA,14242
@@ -35,15 +36,15 @@ cognite_toolkit/_cdf_tk/client/api/charts.py,sha256=t-VOrRGwpjmYUtUqGObQWYwGb5gO
35
36
  cognite_toolkit/_cdf_tk/client/api/dml.py,sha256=8b1lo86JdvfEsz9mP2rx0Mp9fyWsU6mbXHqLBtvSidU,3546
36
37
  cognite_toolkit/_cdf_tk/client/api/extended_data_modeling.py,sha256=T08lXIrgDRGKhF-44FYoBMd4oJRYiWRzYhHsNkLyLAo,12967
37
38
  cognite_toolkit/_cdf_tk/client/api/extended_files.py,sha256=azdPnCqXUVuPLTuiV9WZ97VJTJ6mN2hOEtD9LklLw8M,9191
38
- cognite_toolkit/_cdf_tk/client/api/extended_functions.py,sha256=_MbkztZskZAt43ZERddhmeZYKHeQSDteFlnaCLL5J6k,3523
39
+ cognite_toolkit/_cdf_tk/client/api/extended_functions.py,sha256=_AAA_p4uVCgMx5_aYuhpv-nWxlj__6qMPc3z3c2Z9n4,3444
39
40
  cognite_toolkit/_cdf_tk/client/api/extended_raw.py,sha256=9DVbM2aWmIyzbaW-lh10_pzVYJUEQFnIKnxvt413Bjk,2118
40
41
  cognite_toolkit/_cdf_tk/client/api/extended_timeseries.py,sha256=xK7XhTfe4W9FvaueUIfR7Q64JOIDwq_svHRjORM76Q4,17774
41
42
  cognite_toolkit/_cdf_tk/client/api/fixed_transformations.py,sha256=m66cqbx4oCtjv5TBQOWLNFrz475qVTCXBu_pTxbdCD4,5589
42
- cognite_toolkit/_cdf_tk/client/api/infield.py,sha256=rtWbt1emyluZwRHKOisMXC6A44QDONHCBIQ9-nxl7Wk,11042
43
+ cognite_toolkit/_cdf_tk/client/api/infield.py,sha256=r_KeHEFs9slr6Zw3N6Ka3-_JBhU8yVW4KcjQ3u5OSFw,11071
43
44
  cognite_toolkit/_cdf_tk/client/api/location_filters.py,sha256=TIbomUbpUNDxOON_a3pwBmCBdltxL1jMQBXKcIjRx44,3759
44
45
  cognite_toolkit/_cdf_tk/client/api/lookup.py,sha256=c-cvtgfGGGYyk8ROcJu44qlo1ocqbk0o1zafCql79fU,17652
45
46
  cognite_toolkit/_cdf_tk/client/api/migration.py,sha256=jjQ-3HyBgEPWO8RB8mI1sp8ZWHrUmtaYsufuUGp_3ew,23055
46
- cognite_toolkit/_cdf_tk/client/api/project.py,sha256=Hj0uDCLyPofG-T4626EdeoRRtBaovhU-SMAQ7VWJ1M4,1063
47
+ cognite_toolkit/_cdf_tk/client/api/project.py,sha256=Fb3ag9-Q5L4c2YyIwO_Rg9RJSX1HvQBjUrSAnmmoHZA,1081
47
48
  cognite_toolkit/_cdf_tk/client/api/robotics/__init__.py,sha256=6xDSr24_IkLRx_kAKU0_e6_sqnxVWcQChnML_NJqnIQ,56
48
49
  cognite_toolkit/_cdf_tk/client/api/robotics/api.py,sha256=o_wQLlctAY4pkwJhcXcPnox3YC_kQmUFezQhjR76jrU,981
49
50
  cognite_toolkit/_cdf_tk/client/api/robotics/capabilities.py,sha256=YXorz89ELxuSDyMAx31p3ROaCFrbutLkwGaayP5CQkM,4429
@@ -55,8 +56,8 @@ cognite_toolkit/_cdf_tk/client/api/robotics/robots.py,sha256=J0GN8FjfZ9iUO_rcc6e
55
56
  cognite_toolkit/_cdf_tk/client/api/robotics/utlis.py,sha256=EMwyrIb9CfM1q6HAfPe6qqfmE1Gdm_UiM8XicsbEAzE,329
56
57
  cognite_toolkit/_cdf_tk/client/api/search.py,sha256=L4cDPip7pJVP7bEgAiSOjqINIHg8AULNBtR29G5khEQ,612
57
58
  cognite_toolkit/_cdf_tk/client/api/search_config.py,sha256=31rPCSOnzfiLv8FKU6F3tF9ZesEV8moSlbnkFPNh13g,1824
58
- cognite_toolkit/_cdf_tk/client/api/streams.py,sha256=4u5jRdbhxKbVR8OLURyVwehHgoejFxArjUAGni78PNY,3015
59
- cognite_toolkit/_cdf_tk/client/api/three_d.py,sha256=2jMBrdHBERcXn7qIRHZjRtlfXXIIDGoMyfkSGPrl8jE,2022
59
+ cognite_toolkit/_cdf_tk/client/api/streams.py,sha256=qOUFHdpz75PSlfImIizVCtschLLHttR8AUV0Jw3DTRM,3055
60
+ cognite_toolkit/_cdf_tk/client/api/three_d.py,sha256=zvzyeeAz8P2h0_yC-i-PAqe-kl8ocyOAZbQ3Y3_O3Wo,4949
60
61
  cognite_toolkit/_cdf_tk/client/api/token.py,sha256=8SiA44Dwsx0j_X8lgIxl2rdNCQSdEiSfoD_4ybxMtFA,5131
61
62
  cognite_toolkit/_cdf_tk/client/api/verify.py,sha256=-x6z6lMaOZG91adi0m9NtJ4wIQgoZURbzluPALXM-ps,3730
62
63
  cognite_toolkit/_cdf_tk/client/api_client.py,sha256=CQdD_gfDqQkz5OYHrTnKvBvEvzHPdHDB1BkZPWRoahg,440
@@ -64,7 +65,7 @@ cognite_toolkit/_cdf_tk/client/config.py,sha256=weMR43z-gqHMn-Jqvfmh_nJ0HbgEdyeC
64
65
  cognite_toolkit/_cdf_tk/client/data_classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
66
  cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py,sha256=X-aGFnYzSxXYDxlFP2rqJ8P10Um7bcRRUZxVVzblYBw,477
66
67
  cognite_toolkit/_cdf_tk/client/data_classes/apm_config_v1.py,sha256=0bPq7R0qvdf8SMFS06kX7TXHIClDcJNHwdTBweQB-GU,20150
67
- cognite_toolkit/_cdf_tk/client/data_classes/base.py,sha256=QG4S0HlByMB6zwxUXWaVHwP-DrA2Y97XGN_o6QsL6FY,2776
68
+ cognite_toolkit/_cdf_tk/client/data_classes/base.py,sha256=VtqQv2xVV5J81Ls8Y-tvsITKnUCOfjhQwFijwqNIIuU,2303
68
69
  cognite_toolkit/_cdf_tk/client/data_classes/canvas.py,sha256=DrE-7HOLnk1ELhydySsEhw-VOjriUqB_zzon5qb7CDk,50721
69
70
  cognite_toolkit/_cdf_tk/client/data_classes/capabilities.py,sha256=muqpAC2JLCFcEpRPzuh_3sS3o_q42WFyfsGzl-LfB_U,8773
70
71
  cognite_toolkit/_cdf_tk/client/data_classes/charts.py,sha256=4ZSZDJhDP8uNubXfzphuLJzKJhL1F01grB4UesxtSbQ,3745
@@ -76,7 +77,7 @@ cognite_toolkit/_cdf_tk/client/data_classes/extended_timeseries.py,sha256=yAvJCH
76
77
  cognite_toolkit/_cdf_tk/client/data_classes/functions.py,sha256=r9vhkS7sJ-wCiwvtD9CDKKthAktDMS6FJWDsLzq6iJ8,378
77
78
  cognite_toolkit/_cdf_tk/client/data_classes/graphql_data_models.py,sha256=N_1dfXSdsLlhw5uXreNfmSCo5bA4XeiZneMdnHWDgJI,4313
78
79
  cognite_toolkit/_cdf_tk/client/data_classes/infield.py,sha256=xZDpHw190FgX2vK6zk_r8dUJA7J6UzdS8227VOu74ms,4298
79
- cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py,sha256=dCgCYqvQHiuFhe8CRb1_lYderkVHoHWki1vcf07F8tw,4929
80
+ cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py,sha256=ajOCEzRf9OrwR3JyGKNvBkru_Nfpe4PxmcPc8mYB8PE,5065
80
81
  cognite_toolkit/_cdf_tk/client/data_classes/instances.py,sha256=aGV3XtBGwG1ELks3kqFkScO-MGC5zvcSZtYXOVWL2BE,2501
81
82
  cognite_toolkit/_cdf_tk/client/data_classes/location_filters.py,sha256=IgHU7Hto0Zz3Bk_QW17JC3vUw0yN1oaTeJ3ZPKOGFAE,12112
82
83
  cognite_toolkit/_cdf_tk/client/data_classes/migration.py,sha256=AoYgqwSoYn1ok_ksG9Lljb270J4zPF_qyJSu5ZHtD_Q,18632
@@ -88,8 +89,8 @@ cognite_toolkit/_cdf_tk/client/data_classes/search_config.py,sha256=Reo_rcFrwk_s
88
89
  cognite_toolkit/_cdf_tk/client/data_classes/sequences.py,sha256=02d34fPcJ1H7U5ZnCCfOi36z5WJ4WnRfCWwkp99mW2E,6234
89
90
  cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py,sha256=nEk00FH3i-px2r6ql4kk1VVL4sytjUn0_sTkEdDSHVc,6746
90
91
  cognite_toolkit/_cdf_tk/client/data_classes/streams.py,sha256=DHSDrBax81fUzneIikn9hUMVgQVbdaiQ9aY-bRaTK38,2459
91
- cognite_toolkit/_cdf_tk/client/data_classes/three_d.py,sha256=X5BCOZC1B_WOcaC2RbmEscHJ0J9BrY_0oGbB17kpS90,1298
92
- cognite_toolkit/_cdf_tk/client/testing.py,sha256=mXqEXPMZcbETrXBn6D-SiAcjD7xAkuuxCNYJMW0IO0Y,6815
92
+ cognite_toolkit/_cdf_tk/client/data_classes/three_d.py,sha256=9NvZNkbdkHlfzZqV_Kr43eHjpfyfOOxcL9ry7Y_zZ0I,1406
93
+ cognite_toolkit/_cdf_tk/client/testing.py,sha256=V6JcS-fVlpilAt5wE_ygPiLEEdgzTArhiGODMR0yDVw,7072
93
94
  cognite_toolkit/_cdf_tk/client/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
95
  cognite_toolkit/_cdf_tk/client/utils/_concurrency.py,sha256=3GtQbKDaosyKHEt-KzxKK9Yie4TvZPdoou2vUk6dUa8,2298
95
96
  cognite_toolkit/_cdf_tk/client/utils/_http_client.py,sha256=oXNKrIaizG4WiSAhL_kSCHAuL4aaaEhCU4pOJGxh6Xs,483
@@ -98,16 +99,17 @@ cognite_toolkit/_cdf_tk/commands/_base.py,sha256=1gl8Y-yqfedRMfdbwM3iPTIUIZriX1U
98
99
  cognite_toolkit/_cdf_tk/commands/_changes.py,sha256=sU0KaTtPVSJgAZcaZ1Tkcajj36pmhd13kh7V8QbIED8,22987
99
100
  cognite_toolkit/_cdf_tk/commands/_cli_commands.py,sha256=TK6U_rm6VZT_V941kTyHMoulWgJzbDC8YIIQDPJ5x3w,1011
100
101
  cognite_toolkit/_cdf_tk/commands/_download.py,sha256=dVddH9t7oGx1kdQ3CCYYQb96Uxxy-xC8Opph98lo46U,6869
102
+ cognite_toolkit/_cdf_tk/commands/_import_cmd.py,sha256=RkJ7RZI6zxe0_1xrPB-iJhCVchurmIAChilx0_XMR6k,11141
101
103
  cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py,sha256=8ki04tJGH1dHdF2NtVF4HyhaC0XDDS7onrH_nvd9KtE,153
102
104
  cognite_toolkit/_cdf_tk/commands/_migrate/command.py,sha256=l2P0Em05aEJvNZH4WkEIm-QfO3TAjG1rc_YxELuQIQM,14214
103
105
  cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py,sha256=Ew9JRYrd-Ol9G9csTzpnhXAgCFnX67MwDYOTsdJLP3E,16803
104
106
  cognite_toolkit/_cdf_tk/commands/_migrate/creators.py,sha256=FTu7w3G8KyPY8pagG3KdPpOmpLcjehaAg2auEy6iM7A,9605
105
- cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py,sha256=_vMS_qAPj4yup1VnmmojPVigAZtyPQH7PM0Raby5tao,10619
106
- cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py,sha256=b_6_yYibtzWiBFrYq5pB8NZUi1TRuf-DIy_GRroj4wg,18551
107
+ cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py,sha256=uVPO58QtiWvXXlZt8xERFaG9lE0FX1zym8X1yjt_l-Q,11467
108
+ cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py,sha256=Y3x02BwhAlv6x2LEkCHAvONOtE2zKotzmdQkkfMS2eA,22258
107
109
  cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py,sha256=i1eUsNX6Dueol9STIEwyksBnBsWUk13O8qHIjW964pM,7860
108
110
  cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py,sha256=ERn3qFrJFXdtXaMjHq3Gk7MxH03MGFk3FrtWCOBJQts,5544
109
- cognite_toolkit/_cdf_tk/commands/_migrate/issues.py,sha256=n8en744-r7GL9eUyxEojFes1yk69V04SnlpVXHrdPOQ,6972
110
- cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py,sha256=nc77Eu1a2sGS8Pb0bkMgqWebYmWlLbQe8xPCay5aoNo,17208
111
+ cognite_toolkit/_cdf_tk/commands/_migrate/issues.py,sha256=FAgZj0iWydwgXfseUySfiiU1YeGIM9myVr-TijAUm-s,7540
112
+ cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py,sha256=NwJIzSTNJAu1HsqXfMn-VwGr99QFczaHvxKbT3UV4kc,21749
111
113
  cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py,sha256=RfqaNoso5CyBwc-p6ckwcYqBfZXKhdJgdGIyd0TATaI,2635
112
114
  cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py,sha256=N1H_-rBpPUD6pbrlcofn1uEK1bA694EUXEe1zIXeqyo,2489
113
115
  cognite_toolkit/_cdf_tk/commands/_profile.py,sha256=_4iX3AHAI6eLmRVUlWXCSvVHx1BZW2yDr_i2i9ECg6U,43120
@@ -181,9 +183,6 @@ cognite_toolkit/_cdf_tk/feature_flags.py,sha256=X2-penlGM4RlFcX3UXTxXeb85eDrV0Ni
181
183
  cognite_toolkit/_cdf_tk/hints.py,sha256=UI1ymi2T5wCcYOpEbKbVaDnlyFReFy8TDtMVt-5E1h8,6493
182
184
  cognite_toolkit/_cdf_tk/plugins.py,sha256=0V14rceAWLZQF8iWdyL5QmK7xB796YaDEtb9RIj5AOc,836
183
185
  cognite_toolkit/_cdf_tk/protocols.py,sha256=Lc8XnBfmDZN6dwmSopmK7cFE9a9jZ2zdUryEeCXn27I,3052
184
- cognite_toolkit/_cdf_tk/prototypes/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
- cognite_toolkit/_cdf_tk/prototypes/commands/import_.py,sha256=RkJ7RZI6zxe0_1xrPB-iJhCVchurmIAChilx0_XMR6k,11141
186
- cognite_toolkit/_cdf_tk/prototypes/import_app.py,sha256=7dy852cBlHI2RQF1MidSmxl0jPBxekGWXnd2VtI7QFI,1899
187
186
  cognite_toolkit/_cdf_tk/resource_classes/__init__.py,sha256=IR9Qh4p46v_zHpq6VUYzfNuu9L3aSZgOYw5yy7XXiuk,4006
188
187
  cognite_toolkit/_cdf_tk/resource_classes/agent.py,sha256=5rglrj551Z-0eT53S_UmSA3wz4m4Y494QxleWVs0ECE,1786
189
188
  cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py,sha256=oNkpPCQF3CyV9zcD6NTuEAnATLXzslw2GOyFz58ZGZg,2891
@@ -240,7 +239,7 @@ cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py,sha256=2fIrIs
240
239
  cognite_toolkit/_cdf_tk/resource_classes/views.py,sha256=X3uC0E0CsvYHWZQZjXh0PhjpDgLrnmwq-r0GMmZACnI,3518
241
240
  cognite_toolkit/_cdf_tk/resource_classes/workflow.py,sha256=fMNfW93D8tdVwO7YgEYYiYvpktSMx4i0viIFg0gD2VY,512
242
241
  cognite_toolkit/_cdf_tk/resource_classes/workflow_trigger.py,sha256=aSN0WFPupQ383A7RT-0Monw-inkVdYYSsK3UwHXW1HA,5216
243
- cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py,sha256=ui724EaM9Nlm3wTnm7Givgv6GLQ-xbsfZgidyRKv09U,2991
242
+ cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py,sha256=anoDnl8lk8Xa9T2FwpjQ5TrrCMnR4QDjdDxo2OAcKTs,9850
244
243
  cognite_toolkit/_cdf_tk/storageio/__init__.py,sha256=h5Wr4i7zNIgsslrsRJxmp7ls4bNRKl0uZzQ7GLRMP7g,1920
245
244
  cognite_toolkit/_cdf_tk/storageio/_annotations.py,sha256=QcFrikDgz-9VjNy4Xq7wchM4VOQh-z2JaHcWR2C1sEs,4879
246
245
  cognite_toolkit/_cdf_tk/storageio/_applications.py,sha256=M7FEK4xC0BjP2i6FyYs1589zEA3afJiOKCzY56RV6NU,19685
@@ -251,7 +250,7 @@ cognite_toolkit/_cdf_tk/storageio/_datapoints.py,sha256=xE1YgoP98-mJjIeF5536KwCh
251
250
  cognite_toolkit/_cdf_tk/storageio/_file_content.py,sha256=4b1Lr8ZROLZg7MjT7IiCsRhyVAl1KCWtr0fcDtyzk1o,19062
252
251
  cognite_toolkit/_cdf_tk/storageio/_instances.py,sha256=t9fNpHnT6kCk8LDoPj3qZXmHpyDbPF5BZ6pI8ziTyFw,10810
253
252
  cognite_toolkit/_cdf_tk/storageio/_raw.py,sha256=pgZN5MbqDwMZl9Ow1KouDJUO2Ngga8_b6hwv7H31SVQ,5161
254
- cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py,sha256=zPLiF5iCzvKF1fyAOAnTUS2YqHCDzNHaPg3hobvwDuw,3916
253
+ cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py,sha256=5qqgeCrsmMLVsrRuYKxCKq1bNnvJkWeAsATpTKN1eC4,4394
255
254
  cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py,sha256=7Iv_ccVX6Vzt3ZLFZ0Er3hN92iEsFTm9wgF-yermOWE,1467
256
255
  cognite_toolkit/_cdf_tk/storageio/selectors/_base.py,sha256=hjFkbmNGsK3QIW-jnJV_8YNmvVROERxzG82qIZhU7SM,3065
257
256
  cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py,sha256=E9S-wr-JUqRosI_2cSCfR0tF8MdIFTrMxDItuWRcuO4,597
@@ -260,6 +259,7 @@ cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py,sha256=qdR9wttPUoHZIR
260
259
  cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py,sha256=e7riknOinuhJszkROHeg7iv3foiVz7mIJmva6lMTiOs,5116
261
260
  cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py,sha256=NCFSJrAw52bNX6UTfOali8PvNjlqHnvxzL0hYBr7ZmA,4934
262
261
  cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py,sha256=sZq9C4G9DMe3S46_usKet0FphQ6ow7cWM_PfXrEAakk,503
262
+ cognite_toolkit/_cdf_tk/storageio/selectors/_three_d.py,sha256=0dT1vVG6EIyo0OJK3t_vwtE63i0dZvH8nZT7ebl1Ku0,924
263
263
  cognite_toolkit/_cdf_tk/tk_warnings/__init__.py,sha256=U9bT-G2xKrX6mmtZ7nZ1FfQeCjNKfKP_p7pev90dwOE,2316
264
264
  cognite_toolkit/_cdf_tk/tk_warnings/base.py,sha256=cX8TCmb56gqx3lc7dankXuqpm5HGASJ4wTb07-MCJWs,4401
265
265
  cognite_toolkit/_cdf_tk/tk_warnings/fileread.py,sha256=d2Kx6YyLmCkyFNjK8MO6eKGceCIEaFLZ4LYcG-EjnuM,8947
@@ -284,13 +284,13 @@ cognite_toolkit/_cdf_tk/utils/fileio/_readers.py,sha256=IjOSHyW0GiID_lKdgAwQZao9
284
284
  cognite_toolkit/_cdf_tk/utils/fileio/_writers.py,sha256=mc23m0kJgl57FUDvwLmS7yR3xVZWQguPJa_63-qQ_L0,17731
285
285
  cognite_toolkit/_cdf_tk/utils/graphql_parser.py,sha256=2i2wDjg_Uw3hJ-pHtPK8hczIuCj5atrK8HZbgWJB-Pk,11532
286
286
  cognite_toolkit/_cdf_tk/utils/hashing.py,sha256=3NyNfljyYNTqAyAFBd6XlyWaj43jRzENxIuPdOY6nqo,2116
287
- cognite_toolkit/_cdf_tk/utils/http_client/__init__.py,sha256=G8b7Bg4yIet5R4Igh3dS2SntWzE6I0iTGBeNlNsSxkQ,857
288
- cognite_toolkit/_cdf_tk/utils/http_client/_client.py,sha256=WQFqzjWobjUYEcO1YV9uOMaoRrfi4APuDFrZakD86BQ,22496
287
+ cognite_toolkit/_cdf_tk/utils/http_client/__init__.py,sha256=MG3rAi5IiLxqlCMyVvzyfsKXMb_3fVxwAZ7uyPXrMvs,1483
288
+ cognite_toolkit/_cdf_tk/utils/http_client/_client.py,sha256=1nKMop_ORrGXybG-KDmC3rlcKs8cseLWSkPkMTFWRyw,22493
289
289
  cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py,sha256=8KEDyRRaOLhwN2eA2vaBAzZ__JDUicUDyir6x_PE5lk,14817
290
- cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py,sha256=mg0BfP7Te5TSgljPFWI0atLtIGa9OPb50jEAXpkzVXE,6078
290
+ cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py,sha256=Qqy7OEg8MGF9EksDUcn39fq6GpC_SrbWbyt-UGqD80Q,8811
291
291
  cognite_toolkit/_cdf_tk/utils/http_client/_exception.py,sha256=fC9oW6BN0HbUe2AkYABMP7Kj0-9dNYXVFBY5RQztq2c,126
292
292
  cognite_toolkit/_cdf_tk/utils/http_client/_tracker.py,sha256=EBBnd-JZ7nc_jYNFJokCHN2UZ9sx0McFLZvlceUYYic,1215
293
- cognite_toolkit/_cdf_tk/utils/interactive_select.py,sha256=dP_ZFHvzQRPQxRt6EzURY3Z3Ld_otJtCz-nGqUNtt1k,35725
293
+ cognite_toolkit/_cdf_tk/utils/interactive_select.py,sha256=v3O3vLc1HhHG_StLn8VtrRueREZ_Zag6EFqgfZXc2WU,37879
294
294
  cognite_toolkit/_cdf_tk/utils/modules.py,sha256=9RvOGUaGEi_-A7Qrq0E1tCx82QK8GbvEZXB7r1RnD_U,5974
295
295
  cognite_toolkit/_cdf_tk/utils/producer_worker.py,sha256=1l77HIehkq1ARCBH6SlZ_V-jd6QKijYKeWetcUmAXg0,14216
296
296
  cognite_toolkit/_cdf_tk/utils/progress_tracker.py,sha256=LGpC22iSTTlo6FWi38kqBu_E4XouTvZU_N953WAzZWA,3865
@@ -301,20 +301,20 @@ cognite_toolkit/_cdf_tk/utils/text.py,sha256=1-LQMo633_hEhNhishQo7Buj-7np5Pe4qKk
301
301
  cognite_toolkit/_cdf_tk/utils/thread_safe_dict.py,sha256=NbRHcZvWpF9xHP5OkOMGFpxrPNbi0Q3Eea6PUNbGlt4,3426
302
302
  cognite_toolkit/_cdf_tk/utils/useful_types.py,sha256=oK88W6G_aK3hebORSQKZjWrq7jG-pO2lkLWSWYMlngM,1872
303
303
  cognite_toolkit/_cdf_tk/utils/validate_access.py,sha256=1puswcpgEDNCwdk91dhLqCBSu_aaUAd3Hsw21d-YVFs,21955
304
- cognite_toolkit/_cdf_tk/validation.py,sha256=ixxYJA96EYZwFeo3vHjGfuHsFbbPgAJ3RQ-Sh0-PMok,11790
304
+ cognite_toolkit/_cdf_tk/validation.py,sha256=9v0ucMnt8YK0SZtbzEjtp8nMstehmKVHnuwyPf5kQI8,12133
305
305
  cognite_toolkit/_repo_files/.env.tmpl,sha256=UmgKZVvIp-OzD8oOcYuwb_6c7vSJsqkLhuFaiVgK7RI,972
306
306
  cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi6urlpTZ3k,5274
307
307
  cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
308
308
  cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
309
309
  cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=OBFDhFWK1mlT4Dc6mDUE2Es834l8sAlYG50-5RxRtHk,723
310
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=Ft9lViXmay2AajHAwOiFbP1BYBIlVHvxu56qFQlN9Zk,667
311
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=_gR9FBSVup2h_P2iTlKRvnxV5kdRMZFvHLo-fK6o_Zc,2430
312
- cognite_toolkit/_resources/cdf.toml,sha256=3YM8T2ivUqrfocBzLTYRWCWyeYXyXfM7wRSY1Zxa7k8,475
313
- cognite_toolkit/_version.py,sha256=CtvyqFRtdJwNvYSDVmaT9l1R18bsaIwflR8r696jttk,23
310
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=RIV-MDRX1qH0MizvAq4038NFQyux2jnjgQoG8H0Xbj8,667
311
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=FDRUWleXR81HUHROCib7RbLqkBnI9J6JlSURiKkYvk0,2430
312
+ cognite_toolkit/_resources/cdf.toml,sha256=2epVBQo_m2z8GY9outwcZ9cXX7fHEIYYxqxxnn69RGU,475
313
+ cognite_toolkit/_version.py,sha256=HbFp4k5nhcLL9U3SdQuIdWAUBPETOj1k7h6vrI5evXw,23
314
314
  cognite_toolkit/config.dev.yaml,sha256=M33FiIKdS3XKif-9vXniQ444GTZ-bLXV8aFH86u9iUQ,332
315
315
  cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
316
316
  cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
317
- cognite_toolkit-0.7.31.dist-info/WHEEL,sha256=93kfTGt3a0Dykt_T-gsjtyS5_p8F_d6CE1NwmBOirzo,79
318
- cognite_toolkit-0.7.31.dist-info/entry_points.txt,sha256=EtZ17K2mUjh-AY0QNU1CPIB_aDSSOdmtNI_4Fj967mA,84
319
- cognite_toolkit-0.7.31.dist-info/METADATA,sha256=lOFzBCcUEoVSZjcxZh685Mb3FTEhTlrZTN6XXlrlJ4A,4507
320
- cognite_toolkit-0.7.31.dist-info/RECORD,,
317
+ cognite_toolkit-0.7.33.dist-info/WHEEL,sha256=xDCZ-UyfvkGuEHPeI7BcJzYKIZzdqN8A8o1M5Om8IyA,79
318
+ cognite_toolkit-0.7.33.dist-info/entry_points.txt,sha256=EtZ17K2mUjh-AY0QNU1CPIB_aDSSOdmtNI_4Fj967mA,84
319
+ cognite_toolkit-0.7.33.dist-info/METADATA,sha256=q6zuIsvjFmMnRbtcHQwBzLkkB-Vn7jMLumZVV1kTASs,4507
320
+ cognite_toolkit-0.7.33.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.9.16
2
+ Generator: uv 0.9.17
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
File without changes
@@ -1,41 +0,0 @@
1
- from pathlib import Path
2
-
3
- import typer
4
-
5
- from cognite_toolkit._cdf_tk.client import ToolkitClient
6
- from cognite_toolkit._cdf_tk.utils.auth import EnvironmentVariables
7
-
8
- from .commands.import_ import ImportTransformationCLI
9
-
10
- import_app = typer.Typer(
11
- pretty_exceptions_short=False, pretty_exceptions_show_locals=False, pretty_exceptions_enable=False
12
- )
13
-
14
-
15
- @import_app.callback(invoke_without_command=True)
16
- def import_main(ctx: typer.Context) -> None:
17
- """PREVIEW FEATURE Import resources into Cognite-Toolkit."""
18
- if ctx.invoked_subcommand is None:
19
- print("Use [bold yellow]cdf-tk import --help[/] for more information.")
20
- return None
21
-
22
-
23
- @import_app.command("transformation-cli")
24
- def transformation_cli(
25
- source: Path = typer.Argument(..., help="Path to the transformation CLI manifest directory or files."),
26
- destination: Path = typer.Argument(..., help="Path to the destination directory."),
27
- overwrite: bool = typer.Option(False, help="Overwrite destination if it already exists."),
28
- flatten: bool = typer.Option(False, help="Flatten the directory structure."),
29
- clean: bool = typer.Option(False, help="Remove the source directory after import."),
30
- verbose: bool = typer.Option(False, help="Turn on to get more verbose output when running the command"),
31
- ) -> None:
32
- """Import transformation CLI manifests into Cognite-Toolkit modules."""
33
-
34
- # We are lazy loading the client as we only need it if we need to look up dataset ids.
35
- # This is to ensure the command can be executed without a client if the user does not need to look up dataset ids.
36
- # (which is likely 99% of the time)
37
- def get_client() -> ToolkitClient:
38
- return EnvironmentVariables.create_from_environment().get_client()
39
-
40
- cmd = ImportTransformationCLI(print_warning=True, get_client=get_client)
41
- cmd.execute(source, destination, overwrite, flatten, clean, verbose=verbose)