cognite-toolkit 0.7.27__py3-none-any.whl → 0.7.28__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.
@@ -36,7 +36,7 @@ class ChartCore(WriteableCogniteResource["ChartWrite"], ABC):
36
36
  def dump(self, camel_case: bool = True) -> dict[str, Any]:
37
37
  """Convert the chart to a dictionary representation."""
38
38
  output = super().dump(camel_case=camel_case)
39
- output["data"] = self.data.dump(camel_case=camel_case)
39
+ output["data"] = self.data.model_dump(mode="json", by_alias=camel_case, exclude_unset=True)
40
40
  return output
41
41
 
42
42
 
@@ -58,7 +58,7 @@ class ChartWrite(ChartCore):
58
58
  return cls(
59
59
  external_id=resource["externalId"],
60
60
  visibility=resource["visibility"],
61
- data=ChartData._load(resource["data"], cognite_client=cognite_client),
61
+ data=ChartData._load(resource["data"]),
62
62
  )
63
63
 
64
64
 
@@ -98,7 +98,7 @@ class Chart(ChartCore):
98
98
  created_time=resource["createdTime"],
99
99
  last_updated_time=resource["lastUpdatedTime"],
100
100
  visibility=resource["visibility"],
101
- data=ChartData._load(resource["data"], cognite_client=cognite_client),
101
+ data=ChartData._load(resource["data"]),
102
102
  owner_id=resource["ownerId"],
103
103
  )
104
104
 
@@ -1,70 +1,30 @@
1
- import sys
2
- from dataclasses import dataclass, field, fields
3
- from functools import lru_cache
4
1
  from typing import Any
5
2
 
6
- from cognite.client import CogniteClient
7
- from cognite.client.data_classes._base import CogniteObject
8
3
  from cognite.client.data_classes.data_modeling import NodeId, ViewId
9
- from cognite.client.utils._auxiliary import to_camel_case
4
+ from pydantic import JsonValue, field_serializer, field_validator
10
5
 
11
- if sys.version_info >= (3, 11):
12
- from typing import Self
13
- else:
14
- from typing_extensions import Self
6
+ from .base import BaseModelObject
15
7
 
16
8
 
17
- @dataclass
18
- class ChartObject(CogniteObject):
19
- # ChartObjects are used in the frontend and the backend does not do any validation of these fields.
20
- # Therefore, to ensure that we do not lose any data, we store unknown fields in a separate dictionary.
21
- # This allows unknown fields to be preserved when loading and dumping ChartObjects
22
- # (serialization and deserialization).
23
- _unknown_fields: dict[str, object] | None = field(default=None, init=False, repr=False)
24
-
25
- @classmethod
26
- def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
27
- """Load a ChartObject from a dictionary."""
28
- instance = super()._load(resource, cognite_client=cognite_client)
29
- instance._unknown_fields = {k: v for k, v in resource.items() if k not in cls._known_camel_case_props()}
30
- return instance
31
-
32
- @classmethod
33
- @lru_cache(maxsize=1)
34
- def _known_camel_case_props(cls) -> set[str]:
35
- return {to_camel_case(f.name) for f in fields(cls)}
36
-
37
- def dump(self, camel_case: bool = True) -> dict[str, Any]:
38
- """Dump the ChartObject to a dictionary."""
39
- data = super().dump(camel_case=camel_case)
40
- if self._unknown_fields:
41
- data.update(self._unknown_fields)
42
- return data
43
-
44
-
45
- @dataclass
46
- class UserInfo(ChartObject):
9
+ class UserInfo(BaseModelObject):
47
10
  id: str | None = None
48
11
  email: str | None = None
49
12
  display_name: str | None = None
50
13
 
51
14
 
52
- @dataclass
53
- class ChartSettings(ChartObject):
15
+ class ChartSettings(BaseModelObject):
54
16
  show_y_axis: bool = True
55
17
  show_min_max: bool = True
56
18
  show_gridlines: bool = True
57
19
  merge_units: bool = False
58
20
 
59
21
 
60
- @dataclass
61
- class ThresholdFilter(ChartObject):
22
+ class ThresholdFilter(BaseModelObject):
62
23
  min_unit: str | None = None
63
24
  max_unit: str | None = None
64
25
 
65
26
 
66
- @dataclass
67
- class ChartCall(ChartObject):
27
+ class ChartCall(BaseModelObject):
68
28
  id: str | None = None
