cognite-toolkit 0.6.109__py3-none-any.whl → 0.6.111__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.
- cognite_toolkit/_cdf_tk/apps/_migrate_app.py +67 -1
- cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py +20 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +131 -2
- cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +21 -0
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
- cognite_toolkit/_resources/cdf.toml +1 -1
- cognite_toolkit/_version.py +1 -1
- {cognite_toolkit-0.6.109.dist-info → cognite_toolkit-0.6.111.dist-info}/METADATA +1 -1
- {cognite_toolkit-0.6.109.dist-info → cognite_toolkit-0.6.111.dist-info}/RECORD +13 -13
- {cognite_toolkit-0.6.109.dist-info → cognite_toolkit-0.6.111.dist-info}/WHEEL +0 -0
- {cognite_toolkit-0.6.109.dist-info → cognite_toolkit-0.6.111.dist-info}/entry_points.txt +0 -0
- {cognite_toolkit-0.6.109.dist-info → cognite_toolkit-0.6.111.dist-info}/licenses/LICENSE +0 -0
|
@@ -18,7 +18,7 @@ from cognite_toolkit._cdf_tk.commands._migrate.creators import (
|
|
|
18
18
|
InstanceSpaceCreator,
|
|
19
19
|
SourceSystemCreator,
|
|
20
20
|
)
|
|
21
|
-
from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import AssetCentricMapper
|
|
21
|
+
from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import AssetCentricMapper, ChartMapper
|
|
22
22
|
from cognite_toolkit._cdf_tk.commands._migrate.migration_io import (
|
|
23
23
|
AnnotationMigrationIO,
|
|
24
24
|
AssetCentricMigrationIO,
|
|
@@ -28,12 +28,15 @@ from cognite_toolkit._cdf_tk.commands._migrate.selectors import (
|
|
|
28
28
|
MigrateDataSetSelector,
|
|
29
29
|
MigrationCSVFileSelector,
|
|
30
30
|
)
|
|
31
|
+
from cognite_toolkit._cdf_tk.storageio import ChartIO
|
|
32
|
+
from cognite_toolkit._cdf_tk.storageio.selectors import ChartExternalIdSelector
|
|
31
33
|
from cognite_toolkit._cdf_tk.utils.auth import EnvironmentVariables
|
|
32
34
|
from cognite_toolkit._cdf_tk.utils.cli_args import parse_view_str
|
|
33
35
|
from cognite_toolkit._cdf_tk.utils.interactive_select import (
|
|
34
36
|
AssetInteractiveSelect,
|
|
35
37
|
DataModelingSelect,
|
|
36
38
|
FileMetadataInteractiveSelect,
|
|
39
|
+
InteractiveChartSelect,
|
|
37
40
|
ResourceViewMappingInteractiveSelect,
|
|
38
41
|
)
|
|
39
42
|
from cognite_toolkit._cdf_tk.utils.useful_types import AssetCentricKind
|
|
@@ -54,6 +57,7 @@ class MigrateApp(typer.Typer):
|
|
|
54
57
|
self.command("files")(self.files)
|
|
55
58
|
self.command("annotations")(self.annotations)
|
|
56
59
|
self.command("canvas")(self.canvas)
|
|
60
|
+
self.command("charts")(self.charts)
|
|
57
61
|
# Uncomment when infield v2 config migration is ready
|
|
58
62
|
# self.command("infield-configs")(self.infield_configs)
|
|
59
63
|
|
|
@@ -887,6 +891,68 @@ class MigrateApp(typer.Typer):
|
|
|
887
891
|
)
|
|
888
892
|
)
|
|
889
893
|
|
|
894
|
+
@staticmethod
|
|
895
|
+
def charts(
|
|
896
|
+
ctx: typer.Context,
|
|
897
|
+
external_id: Annotated[
|
|
898
|
+
list[str] | None,
|
|
899
|
+
typer.Argument(
|
|
900
|
+
help="The external ID of the Chart to migrate. If not provided, an interactive selection will be "
|
|
901
|
+
"performed to select the Charts to migrate."
|
|
902
|
+
),
|
|
903
|
+
] = None,
|
|
904
|
+
log_dir: Annotated[
|
|
905
|
+
Path,
|
|
906
|
+
typer.Option(
|
|
907
|
+
"--log-dir",
|
|
908
|
+
"-l",
|
|
909
|
+
help="Path to the directory where migration logs will be stored.",
|
|
910
|
+
),
|
|
911
|
+
] = Path(f"migration_logs_{TODAY}"),
|
|
912
|
+
dry_run: Annotated[
|
|
913
|
+
bool,
|
|
914
|
+
typer.Option(
|
|
915
|
+
"--dry-run",
|
|
916
|
+
"-d",
|
|
917
|
+
help="If set, the migration will not be executed, but only a report of "
|
|
918
|
+
"what would be done is printed. This is useful for checking that all time series referenced by the Charts "
|
|
919
|
+
"have been migrated to the new data modeling resources in CDF.",
|
|
920
|
+
),
|
|
921
|
+
] = False,
|
|
922
|
+
verbose: Annotated[
|
|
923
|
+
bool,
|
|
924
|
+
typer.Option(
|
|
925
|
+
"--verbose",
|
|
926
|
+
"-v",
|
|
927
|
+
help="Turn on to get more verbose output when running the command",
|
|
928
|
+
),
|
|
929
|
+
] = False,
|
|
930
|
+
) -> None:
|
|
931
|
+
"""Migrate Charts from time series references to data modeling in CDF.
|
|
932
|
+
|
|
933
|
+
This command expects that the CogniteMigration data model is already deployed, and that the Mapping view
|
|
934
|
+
is populated with the mapping from time series to the new data modeling resources.
|
|
935
|
+
"""
|
|
936
|
+
client = EnvironmentVariables.create_from_environment().get_client()
|
|
937
|
+
|
|
938
|
+
selected_external_ids: list[str]
|
|
939
|
+
if external_id:
|
|
940
|
+
selected_external_ids = external_id
|
|
941
|
+
else:
|
|
942
|
+
selected_external_ids = InteractiveChartSelect(client).select_external_ids()
|
|
943
|
+
|
|
944
|
+
cmd = MigrationCommand()
|
|
945
|
+
cmd.run(
|
|
946
|
+
lambda: cmd.migrate(
|
|
947
|
+
selected=ChartExternalIdSelector(external_ids=tuple(selected_external_ids)),
|
|
948
|
+
data=ChartIO(client),
|
|
949
|
+
mapper=ChartMapper(client),
|
|
950
|
+
log_dir=log_dir,
|
|
951
|
+
dry_run=dry_run,
|
|
952
|
+
verbose=verbose,
|
|
953
|
+
)
|
|
954
|
+
)
|
|
955
|
+
|
|
890
956
|
@staticmethod
|
|
891
957
|
def infield_configs(
|
|
892
958
|
ctx: typer.Context,
|
|
@@ -135,6 +135,26 @@ class ChartCoreTimeseries(BaseChartElement):
|
|
|
135
135
|
view_reference: ViewId | None = None
|
|
136
136
|
display_mode: str | None = None
|
|
137
137
|
|
|
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
|
|
147
|
+
|
|
148
|
+
@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
|
+
|
|
138
158
|
|
|
139
159
|
@dataclass
|
|
140
160
|
class ChartTimeseries(BaseChartElement):
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
2
|
from collections.abc import Sequence
|
|
3
|
-
from typing import Generic
|
|
3
|
+
from typing import Generic, cast
|
|
4
|
+
from uuid import uuid4
|
|
4
5
|
|
|
5
6
|
from cognite.client.data_classes._base import (
|
|
6
7
|
T_CogniteResource,
|
|
@@ -9,20 +10,28 @@ from cognite.client.data_classes.data_modeling import (
|
|
|
9
10
|
EdgeApply,
|
|
10
11
|
InstanceApply,
|
|
11
12
|
NodeApply,
|
|
13
|
+
NodeId,
|
|
12
14
|
View,
|
|
13
15
|
ViewId,
|
|
14
16
|
)
|
|
15
17
|
|
|
16
18
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
19
|
+
from cognite_toolkit._cdf_tk.client.data_classes.charts import Chart, ChartWrite
|
|
20
|
+
from cognite_toolkit._cdf_tk.client.data_classes.charts_data import (
|
|
21
|
+
ChartCoreTimeseries,
|
|
22
|
+
ChartSource,
|
|
23
|
+
ChartTimeseries,
|
|
24
|
+
)
|
|
17
25
|
from cognite_toolkit._cdf_tk.client.data_classes.migration import ResourceViewMappingApply
|
|
18
26
|
from cognite_toolkit._cdf_tk.commands._migrate.conversion import DirectRelationCache, asset_centric_to_dm
|
|
19
27
|
from cognite_toolkit._cdf_tk.commands._migrate.data_classes import AssetCentricMapping
|
|
20
28
|
from cognite_toolkit._cdf_tk.commands._migrate.default_mappings import create_default_mappings
|
|
21
|
-
from cognite_toolkit._cdf_tk.commands._migrate.issues import ConversionIssue, MigrationIssue
|
|
29
|
+
from cognite_toolkit._cdf_tk.commands._migrate.issues import ChartMigrationIssue, ConversionIssue, MigrationIssue
|
|
22
30
|
from cognite_toolkit._cdf_tk.commands._migrate.selectors import AssetCentricMigrationSelector
|
|
23
31
|
from cognite_toolkit._cdf_tk.constants import MISSING_INSTANCE_SPACE
|
|
24
32
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitValueError
|
|
25
33
|
from cognite_toolkit._cdf_tk.storageio._base import T_Selector, T_WriteCogniteResource
|
|
34
|
+
from cognite_toolkit._cdf_tk.storageio.selectors import ChartSelector
|
|
26
35
|
from cognite_toolkit._cdf_tk.utils import humanize_collection
|
|
27
36
|
from cognite_toolkit._cdf_tk.utils.useful_types import (
|
|
28
37
|
T_AssetCentricResourceExtended,
|
|
@@ -120,3 +129,123 @@ class AssetCentricMapper(
|
|
|
120
129
|
if mapping.instance_id.space == MISSING_INSTANCE_SPACE:
|
|
121
130
|
conversion_issue.missing_instance_space = f"Missing instance space for dataset ID {mapping.data_set_id!r}"
|
|
122
131
|
return instance, conversion_issue
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
class ChartMapper(DataMapper[ChartSelector, Chart, ChartWrite]):
|
|
135
|
+
def __init__(self, client: ToolkitClient) -> None:
|
|
136
|
+
self.client = client
|
|
137
|
+
|
|
138
|
+
def map(self, source: Sequence[Chart]) -> Sequence[tuple[ChartWrite | None, MigrationIssue]]:
|
|
139
|
+
self._populate_cache(source)
|
|
140
|
+
output: list[tuple[ChartWrite | None, MigrationIssue]] = []
|
|
141
|
+
for item in source:
|
|
142
|
+
mapped_item, issue = self._map_single_item(item)
|
|
143
|
+
output.append((mapped_item, issue))
|
|
144
|
+
return output
|
|
145
|
+
|
|
146
|
+
def _populate_cache(self, source: Sequence[Chart]) -> None:
|
|
147
|
+
"""Populate the internal cache with timeseries from the source charts.
|
|
148
|
+
|
|
149
|
+
Note that the consumption views are also cached as part of the timeseries lookup.
|
|
150
|
+
"""
|
|
151
|
+
timeseries_ids: set[int] = set()
|
|
152
|
+
timeseries_external_ids: set[str] = set()
|
|
153
|
+
for chart in source:
|
|
154
|
+
for item in chart.data.time_series_collection or []:
|
|
155
|
+
if item.ts_id:
|
|
156
|
+
timeseries_ids.add(item.ts_id)
|
|
157
|
+
if item.ts_external_id:
|
|
158
|
+
timeseries_external_ids.add(item.ts_external_id)
|
|
159
|
+
if timeseries_ids:
|
|
160
|
+
self.client.migration.lookup.time_series(list(timeseries_ids))
|
|
161
|
+
if timeseries_external_ids:
|
|
162
|
+
self.client.migration.lookup.time_series(external_id=list(timeseries_external_ids))
|
|
163
|
+
|
|
164
|
+
def _map_single_item(self, item: Chart) -> tuple[ChartWrite | None, ChartMigrationIssue]:
|
|
165
|
+
issue = ChartMigrationIssue(chart_external_id=item.external_id)
|
|
166
|
+
time_series_collection = item.data.time_series_collection or []
|
|
167
|
+
timeseries_core_collection = self._create_timeseries_core_collection(time_series_collection, issue)
|
|
168
|
+
if issue.has_issues:
|
|
169
|
+
return None, issue
|
|
170
|
+
|
|
171
|
+
updated_source_collection = self._update_source_collection(
|
|
172
|
+
item.data.source_collection or [], time_series_collection, timeseries_core_collection
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
mapped_chart = item.as_write()
|
|
176
|
+
mapped_chart.data.core_timeseries_collection = timeseries_core_collection
|
|
177
|
+
mapped_chart.data.time_series_collection = None
|
|
178
|
+
mapped_chart.data.source_collection = updated_source_collection
|
|
179
|
+
return mapped_chart, issue
|
|
180
|
+
|
|
181
|
+
def _create_timeseries_core_collection(
|
|
182
|
+
self, time_series_collection: list[ChartTimeseries], issue: ChartMigrationIssue
|
|
183
|
+
) -> list[ChartCoreTimeseries]:
|
|
184
|
+
timeseries_core_collection: list[ChartCoreTimeseries] = []
|
|
185
|
+
for ts_item in time_series_collection or []:
|
|
186
|
+
node_id, consumer_view_id = self._get_node_id_consumer_view_id(ts_item)
|
|
187
|
+
|
|
188
|
+
if node_id is None:
|
|
189
|
+
if ts_item.ts_id is not None:
|
|
190
|
+
issue.missing_timeseries_ids.append(ts_item.ts_id)
|
|
191
|
+
elif ts_item.ts_external_id is not None:
|
|
192
|
+
issue.missing_timeseries_external_ids.append(ts_item.ts_external_id)
|
|
193
|
+
else:
|
|
194
|
+
issue.missing_timeseries_identifier.append(ts_item.id or "unknown")
|
|
195
|
+
continue
|
|
196
|
+
|
|
197
|
+
core_timeseries = self._create_new_timeseries_core(ts_item, node_id, consumer_view_id)
|
|
198
|
+
timeseries_core_collection.append(core_timeseries)
|
|
199
|
+
return timeseries_core_collection
|
|
200
|
+
|
|
201
|
+
def _create_new_timeseries_core(
|
|
202
|
+
self, ts_item: ChartTimeseries, node_id: NodeId, consumer_view_id: ViewId | None
|
|
203
|
+
) -> ChartCoreTimeseries:
|
|
204
|
+
dumped = ts_item.dump(camel_case=True)
|
|
205
|
+
for asset_centric_key in ["tsId", "tsExternalId", "originalUnit"]:
|
|
206
|
+
dumped.pop(asset_centric_key, None)
|
|
207
|
+
|
|
208
|
+
dumped["nodeReference"] = node_id
|
|
209
|
+
dumped["viewReference"] = consumer_view_id
|
|
210
|
+
new_uuid = str(uuid4())
|
|
211
|
+
dumped["id"] = new_uuid
|
|
212
|
+
dumped["type"] = "coreTimeseries"
|
|
213
|
+
core_timeseries = ChartCoreTimeseries._load(dumped)
|
|
214
|
+
return core_timeseries
|
|
215
|
+
|
|
216
|
+
def _get_node_id_consumer_view_id(self, ts_item: ChartTimeseries) -> tuple[NodeId | None, ViewId | None]:
|
|
217
|
+
"""Look up the node ID and consumer view ID for a given timeseries item.
|
|
218
|
+
|
|
219
|
+
Prioritizes lookup by internal ID, then by external ID.
|
|
220
|
+
|
|
221
|
+
Args:
|
|
222
|
+
ts_item: The ChartTimeseries item to look up.
|
|
223
|
+
|
|
224
|
+
Returns:
|
|
225
|
+
A tuple containing the consumer view ID and node ID, or None if not found.
|
|
226
|
+
"""
|
|
227
|
+
node_id: NodeId | None = None
|
|
228
|
+
consumer_view_id: ViewId | None = None
|
|
229
|
+
for id_name, id_value in [("id", ts_item.ts_id), ("external_id", ts_item.ts_external_id)]:
|
|
230
|
+
if id_value is None:
|
|
231
|
+
continue
|
|
232
|
+
arg = {id_name: id_value}
|
|
233
|
+
node_id = self.client.migration.lookup.time_series(**arg) # type: ignore[arg-type]
|
|
234
|
+
consumer_view_id = self.client.migration.lookup.time_series.consumer_view(**arg) # type: ignore[arg-type]
|
|
235
|
+
if node_id is not None:
|
|
236
|
+
break
|
|
237
|
+
return node_id, consumer_view_id
|
|
238
|
+
|
|
239
|
+
def _update_source_collection(
|
|
240
|
+
self,
|
|
241
|
+
source_collection: list[ChartSource],
|
|
242
|
+
time_series_collection: list[ChartTimeseries],
|
|
243
|
+
timeseries_core_collection: list[ChartCoreTimeseries],
|
|
244
|
+
) -> list[ChartSource]:
|
|
245
|
+
remove_ids = {ts_item.id for ts_item in time_series_collection if ts_item.id is not None}
|
|
246
|
+
updated_source_collection = [ts_item for ts_item in source_collection if ts_item.id not in remove_ids]
|
|
247
|
+
for core_ts_item in timeseries_core_collection:
|
|
248
|
+
# We cast there two as we set them in the _create_timeseries_core_collection method
|
|
249
|
+
new_source_item = ChartSource(id=cast(str, core_ts_item.id), type=cast(str, core_ts_item.type))
|
|
250
|
+
updated_source_collection.append(new_source_item)
|
|
251
|
+
return updated_source_collection
|
|
@@ -30,6 +30,27 @@ class MigrationIssue(MigrationObject):
|
|
|
30
30
|
return True
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
class ChartMigrationIssue(MigrationIssue):
|
|
34
|
+
"""Represents a chart migration issue encountered during migration.
|
|
35
|
+
|
|
36
|
+
Attributes:
|
|
37
|
+
chart_external_id (str): The external ID of the chart that could not be migrated.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
type: ClassVar[str] = "chartMigration"
|
|
41
|
+
chart_external_id: str
|
|
42
|
+
missing_timeseries_ids: list[int] = Field(default_factory=list)
|
|
43
|
+
missing_timeseries_external_ids: list[str] = Field(default_factory=list)
|
|
44
|
+
missing_timeseries_identifier: list[str] = Field(default_factory=list)
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def has_issues(self) -> bool:
|
|
48
|
+
"""Check if there are any issues recorded in this ChartMigrationIssue."""
|
|
49
|
+
return bool(
|
|
50
|
+
self.missing_timeseries_ids or self.missing_timeseries_external_ids or self.missing_timeseries_identifier
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
|
|
33
54
|
class ReadIssue(MigrationIssue):
|
|
34
55
|
"""Represents a read issue encountered during migration."""
|
|
35
56
|
|
|
@@ -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.6.
|
|
7
|
+
version = "0.6.111"
|
|
8
8
|
|
|
9
9
|
[alpha_flags]
|
|
10
10
|
external-libraries = true
|
cognite_toolkit/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.6.
|
|
1
|
+
__version__ = "0.6.111"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cognite_toolkit
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.111
|
|
4
4
|
Summary: Official Cognite Data Fusion tool for project templates and configuration deployment
|
|
5
5
|
Project-URL: Homepage, https://docs.cognite.com/cdf/deploy/cdf_toolkit/
|
|
6
6
|
Project-URL: Changelog, https://github.com/cognitedata/toolkit/releases
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
cognite_toolkit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
cognite_toolkit/_cdf.py,sha256=0abeQr1Tfk4lkGaoXyrnFC28wDSlR_8UGrh10noGduQ,6085
|
|
3
|
-
cognite_toolkit/_version.py,sha256=
|
|
3
|
+
cognite_toolkit/_version.py,sha256=NevwEofnLhZ12P5BZn0dR6xj6Bpsupi8Qtmt9IxErps,24
|
|
4
4
|
cognite_toolkit/_cdf_tk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
cognite_toolkit/_cdf_tk/cdf_toml.py,sha256=VSWV9h44HusWIaKpWgjrOMrc3hDoPTTXBXlp6-NOrIM,9079
|
|
6
6
|
cognite_toolkit/_cdf_tk/constants.py,sha256=Gi7iGGzdUrOnBeIK6ix3XiBieHIwzLJO5BWjDI3a6l4,7082
|
|
@@ -19,7 +19,7 @@ cognite_toolkit/_cdf_tk/apps/_dev_app.py,sha256=q8DBr4BAK33AwsHW3gAWZWSjSaQRuCis
|
|
|
19
19
|
cognite_toolkit/_cdf_tk/apps/_download_app.py,sha256=Io7mW3DhYpLiDrqJfThSQThHDWrXN9c8huu9zYd0u7E,19408
|
|
20
20
|
cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=Ec0aEqbKwCkxni09i06rfY31qZUyOVwbbvo7MHh4cf8,39056
|
|
21
21
|
cognite_toolkit/_cdf_tk/apps/_landing_app.py,sha256=HxzSln3fJXs5NzulfQGUMropXcwMobUYpyePrCrQTQs,1502
|
|
22
|
-
cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=
|
|
22
|
+
cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=g4S_53kbIgk57ziPLdRMuR6xUe434gkMqa69VmVm5Vg,39619
|
|
23
23
|
cognite_toolkit/_cdf_tk/apps/_modules_app.py,sha256=95_H2zccRJl2mWn0oQ5mjCaEDnG63sPKOkB81IgWcIk,7637
|
|
24
24
|
cognite_toolkit/_cdf_tk/apps/_profile_app.py,sha256=vSRJW54bEvIul8_4rOqyOYA7ztXx7TFOvZRZWZTxMbg,7007
|
|
25
25
|
cognite_toolkit/_cdf_tk/apps/_purge.py,sha256=e8IgDK2Fib2u30l71Q2trbJ1az90zSLWr5TViTINmL0,15415
|
|
@@ -77,7 +77,7 @@ cognite_toolkit/_cdf_tk/client/data_classes/base.py,sha256=J9Mhf7cYObYPWJ-ne98ec
|
|
|
77
77
|
cognite_toolkit/_cdf_tk/client/data_classes/canvas.py,sha256=1yOSXkARz6QgIUnNryRy1UbV62dPAxE9qu5jfpOmPGE,48618
|
|
78
78
|
cognite_toolkit/_cdf_tk/client/data_classes/capabilities.py,sha256=muqpAC2JLCFcEpRPzuh_3sS3o_q42WFyfsGzl-LfB_U,8773
|
|
79
79
|
cognite_toolkit/_cdf_tk/client/data_classes/charts.py,sha256=l4LM1eqn8_2lRzw-DdwwL0zxgSczC0lp1LjgW-4wqPI,3770
|
|
80
|
-
cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py,sha256=
|
|
80
|
+
cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py,sha256=Zcx3st3bMJE2aa5U6TepDqRzqf-LuTTWW5grSaVGr9E,12244
|
|
81
81
|
cognite_toolkit/_cdf_tk/client/data_classes/extendable_cognite_file.py,sha256=0iyLiXEzB4WBU-DL6DZS6nD5E526cDsftMGEYXwI8r8,9764
|
|
82
82
|
cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetadata.py,sha256=8zfXl_bhkums3quJzdOwAjxVNY6B0hpAs6jbkekn79o,5488
|
|
83
83
|
cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetdata.py,sha256=gKA5UcDKweH7SlzXfyZCspMyHUo0t8R5DbzeCPpzInM,6002
|
|
@@ -130,10 +130,10 @@ cognite_toolkit/_cdf_tk/commands/_migrate/command.py,sha256=jNoqqq81lbdfDTAQ5w2c
|
|
|
130
130
|
cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py,sha256=Ew9JRYrd-Ol9G9csTzpnhXAgCFnX67MwDYOTsdJLP3E,16803
|
|
131
131
|
cognite_toolkit/_cdf_tk/commands/_migrate/creators.py,sha256=FTu7w3G8KyPY8pagG3KdPpOmpLcjehaAg2auEy6iM7A,9605
|
|
132
132
|
cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py,sha256=_vMS_qAPj4yup1VnmmojPVigAZtyPQH7PM0Raby5tao,10619
|
|
133
|
-
cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py,sha256=
|
|
133
|
+
cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py,sha256=m3_vDxgLauzDjQmNwrhb_aK01rnuHeHxRg3UuNzCa34,11748
|
|
134
134
|
cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py,sha256=i1eUsNX6Dueol9STIEwyksBnBsWUk13O8qHIjW964pM,7860
|
|
135
135
|
cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py,sha256=ERn3qFrJFXdtXaMjHq3Gk7MxH03MGFk3FrtWCOBJQts,5544
|
|
136
|
-
cognite_toolkit/_cdf_tk/commands/_migrate/issues.py,sha256=
|
|
136
|
+
cognite_toolkit/_cdf_tk/commands/_migrate/issues.py,sha256=L2-kODPavEwcuhte7EXANK2-rH7reiq-uNqr-3ub-no,6575
|
|
137
137
|
cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py,sha256=wrdBH5P6NgiZQSYLR0iJ3ZvqfQ5fY-_Ne2yKv9E1g4o,16277
|
|
138
138
|
cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py,sha256=RfqaNoso5CyBwc-p6ckwcYqBfZXKhdJgdGIyd0TATaI,2635
|
|
139
139
|
cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py,sha256=N1H_-rBpPUD6pbrlcofn1uEK1bA694EUXEe1zIXeqyo,2489
|
|
@@ -300,13 +300,13 @@ cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi
|
|
|
300
300
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
|
|
301
301
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
|
|
302
302
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=OBFDhFWK1mlT4Dc6mDUE2Es834l8sAlYG50-5RxRtHk,723
|
|
303
|
-
cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=
|
|
304
|
-
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=
|
|
305
|
-
cognite_toolkit/_resources/cdf.toml,sha256=
|
|
303
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=j2bliPdlY2xgHldAqcr_OSEKiZSVKGMX4oS9dcoZs_w,668
|
|
304
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=QJtArzdlftwi4PrscZB65SoVdlEb8PYlphgGtdpZngg,2431
|
|
305
|
+
cognite_toolkit/_resources/cdf.toml,sha256=PDCEi-s5gIci7hyxLXz32LAfopeX846qABycsTnu7XY,488
|
|
306
306
|
cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
|
|
307
307
|
cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
|
|
308
|
-
cognite_toolkit-0.6.
|
|
309
|
-
cognite_toolkit-0.6.
|
|
310
|
-
cognite_toolkit-0.6.
|
|
311
|
-
cognite_toolkit-0.6.
|
|
312
|
-
cognite_toolkit-0.6.
|
|
308
|
+
cognite_toolkit-0.6.111.dist-info/METADATA,sha256=J-6VIqjpmDb17ugQ9ThtamiQmXgxtlVmz2tztmAYksE,4502
|
|
309
|
+
cognite_toolkit-0.6.111.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
310
|
+
cognite_toolkit-0.6.111.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
|
|
311
|
+
cognite_toolkit-0.6.111.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
|
|
312
|
+
cognite_toolkit-0.6.111.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|