69
29
  hash: int | None = None
70
30
  call_id: str | None = None
@@ -72,182 +32,143 @@ class ChartCall(ChartObject):
72
32
  status: str | None = None
73
33
 
74
34
 
75
- @dataclass
76
- class SubSetting(ChartObject):
35
+ class SubSetting(BaseModelObject):
77
36
  auto_align: bool | None = None
78
37
 
79
38
 
80
- @dataclass
81
- class FlowElement(ChartObject):
39
+ class ChartPosition(BaseModelObject):
40
+ x: float | None = None
41
+ y: float | None = None
42
+
43
+
44
+ class FlowElement(BaseModelObject):
82
45
  id: str | None = None
83
46
  type: str | None = None
84
- position: tuple[float | None, float | None] | None = None
85
- data: dict[str, object] | None = None
47
+ position: ChartPosition | None = None
48
+ data: JsonValue | None = None
49
+ source: str | None = None
50
+ target: str | None = None
51
+ source_handle: str | None = None
52
+ target_handle: str | None = None
86
53
 
87
54
 
88
- @dataclass
89
- class Flow(ChartObject):
55
+ class Flow(BaseModelObject):
90
56
  zoom: float | None = None
91
57
  elements: list[FlowElement] | None = None
92
58
  position: tuple[float | None, float | None] | None = None
93
59
 
94
- def dump(self, camel_case: bool = True) -> dict[str, Any]:
95
- data = super().dump(camel_case=camel_case)
96
- if self.elements:
97
- data["elements"] = [el.dump(camel_case=camel_case) for el in self.elements]
98
- return data
99
60
 
100
- @classmethod
101
- def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
102
- """Load a Flow object from a dictionary."""
103
- instance = super()._load(resource, cognite_client=cognite_client)
104
- if "elements" in resource:
105
- instance.elements = [FlowElement._load(el, cognite_client=cognite_client) for el in resource["elements"]]
106
- return instance
61
+ class ChartElement(BaseModelObject):
62
+ id: str | None = None
63
+ type: str | None = None
107
64
 
108
65
 
109
- @dataclass
110
- class ChartSource(ChartObject):
111
- type: str | None = None
112
- id: str | None = None
66
+ class ChartSource(ChartElement): ...
113
67
 
114
68
 
115
- @dataclass
116
- class BaseChartElement(ChartObject):
117
- type: str | None = None
118
- id: str | None = None
119
- name: str | None = None
69
+ class ChartCoreTimeseries(ChartElement):
70
+ node_reference: NodeId | None = None
71
+ view_reference: ViewId | None = None
72
+ display_mode: str | None = None
120
73
  color: str | None = None
74
+ created_at: int | None = None
121
75
  enabled: bool | None = None
122
- line_weight: float | None = None
123
- line_style: str | None = None
124
76
  interpolation: str | None = None
125
- unit: str | None = None
77
+ line_style: str | None = None
78
+ line_weight: float | None = None
79
+ name: str | None = None
126
80
  preferred_unit: str | None = None
127
- created_at: int | None = None
128
- range: tuple[float | None, float | None] | None = None
129
- description: str | None = None
81
+ range: list[float | None] | None = None
130
82
 
83
+ @field_serializer("node_reference", when_used="always")
84
+ def serialize_node_reference(self, node_reference: NodeId | None) -> dict[str, Any] | None:
85
+ if node_reference:
86
+ return node_reference.dump(include_instance_type=False)
87
+ return None
131
88
 
132
- @dataclass
133
- class ChartCoreTimeseries(BaseChartElement):
134
- node_reference: NodeId | None = None
135
- view_reference: ViewId | None = None
136
- display_mode: str | None = None
89
+ @field_serializer("view_reference", when_used="always")
90
+ def serialize_view_reference(self, view_reference: ViewId | None) -> dict[str, Any] | None:
91
+ if view_reference:
92
+ return view_reference.dump(include_type=False)
93
+ return None
137
94
 
138
- def dump(self, camel_case: bool = True) -> dict[str, Any]:
139
- data = super().dump(camel_case=camel_case)
140
- if self.node_reference:
141
- key = "nodeReference" if camel_case else "node_reference"
142
- data[key] = self.node_reference.dump(include_instance_type=False)
143
- if self.view_reference:
144
- key = "viewReference" if camel_case else "view_reference"
145
- data[key] = self.view_reference.dump(include_type=False)
146
- return data
95
+ @field_validator("node_reference", mode="before")
96
+ @classmethod
97
+ def validate_node_reference(cls, value: Any) -> NodeId | None:
98
+ if value is None or isinstance(value, NodeId):
99
+ return value
100
+ return NodeId.load(value)
147
101
 
102
+ @field_validator("view_reference", mode="before")
148
103
  @classmethod
149
- def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
150
- """Load a ChartCoreTimeseries object from a dictionary."""
151
- instance = super()._load(resource, cognite_client=cognite_client)
152
- if "nodeReference" in resource:
153
- instance.node_reference = NodeId.load(resource["nodeReference"])
154
- if "viewReference" in resource:
155
- instance.view_reference = ViewId.load(resource["viewReference"])
156
- return instance
157
-
158
-
159
- @dataclass
160
- class ChartTimeseries(BaseChartElement):
104
+ def validate_view_reference(cls, value: Any) -> ViewId | None:
105
+ if value is None or isinstance(value, ViewId):
106
+ return value
107
+ return ViewId.load(value)
108
+
109
+
110
+ class ChartTimeseries(ChartElement):
111
+ color: str | None = None
112
+ created_at: int | None = None
113
+ enabled: bool | None = None
114
+ interpolation: str | None = None
115
+ line_style: str | None = None
116
+ line_weight: float | None = None
117
+ name: str | None = None
118
+ preferred_unit: str | None = None
119
+ range: list[float | None] | None = None
120
+ unit: str | None = None
161
121
  ts_id: int | None = None
162
122
  ts_external_id: str | None = None
163
123
  display_mode: str | None = None
164
124
  original_unit: str | None = None
125
+ description: str | None = None
165
126
 
166
127
 
167
- @dataclass
168
- class ChartWorkflow(BaseChartElement):
128
+ class ChartWorkflow(ChartElement):
169
129
  version: str | None = None
130
+ name: str | None = None
131
+ color: str | None = None
132
+ enabled: bool | None = None
133
+ line_weight: float | None = None
134
+ line_style: str | None = None
135
+ interpolation: str | None = None
136
+ unit: str | None = None
137
+ preferred_unit: str | None = None
138
+ range: list[float | None] | None = None
139
+ created_at: int | None = None
170
140
  settings: SubSetting | None = None
171
141
  flow: Flow | None = None
172
142
  calls: list[ChartCall] | None = None
173
143
 
174
- def dump(self, camel_case: bool = True) -> dict[str, Any]:
175
- data = super().dump(camel_case=camel_case)
176
- if self.settings:
177
- data["settings"] = self.settings.dump(camel_case=camel_case)
178
- if self.flow:
179
- data["flow"] = self.flow.dump(camel_case=camel_case)
180
- if self.calls:
181
- data["calls"] = [c.dump(camel_case=camel_case) for c in self.calls]
182
- return data
183
144
 
184
- @classmethod
185
- def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
186
- """Load a ChartWorkflow object from a dictionary."""
187
- instance = super()._load(resource, cognite_client=cognite_client)
188
- if "settings" in resource:
189
- instance.settings = SubSetting._load(resource["settings"], cognite_client=cognite_client)
190
- if "flow" in resource:
191
- instance.flow = Flow._load(resource["flow"], cognite_client=cognite_client)
192
- if "calls" in resource:
193
- instance.calls = [ChartCall._load(call, cognite_client=cognite_client) for call in resource["calls"]]
194
- return instance
195
-
196
-
197
- @dataclass
198
- class ChartThreshold(BaseChartElement):
145
+ class ChartThreshold(ChartElement):
199
146
  visible: bool | None = None
147
+ name: str | None = None
200
148
  source_id: str | None = None
201
149
  upper_limit: float | None = None
202
150
  filter: ThresholdFilter | None = None
203
151
  calls: list[ChartCall] | None = None
204
152
 
205
- def dump(self, camel_case: bool = True) -> dict[str, Any]:
206
- data = super().dump(camel_case=camel_case)
207
- if self.filter:
208
- data["filter"] = self.filter.dump(camel_case=camel_case)
209
- if self.calls:
210
- data["calls"] = [c.dump(camel_case=camel_case) for c in self.calls]
211
- return data
212
153
 
213
- @classmethod
214
- def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
215
- """Load a ChartThreshold object from a dictionary."""
216
- instance = super()._load(resource, cognite_client=cognite_client)
217
- if "filter" in resource:
218
- instance.filter = ThresholdFilter._load(resource["filter"], cognite_client=cognite_client)
219
- if "calls" in resource:
220
- instance.calls = [ChartCall._load(call, cognite_client=cognite_client) for call in resource["calls"]]
221
- return instance
222
-
223
-
224
- @dataclass
225
- class ChartScheduledCalculation(BaseChartElement):
154
+ class ChartScheduledCalculation(ChartElement):
155
+ color: str | None = None
156
+ created_at: int | None = None
157
+ description: str | None = None
158
+ enabled: bool | None = None
159
+ interpolation: str | None = None
160
+ line_style: str | None = None
161
+ line_weight: float | None = None
162
+ name: str | None = None
163
+ preferred_unit: str | None = None
164
+ range: list[float | None] | None = None
165
+ unit: str | None = None
226
166
  version: str | None = None
227
167
  settings: SubSetting | None = None
228
168
  flow: Flow | None = None
229
169
 
230
- def dump(self, camel_case: bool = True) -> dict[str, Any]:
231
- data = super().dump(camel_case=camel_case)
232
- if self.settings:
233
- data["settings"] = self.settings.dump(camel_case=camel_case)
234
- if self.flow:
235
- data["flow"] = self.flow.dump(camel_case=camel_case)
236
- return data
237
170
 
238
- @classmethod
239
- def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
240
- """Load a ChartScheduledCalculation object from a dictionary."""
241
- instance = super()._load(resource, cognite_client=cognite_client)
242
- if "settings" in resource:
243
- instance.settings = SubSetting._load(resource["settings"], cognite_client=cognite_client)
244
- if "flow" in resource:
245
- instance.flow = Flow._load(resource["flow"], cognite_client=cognite_client)
246
- return instance
247
-
248
-
249
- @dataclass
250
- class ChartData(ChartObject):
171
+ class ChartData(BaseModelObject):
251
172
  version: int | None = None
252
173
  name: str | None = None
253
174
  date_from: str | None = None
@@ -261,62 +182,3 @@ class ChartData(ChartObject):
261
182
  threshold_collection: list[ChartThreshold] | None = None
262
183
  scheduled_calculation_collection: list[ChartScheduledCalculation] | None = None
263
184
  settings: ChartSettings | None = None
264
-
265
- def dump(self, camel_case: bool = True) -> dict[str, Any]:
266
- """Dump the ChartData object to a dictionary."""
267
- data = super().dump(camel_case=camel_case)
268
- list_attrs = [
269
- "time_series_collection",
270
- "core_timeseries_collection",
271
- "workflow_collection",
272
- "source_collection",
273
- "threshold_collection",
274
- "scheduled_calculation_collection",
275
- ]
276
- for attr_name in list_attrs:
277
- if collection := getattr(self, attr_name):
278
- key = to_camel_case(attr_name) if camel_case else attr_name
279
- data[key] = [item.dump(camel_case=camel_case) for item in collection]
280
-
281
- single_attrs_map = {
282
- "user_info": "userInfo",
283
- "settings": "settings",
284
- }
285
- for attr_name, camel_key in single_attrs_map.items():
286
- if item := getattr(self, attr_name):
287
- key = camel_key if camel_case else attr_name
288
- data[key] = item.dump(camel_case=camel_case)
289
- return data
290
-
291
- @classmethod
292
- def _load(cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None) -> Self:
293
- """Load a ChartData object from a dictionary."""
294
- instance = super()._load(resource, cognite_client=cognite_client)
295
- collections_map = [
296
- ("timeSeriesCollection", "time_series_collection", ChartTimeseries),
297
- ("coreTimeseriesCollection", "core_timeseries_collection", ChartCoreTimeseries),
298
- ("workflowCollection", "workflow_collection", ChartWorkflow),
299
- ("sourceCollection", "source_collection", ChartSource),
300
- ("thresholdCollection", "threshold_collection", ChartThreshold),
301
- ("scheduledCalculationCollection", "scheduled_calculation_collection", ChartScheduledCalculation),
302
- ]
303
- for resource_key, attr_name, subclass in collections_map:
304
- if resource_key in resource:
305
- setattr(
306
- instance,
307
- attr_name,
308
- [subclass._load(item, cognite_client=cognite_client) for item in resource[resource_key]], # type: ignore[attr-defined]
309
- )
310
- attribute_map = [
311
- ("userInfo", "user_info", UserInfo),
312
- ("settings", "settings", ChartSettings),
313
- ]
314
- for resource_key, attr_name, subclass in attribute_map:
315
- if resource_key in resource:
316
- setattr(
317
- instance,
318
- attr_name,
319
- subclass._load(resource[resource_key], cognite_client=cognite_client), # type: ignore[attr-defined]
320
- )
321
-
322
- return instance
@@ -210,16 +210,14 @@ class ChartMapper(DataMapper[ChartSelector, Chart, ChartWrite]):
210
210
  def _create_new_timeseries_core(
211
211
  self, ts_item: ChartTimeseries, node_id: NodeId, consumer_view_id: ViewId | None
212
212
  ) -> ChartCoreTimeseries:
213
- dumped = ts_item.dump(camel_case=True)
214
- for asset_centric_key in ["tsId", "tsExternalId", "originalUnit"]:
215
- dumped.pop(asset_centric_key, None)
216
-
213
+ dumped = ts_item.model_dump(mode="json", by_alias=True, exclude_unset=True)
217
214
  dumped["nodeReference"] = node_id
218
215
  dumped["viewReference"] = consumer_view_id
219
216
  new_uuid = str(uuid4())
220
217
  dumped["id"] = new_uuid
221
218
  dumped["type"] = "coreTimeseries"
222
- core_timeseries = ChartCoreTimeseries._load(dumped)
219
+ # We ignore extra here to only include the fields that are shared between ChartTimeseries and ChartCoreTimeseries
220
+ core_timeseries = ChartCoreTimeseries.model_validate(dumped, extra="ignore")
223
221
  return core_timeseries
224
222
 
225
223
  def _get_node_id_consumer_view_id(self, ts_item: ChartTimeseries) -> tuple[NodeId | None, ViewId | None]:
@@ -12,7 +12,7 @@ jobs:
12
12
  environment: dev
13
13
  name: Deploy
14
14
  container:
15
- image: cognite/toolkit:0.7.27
15
+ image: cognite/toolkit:0.7.28
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.27
13
+ image: cognite/toolkit:0.7.28
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.27"
7
+ version = "0.7.28"
8
8
 
9
9
 
10
10
  [plugins]
@@ -1 +1 @@
1
- __version__ = "0.7.27"
1
+ __version__ = "0.7.28"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.7.27
3
+ Version: 0.7.28
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>
@@ -67,8 +67,8 @@ cognite_toolkit/_cdf_tk/client/data_classes/apm_config_v1.py,sha256=0bPq7R0qvdf8
67
67
  cognite_toolkit/_cdf_tk/client/data_classes/base.py,sha256=QG4S0HlByMB6zwxUXWaVHwP-DrA2Y97XGN_o6QsL6FY,2776
68
68
  cognite_toolkit/_cdf_tk/client/data_classes/canvas.py,sha256=DrE-7HOLnk1ELhydySsEhw-VOjriUqB_zzon5qb7CDk,50721
69
69
  cognite_toolkit/_cdf_tk/client/data_classes/capabilities.py,sha256=muqpAC2JLCFcEpRPzuh_3sS3o_q42WFyfsGzl-LfB_U,8773
70
- cognite_toolkit/_cdf_tk/client/data_classes/charts.py,sha256=l4LM1eqn8_2lRzw-DdwwL0zxgSczC0lp1LjgW-4wqPI,3770
71
- cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py,sha256=Zcx3st3bMJE2aa5U6TepDqRzqf-LuTTWW5grSaVGr9E,12244
70
+ cognite_toolkit/_cdf_tk/client/data_classes/charts.py,sha256=4ZSZDJhDP8uNubXfzphuLJzKJhL1F01grB4UesxtSbQ,3745
71
+ cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py,sha256=-dFfY53cos5DwASLU18aBfYF1VC6bfaUshC2HiGJ2uI,5571
72
72
  cognite_toolkit/_cdf_tk/client/data_classes/extendable_cognite_file.py,sha256=0iyLiXEzB4WBU-DL6DZS6nD5E526cDsftMGEYXwI8r8,9764
73
73
  cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetadata.py,sha256=8zfXl_bhkums3quJzdOwAjxVNY6B0hpAs6jbkekn79o,5488
74
74
  cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetdata.py,sha256=gKA5UcDKweH7SlzXfyZCspMyHUo0t8R5DbzeCPpzInM,6002
@@ -103,7 +103,7 @@ cognite_toolkit/_cdf_tk/commands/_migrate/command.py,sha256=l2P0Em05aEJvNZH4WkEI
103
103
  cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py,sha256=Ew9JRYrd-Ol9G9csTzpnhXAgCFnX67MwDYOTsdJLP3E,16803
104
104
  cognite_toolkit/_cdf_tk/commands/_migrate/creators.py,sha256=FTu7w3G8KyPY8pagG3KdPpOmpLcjehaAg2auEy6iM7A,9605
105
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=vixRnB-4sjDCE2DafMJs_oApVe5HgwOrzSPt49ypUgM,18491
106
+ cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py,sha256=b_6_yYibtzWiBFrYq5pB8NZUi1TRuf-DIy_GRroj4wg,18551
107
107
  cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py,sha256=i1eUsNX6Dueol9STIEwyksBnBsWUk13O8qHIjW964pM,7860
108
108
  cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py,sha256=ERn3qFrJFXdtXaMjHq3Gk7MxH03MGFk3FrtWCOBJQts,5544
109
109
  cognite_toolkit/_cdf_tk/commands/_migrate/issues.py,sha256=n8en744-r7GL9eUyxEojFes1yk69V04SnlpVXHrdPOQ,6972
@@ -302,14 +302,14 @@ cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi
302
302
  cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
303
303
  cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
304
304
  cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=OBFDhFWK1mlT4Dc6mDUE2Es834l8sAlYG50-5RxRtHk,723
305
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=zf9hdCJ3SerGDrnmBTLTn3CMH0hGGYTh-hdVh3A115M,667
306
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=mRRQGQOYBRdXpgyuC1O1rEH5owcwsLVI_CvEyq3iqnk,2430
307
- cognite_toolkit/_resources/cdf.toml,sha256=xSpuqW3POVKkqGWVtHMIiLc2dQZeGZpdqh1sJPHKC8A,475
308
- cognite_toolkit/_version.py,sha256=fHi3FiqQRMkjl3o8ATyV9gZrBSNTVvt5m0WxJ-NYHTA,23
305
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=WjbXrAgIoTssRXTsTBHolXqsIg4BKfCLRtfmT37lTM4,667
306
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=qfSb9a7NFcwbEDJo8JoRrnvPvjyrjlWO7SVjxqVMjjM,2430
307
+ cognite_toolkit/_resources/cdf.toml,sha256=kw_vOm_sjuQP0yBUwjl4b5PP2mLyTEyG3HzTXFWtGFk,475
308
+ cognite_toolkit/_version.py,sha256=zxRa3gUEpxj8fTU5qOT60NDmCfmdbg7_Z6ZkpKAhrNg,23
309
309
  cognite_toolkit/config.dev.yaml,sha256=M33FiIKdS3XKif-9vXniQ444GTZ-bLXV8aFH86u9iUQ,332
310
310
  cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
311
311
  cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
312
- cognite_toolkit-0.7.27.dist-info/WHEEL,sha256=93kfTGt3a0Dykt_T-gsjtyS5_p8F_d6CE1NwmBOirzo,79
313
- cognite_toolkit-0.7.27.dist-info/entry_points.txt,sha256=EtZ17K2mUjh-AY0QNU1CPIB_aDSSOdmtNI_4Fj967mA,84
314
- cognite_toolkit-0.7.27.dist-info/METADATA,sha256=OoJ1UzFNOjp3Tja-1bdSe8LrbCq167Bq0lBnRGugbc8,4507
315
- cognite_toolkit-0.7.27.dist-info/RECORD,,
312
+ cognite_toolkit-0.7.28.dist-info/WHEEL,sha256=93kfTGt3a0Dykt_T-gsjtyS5_p8F_d6CE1NwmBOirzo,79
313
+ cognite_toolkit-0.7.28.dist-info/entry_points.txt,sha256=EtZ17K2mUjh-AY0QNU1CPIB_aDSSOdmtNI_4Fj967mA,84
314
+ cognite_toolkit-0.7.28.dist-info/METADATA,sha256=8484D-s0BzjQMFkFVIPhKFv2p4jELcUAVka0_qC7yT4,4507
315
+ cognite_toolkit-0.7.28.dist-info/RECORD,,