cognite-toolkit 0.7.59__py3-none-any.whl → 0.7.61__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/_dump_app.py +53 -0
- cognite_toolkit/_cdf_tk/apps/_migrate_app.py +50 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +40 -1
- cognite_toolkit/_cdf_tk/commands/dump_resource.py +41 -1
- cognite_toolkit/_cdf_tk/storageio/_data_classes.py +5 -2
- 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.7.59.dist-info → cognite_toolkit-0.7.61.dist-info}/METADATA +1 -1
- {cognite_toolkit-0.7.59.dist-info → cognite_toolkit-0.7.61.dist-info}/RECORD +13 -13
- {cognite_toolkit-0.7.59.dist-info → cognite_toolkit-0.7.61.dist-info}/WHEEL +0 -0
- {cognite_toolkit-0.7.59.dist-info → cognite_toolkit-0.7.61.dist-info}/entry_points.txt +0 -0
|
@@ -17,6 +17,7 @@ from cognite_toolkit._cdf_tk.commands.dump_resource import (
|
|
|
17
17
|
GroupFinder,
|
|
18
18
|
LocationFilterFinder,
|
|
19
19
|
NodeFinder,
|
|
20
|
+
ResourceViewMappingFinder,
|
|
20
21
|
SearchConfigFinder,
|
|
21
22
|
SpaceFinder,
|
|
22
23
|
StreamlitFinder,
|
|
@@ -52,6 +53,8 @@ class DumpApp(typer.Typer):
|
|
|
52
53
|
self.command("agents")(DumpConfigApp.dump_agents)
|
|
53
54
|
|
|
54
55
|
self.command("search-config")(DumpConfigApp.dump_search_config)
|
|
56
|
+
if Flags.MIGRATE.is_enabled():
|
|
57
|
+
self.command("resource-view-mapping")(DumpConfigApp.dump_resource_view_mapping)
|
|
55
58
|
|
|
56
59
|
@staticmethod
|
|
57
60
|
def dump_main(ctx: typer.Context) -> None:
|
|
@@ -79,6 +82,8 @@ class DumpConfigApp(typer.Typer):
|
|
|
79
82
|
self.command("streamlit")(DumpConfigApp.dump_streamlit)
|
|
80
83
|
self.command("agents")(self.dump_agents)
|
|
81
84
|
self.command("search-config")(self.dump_search_config)
|
|
85
|
+
if Flags.MIGRATE.is_enabled():
|
|
86
|
+
self.command("resource-view-mapping")(self.dump_resource_view_mapping)
|
|
82
87
|
|
|
83
88
|
@staticmethod
|
|
84
89
|
def dump_config_main(ctx: typer.Context) -> None:
|
|
@@ -758,6 +763,54 @@ class DumpConfigApp(typer.Typer):
|
|
|
758
763
|
)
|
|
759
764
|
)
|
|
760
765
|
|
|
766
|
+
@staticmethod
|
|
767
|
+
def dump_resource_view_mapping(
|
|
768
|
+
ctx: typer.Context,
|
|
769
|
+
external_id: Annotated[
|
|
770
|
+
list[str] | None,
|
|
771
|
+
typer.Argument(
|
|
772
|
+
help="The external ID(s) of the resource view mapping(s) you want to dump. "
|
|
773
|
+
"If nothing is provided, an interactive prompt will be shown to select the resource view mappings.",
|
|
774
|
+
),
|
|
775
|
+
] = None,
|
|
776
|
+
output_dir: Annotated[
|
|
777
|
+
Path,
|
|
778
|
+
typer.Option(
|
|
779
|
+
"--output-dir",
|
|
780
|
+
"-o",
|
|
781
|
+
help="Where to dump the resource view mapping files.",
|
|
782
|
+
allow_dash=True,
|
|
783
|
+
),
|
|
784
|
+
] = Path("tmp"),
|
|
785
|
+
clean: Annotated[
|
|
786
|
+
bool,
|
|
787
|
+
typer.Option(
|
|
788
|
+
"--clean",
|
|
789
|
+
"-c",
|
|
790
|
+
help="Delete the output directory before dumping the resource view mappings.",
|
|
791
|
+
),
|
|
792
|
+
] = False,
|
|
793
|
+
verbose: Annotated[
|
|
794
|
+
bool,
|
|
795
|
+
typer.Option(
|
|
796
|
+
"--verbose",
|
|
797
|
+
"-v",
|
|
798
|
+
help="Turn on to get more verbose output when running the command",
|
|
799
|
+
),
|
|
800
|
+
] = False,
|
|
801
|
+
) -> None:
|
|
802
|
+
"""[MIGRATION] This command will dump the selected resource view mapping(s) as yaml to the folder specified, defaults to /tmp."""
|
|
803
|
+
client = EnvironmentVariables.create_from_environment().get_client()
|
|
804
|
+
cmd = DumpResourceCommand(client=client)
|
|
805
|
+
cmd.run(
|
|
806
|
+
lambda: cmd.dump_to_yamls(
|
|
807
|
+
ResourceViewMappingFinder(client, tuple(external_id) if external_id else None),
|
|
808
|
+
output_dir=output_dir,
|
|
809
|
+
clean=clean,
|
|
810
|
+
verbose=verbose,
|
|
811
|
+
)
|
|
812
|
+
)
|
|
813
|
+
|
|
761
814
|
|
|
762
815
|
class DumpDataApp(typer.Typer):
|
|
763
816
|
def __init__(self, *args: Any, **kwargs: Any) -> None:
|
|
@@ -313,6 +313,14 @@ class MigrateApp(typer.Typer):
|
|
|
313
313
|
help="If set, the migration will not be executed, but only a report of what would be done is printed.",
|
|
314
314
|
),
|
|
315
315
|
] = False,
|
|
316
|
+
auto_yes: Annotated[
|
|
317
|
+
bool,
|
|
318
|
+
typer.Option(
|
|
319
|
+
"--yes",
|
|
320
|
+
"-y",
|
|
321
|
+
help="(Only used with mapping-file) If set, no confirmation prompt will be shown before proceeding with the migration.",
|
|
322
|
+
),
|
|
323
|
+
] = False,
|
|
316
324
|
verbose: Annotated[
|
|
317
325
|
bool,
|
|
318
326
|
typer.Option(
|
|
@@ -331,6 +339,7 @@ class MigrateApp(typer.Typer):
|
|
|
331
339
|
consumption_view=consumption_view,
|
|
332
340
|
ingestion_mapping=ingestion_mapping,
|
|
333
341
|
dry_run=dry_run,
|
|
342
|
+
auto_yes=auto_yes,
|
|
334
343
|
verbose=verbose,
|
|
335
344
|
kind="Assets",
|
|
336
345
|
resource_type="asset",
|
|
@@ -356,6 +365,7 @@ class MigrateApp(typer.Typer):
|
|
|
356
365
|
data_set_id: str | None,
|
|
357
366
|
consumption_view: str | None,
|
|
358
367
|
ingestion_mapping: str | None,
|
|
368
|
+
auto_yes: bool,
|
|
359
369
|
dry_run: bool,
|
|
360
370
|
verbose: bool,
|
|
361
371
|
kind: AssetCentricKind,
|
|
@@ -365,7 +375,19 @@ class MigrateApp(typer.Typer):
|
|
|
365
375
|
if data_set_id is not None and mapping_file is not None:
|
|
366
376
|
raise typer.BadParameter("Cannot specify both data_set_id and mapping_file")
|
|
367
377
|
elif mapping_file is not None:
|
|
368
|
-
|
|
378
|
+
file_selector = MigrationCSVFileSelector(datafile=mapping_file, kind=kind)
|
|
379
|
+
selected: AssetCentricMigrationSelector = file_selector
|
|
380
|
+
|
|
381
|
+
panel = file_selector.items.print_status()
|
|
382
|
+
if panel is not None:
|
|
383
|
+
client.console.print(panel)
|
|
384
|
+
if not auto_yes:
|
|
385
|
+
proceed = questionary.confirm(
|
|
386
|
+
"Do you want to proceed with the migration?", default=False
|
|
387
|
+
).unsafe_ask()
|
|
388
|
+
if not proceed:
|
|
389
|
+
client.console.print("Migration aborted by user.")
|
|
390
|
+
raise typer.Abort()
|
|
369
391
|
elif data_set_id is not None:
|
|
370
392
|
parsed_view = parse_view_str(consumption_view) if consumption_view is not None else None
|
|
371
393
|
selected = MigrateDataSetSelector(
|
|
@@ -460,6 +482,14 @@ class MigrateApp(typer.Typer):
|
|
|
460
482
|
help="If set, the migration will not be executed, but only a report of what would be done is printed.",
|
|
461
483
|
),
|
|
462
484
|
] = False,
|
|
485
|
+
auto_yes: Annotated[
|
|
486
|
+
bool,
|
|
487
|
+
typer.Option(
|
|
488
|
+
"--yes",
|
|
489
|
+
"-y",
|
|
490
|
+
help="(Only used with mapping-file) If set, no confirmation prompt will be shown before proceeding with the migration.",
|
|
491
|
+
),
|
|
492
|
+
] = False,
|
|
463
493
|
verbose: Annotated[
|
|
464
494
|
bool,
|
|
465
495
|
typer.Option(
|
|
@@ -478,6 +508,7 @@ class MigrateApp(typer.Typer):
|
|
|
478
508
|
consumption_view=consumption_view,
|
|
479
509
|
ingestion_mapping=ingestion_mapping,
|
|
480
510
|
dry_run=dry_run,
|
|
511
|
+
auto_yes=auto_yes,
|
|
481
512
|
verbose=verbose,
|
|
482
513
|
kind="Events",
|
|
483
514
|
resource_type="event",
|
|
@@ -563,6 +594,14 @@ class MigrateApp(typer.Typer):
|
|
|
563
594
|
help="If set, the migration will not be executed, but only a report of what would be done is printed.",
|
|
564
595
|
),
|
|
565
596
|
] = False,
|
|
597
|
+
auto_yes: Annotated[
|
|
598
|
+
bool,
|
|
599
|
+
typer.Option(
|
|
600
|
+
"--yes",
|
|
601
|
+
"-y",
|
|
602
|
+
help="(Only used with mapping-file) If set, no confirmation prompt will be shown before proceeding with the migration.",
|
|
603
|
+
),
|
|
604
|
+
] = False,
|
|
566
605
|
verbose: Annotated[
|
|
567
606
|
bool,
|
|
568
607
|
typer.Option(
|
|
@@ -582,6 +621,7 @@ class MigrateApp(typer.Typer):
|
|
|
582
621
|
consumption_view=consumption_view,
|
|
583
622
|
ingestion_mapping=ingestion_mapping,
|
|
584
623
|
dry_run=dry_run,
|
|
624
|
+
auto_yes=auto_yes,
|
|
585
625
|
verbose=verbose,
|
|
586
626
|
kind="TimeSeries",
|
|
587
627
|
resource_type="timeseries",
|
|
@@ -670,6 +710,14 @@ class MigrateApp(typer.Typer):
|
|
|
670
710
|
help="If set, the migration will not be executed, but only a report of what would be done is printed.",
|
|
671
711
|
),
|
|
672
712
|
] = False,
|
|
713
|
+
auto_yes: Annotated[
|
|
714
|
+
bool,
|
|
715
|
+
typer.Option(
|
|
716
|
+
"--yes",
|
|
717
|
+
"-y",
|
|
718
|
+
help="(Only used with mapping-file) If set, no confirmation prompt will be shown before proceeding with the migration.",
|
|
719
|
+
),
|
|
720
|
+
] = False,
|
|
673
721
|
verbose: Annotated[
|
|
674
722
|
bool,
|
|
675
723
|
typer.Option(
|
|
@@ -689,6 +737,7 @@ class MigrateApp(typer.Typer):
|
|
|
689
737
|
consumption_view=consumption_view,
|
|
690
738
|
ingestion_mapping=ingestion_mapping,
|
|
691
739
|
dry_run=dry_run,
|
|
740
|
+
auto_yes=auto_yes,
|
|
692
741
|
verbose=verbose,
|
|
693
742
|
kind="FileMetadata",
|
|
694
743
|
resource_type="file",
|
|
@@ -10,6 +10,8 @@ from cognite.client.data_classes.data_modeling import EdgeId, InstanceApply, Nod
|
|
|
10
10
|
from cognite.client.utils._identifier import InstanceId
|
|
11
11
|
from cognite.client.utils._text import to_camel_case
|
|
12
12
|
from pydantic import BaseModel, BeforeValidator, Field, field_validator, model_validator
|
|
13
|
+
from rich.panel import Panel
|
|
14
|
+
from rich.text import Text
|
|
13
15
|
|
|
14
16
|
from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, RequestResource
|
|
15
17
|
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalId
|
|
@@ -24,6 +26,7 @@ from cognite_toolkit._cdf_tk.commands._migrate.default_mappings import (
|
|
|
24
26
|
)
|
|
25
27
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitValueError
|
|
26
28
|
from cognite_toolkit._cdf_tk.storageio._data_classes import ModelList
|
|
29
|
+
from cognite_toolkit._cdf_tk.utils import humanize_collection
|
|
27
30
|
from cognite_toolkit._cdf_tk.utils.useful_types import (
|
|
28
31
|
AssetCentricKindExtended,
|
|
29
32
|
JsonVal,
|
|
@@ -155,10 +158,46 @@ class MigrationMappingList(ModelList[MigrationMapping]):
|
|
|
155
158
|
}
|
|
156
159
|
if resource_type not in cls_by_resource_type:
|
|
157
160
|
raise ToolkitValueError(
|
|
158
|
-
f"Invalid resource type '{resource_type}'. Must be one of
|
|
161
|
+
f"Invalid resource type '{resource_type}'. Must be one of {humanize_collection(cls_by_resource_type.keys())}."
|
|
159
162
|
)
|
|
160
163
|
return cls_by_resource_type[resource_type].read_csv_file(filepath, resource_type=None)
|
|
161
164
|
|
|
165
|
+
def print_status(self) -> Panel | None:
|
|
166
|
+
if not self:
|
|
167
|
+
return None
|
|
168
|
+
first = self[0]
|
|
169
|
+
resource_type = first.resource_type
|
|
170
|
+
|
|
171
|
+
text = Text()
|
|
172
|
+
text.append(f"Migrating {len(self)} {resource_type}", style="bold")
|
|
173
|
+
if "ingestionView" in self.columns:
|
|
174
|
+
text.append("\n[green]Mapping column set[/green]")
|
|
175
|
+
else:
|
|
176
|
+
text.append(
|
|
177
|
+
"\n[WARNING] 'ingestionView' column not set in CSV file. This is NOT recommended. "
|
|
178
|
+
f"All {resource_type}s will be ingested into CogniteCore. If you want to ingest the {resource_type}s "
|
|
179
|
+
f"into your own data modeling views, please add an 'ingestionView' column to the CSV file.",
|
|
180
|
+
style="red",
|
|
181
|
+
)
|
|
182
|
+
if "consumerViewSpace" in self.columns and "consumerViewExternalId" in self.columns:
|
|
183
|
+
consumer_columns = ["consumerViewSpace", "consumerViewExternalId"]
|
|
184
|
+
if "consumerViewVersion" in self.columns:
|
|
185
|
+
consumer_columns.append("consumerViewVersion")
|
|
186
|
+
text.append(
|
|
187
|
+
"\nPreferred consumer views specified "
|
|
188
|
+
f"for the mappings using the {humanize_collection(consumer_columns)} columns.",
|
|
189
|
+
style="green",
|
|
190
|
+
)
|
|
191
|
+
else:
|
|
192
|
+
text.append(
|
|
193
|
+
"\n[WARNING] Consumer views have not been specified for the instances. "
|
|
194
|
+
f"This is NOT recommended as this is used to determine which view to use when migrating the {resource_type}s in applications like Canvas. "
|
|
195
|
+
"To specify preferred consumer views, add 'consumerViewSpace', 'consumerViewExternalId', and optionally 'consumerViewVersion' columns to the CSV file.",
|
|
196
|
+
style="red",
|
|
197
|
+
)
|
|
198
|
+
|
|
199
|
+
return Panel(text, title="Ready for migration", expand=False)
|
|
200
|
+
|
|
162
201
|
|
|
163
202
|
def _validate_node_id(value: Any) -> Any:
|
|
164
203
|
if isinstance(value, dict):
|
|
@@ -28,7 +28,7 @@ from cognite.client.data_classes._base import (
|
|
|
28
28
|
from cognite.client.data_classes.agents import (
|
|
29
29
|
AgentList,
|
|
30
30
|
)
|
|
31
|
-
from cognite.client.data_classes.data_modeling import DataModelId
|
|
31
|
+
from cognite.client.data_classes.data_modeling import DataModelId, NodeList
|
|
32
32
|
from cognite.client.data_classes.documents import SourceFileProperty
|
|
33
33
|
from cognite.client.data_classes.extractionpipelines import ExtractionPipelineConfigList
|
|
34
34
|
from cognite.client.data_classes.functions import (
|
|
@@ -53,6 +53,7 @@ from rich.panel import Panel
|
|
|
53
53
|
|
|
54
54
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
55
55
|
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.location_filters import LocationFilterList
|
|
56
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.migration import ResourceViewMapping
|
|
56
57
|
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.search_config import SearchConfigList
|
|
57
58
|
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.search_config import ViewId as SearchConfigViewId
|
|
58
59
|
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.streamlit_ import Streamlit, StreamlitList
|
|
@@ -69,6 +70,7 @@ from cognite_toolkit._cdf_tk.cruds import (
|
|
|
69
70
|
LocationFilterCRUD,
|
|
70
71
|
NodeCRUD,
|
|
71
72
|
ResourceCRUD,
|
|
73
|
+
ResourceViewMappingCRUD,
|
|
72
74
|
SearchConfigCRUD,
|
|
73
75
|
SpaceCRUD,
|
|
74
76
|
StreamlitCRUD,
|
|
@@ -797,6 +799,44 @@ class SearchConfigFinder(ResourceFinder[tuple[SearchConfigViewId, ...]]):
|
|
|
797
799
|
yield list(self.identifier), None, loader, None
|
|
798
800
|
|
|
799
801
|
|
|
802
|
+
class ResourceViewMappingFinder(ResourceFinder[tuple[str, ...]]):
|
|
803
|
+
def __init__(self, client: ToolkitClient, identifier: tuple[str, ...] | None = None):
|
|
804
|
+
super().__init__(client, identifier)
|
|
805
|
+
self.resource_view_mappings: list[ResourceViewMapping] | None = None
|
|
806
|
+
|
|
807
|
+
def _interactive_select(self) -> tuple[str, ...]:
|
|
808
|
+
mappings = self.client.migration.resource_view_mapping.list(limit=-1)
|
|
809
|
+
if not mappings:
|
|
810
|
+
raise ToolkitMissingResourceError("No resource view mappings found")
|
|
811
|
+
self.resource_view_mappings = list(mappings)
|
|
812
|
+
choices = [
|
|
813
|
+
Choice(
|
|
814
|
+
f"{mapping.external_id} ({mapping.resource_type} -> {mapping.view_id.external_id})",
|
|
815
|
+
value=mapping.external_id,
|
|
816
|
+
)
|
|
817
|
+
for mapping in sorted(mappings, key=lambda m: m.external_id)
|
|
818
|
+
]
|
|
819
|
+
selected_ids: list[str] | None = questionary.checkbox(
|
|
820
|
+
"Which resource view mapping(s) would you like to dump?",
|
|
821
|
+
choices=choices,
|
|
822
|
+
validate=lambda choices: True if choices else "You must select at least one resource view mapping.",
|
|
823
|
+
).unsafe_ask()
|
|
824
|
+
if not selected_ids:
|
|
825
|
+
raise ToolkitValueError(f"No resource view mappings selected for dumping.{_INTERACTIVE_SELECT_HELPER_TEXT}")
|
|
826
|
+
return tuple(selected_ids)
|
|
827
|
+
|
|
828
|
+
def __iter__(self) -> Iterator[tuple[list[Hashable], CogniteResourceList | None, ResourceCRUD, None | str]]:
|
|
829
|
+
self.identifier = self._selected()
|
|
830
|
+
loader = ResourceViewMappingCRUD.create_loader(self.client)
|
|
831
|
+
if self.resource_view_mappings:
|
|
832
|
+
selected_mappings = NodeList[ResourceViewMapping](
|
|
833
|
+
[m for m in self.resource_view_mappings if m.external_id in self.identifier]
|
|
834
|
+
)
|
|
835
|
+
yield [], selected_mappings, loader, None
|
|
836
|
+
else:
|
|
837
|
+
yield list(self.identifier), None, loader, None
|
|
838
|
+
|
|
839
|
+
|
|
800
840
|
class DumpResourceCommand(ToolkitCommand):
|
|
801
841
|
def dump_to_yamls(
|
|
802
842
|
self,
|
|
@@ -26,8 +26,10 @@ class ModelList(UserList[T_BaseModel], ABC):
|
|
|
26
26
|
collection: Collection[T_BaseModel] | None = None,
|
|
27
27
|
invalid_rows: dict[int, ResourceFormatWarning] | None = None,
|
|
28
28
|
unexpected_columns: set[str] | None = None,
|
|
29
|
+
columns: set[str] | None = None,
|
|
29
30
|
) -> None:
|
|
30
31
|
super().__init__(collection or [])
|
|
32
|
+
self.columns = columns or set()
|
|
31
33
|
self.invalid_rows = invalid_rows or {}
|
|
32
34
|
self.unexpected_columns = unexpected_columns or set()
|
|
33
35
|
|
|
@@ -53,7 +55,8 @@ class ModelList(UserList[T_BaseModel], ABC):
|
|
|
53
55
|
# We only need to read one row to get the header
|
|
54
56
|
schema = CSVReader.sniff_schema(filepath, sniff_rows=1)
|
|
55
57
|
cls._validate_schema(schema)
|
|
56
|
-
|
|
58
|
+
csv_file_columns = {col.name for col in schema}
|
|
59
|
+
unexpected_columns = csv_file_columns - cls._required_header_names() - cls._optional_header_names()
|
|
57
60
|
reader = CSVReader(input_file=filepath)
|
|
58
61
|
items: list[T_BaseModel] = []
|
|
59
62
|
invalid_rows: dict[int, ResourceFormatWarning] = {}
|
|
@@ -67,7 +70,7 @@ class ModelList(UserList[T_BaseModel], ABC):
|
|
|
67
70
|
else:
|
|
68
71
|
raise TypeError(f"Unexpected result type: {type(result)}")
|
|
69
72
|
|
|
70
|
-
return cls(items, invalid_rows, unexpected_columns)
|
|
73
|
+
return cls(items, invalid_rows, unexpected_columns, columns=csv_file_columns)
|
|
71
74
|
|
|
72
75
|
@classmethod
|
|
73
76
|
def _validate_schema(cls, schema: list[SchemaColumn]) -> None:
|
cognite_toolkit/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.7.
|
|
1
|
+
__version__ = "0.7.61"
|
|
@@ -7,10 +7,10 @@ cognite_toolkit/_cdf_tk/apps/_core_app.py,sha256=ogHzZCTILj6bHQn0GmLZRKldFHlxL33
|
|
|
7
7
|
cognite_toolkit/_cdf_tk/apps/_data_app.py,sha256=LeplXlxXtyIymRPgbatQrRFodU4VZBFxI0bqDutLSbg,806
|
|
8
8
|
cognite_toolkit/_cdf_tk/apps/_dev_app.py,sha256=zae8O55y4Gp-I1DLqh_yCRbRPOa-OlSVqXgrx_w-UV0,3313
|
|
9
9
|
cognite_toolkit/_cdf_tk/apps/_download_app.py,sha256=Iw-q4lIMagFQ7b8RVRubUQNAPbqFKP2NmPi30yI7qG0,40455
|
|
10
|
-
cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=
|
|
10
|
+
cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=8Z0D2snV48FC5eMBYJQ9fDnaNQCII3yrgrGolRtSOSc,39325
|
|
11
11
|
cognite_toolkit/_cdf_tk/apps/_import_app.py,sha256=5n5AF40HJ0Q_3LENCknG0MxH4pMUS8OwsqvtCYj_t7w,2086
|
|
12
12
|
cognite_toolkit/_cdf_tk/apps/_landing_app.py,sha256=qZqO0qN33-6TTF9O4fYuNF6zhJH-QyUWsuElWr8sH6w,1365
|
|
13
|
-
cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=
|
|
13
|
+
cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=XmSX8rYO65sfdYe5e8yjAofbhsfXa2kBFzGm3Kq4up8,49142
|
|
14
14
|
cognite_toolkit/_cdf_tk/apps/_modules_app.py,sha256=sbgTYVKSb-HdaSJrccZGLRj28ifCIjbxQC6eADy16vk,8958
|
|
15
15
|
cognite_toolkit/_cdf_tk/apps/_profile_app.py,sha256=ilJ8GuFkzexEAqZDuEqp7P-H_RxSFH2oO1t_bcDhJIQ,7067
|
|
16
16
|
cognite_toolkit/_cdf_tk/apps/_purge.py,sha256=P7WoQURdrUGDOvBQMZ695Xqj_j8Mfln6eIovGQdOqUE,14172
|
|
@@ -226,7 +226,7 @@ cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py,sha256=8ki04tJGH1dHdF2NtVF
|
|
|
226
226
|
cognite_toolkit/_cdf_tk/commands/_migrate/command.py,sha256=meyp2cFcq5Wtq4FvELSqdwHRA45o9FMWFL_5AnXALvc,13587
|
|
227
227
|
cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py,sha256=-sZktmsDIqkhNg-kg95Ty6eTm7FiyFRi1ZQLOkZ5x2w,17889
|
|
228
228
|
cognite_toolkit/_cdf_tk/commands/_migrate/creators.py,sha256=Gp3CKruTxeSDS3HiWiLsQ4mN2SZ4BQB5xQ50o68GTs8,9616
|
|
229
|
-
cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py,sha256=
|
|
229
|
+
cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py,sha256=_b2hXpTUI2_t-WKHzYXw1iSGb3w4pcIb53CTi9rbJ7k,13667
|
|
230
230
|
cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py,sha256=qHYeFCBBGPejbgC_g_uHNM8fJLBkxWBBNKLFILkPaTI,28097
|
|
231
231
|
cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py,sha256=0lRyDRJ8zo00OngwWagQgHQIaemK4eufW9kbWwZ9Yo0,7901
|
|
232
232
|
cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py,sha256=nH_wC0RzcI721sXwH_pThOxPv1nq4-oBd1rCDSGbr9Y,5555
|
|
@@ -253,7 +253,7 @@ cognite_toolkit/_cdf_tk/commands/build_v2/data_classes/_resource.py,sha256=4tNKk
|
|
|
253
253
|
cognite_toolkit/_cdf_tk/commands/clean.py,sha256=bsrT-W__Vd4c9rbGC8p-KosdcdH7519ipIwad1dpuqo,16716
|
|
254
254
|
cognite_toolkit/_cdf_tk/commands/collect.py,sha256=zBMKhhvjOpuASMnwP0eeHRI02tANcvFEZgv0CQO1ECc,627
|
|
255
255
|
cognite_toolkit/_cdf_tk/commands/deploy.py,sha256=GhVHFXbuAdMM_ax0wU-c8ALlkmU2DyEHoqIP7xpE1XQ,23354
|
|
256
|
-
cognite_toolkit/_cdf_tk/commands/dump_resource.py,sha256=
|
|
256
|
+
cognite_toolkit/_cdf_tk/commands/dump_resource.py,sha256=V6SRvzBur-P946PoZDMF2pxQ9wo2H-KvpfAHHDzIGrg,42926
|
|
257
257
|
cognite_toolkit/_cdf_tk/commands/init.py,sha256=og4PDPkRmjJ1sLq6cZ1Ozk6m7XnQPcE4I4RBtyrA0Yc,9427
|
|
258
258
|
cognite_toolkit/_cdf_tk/commands/modules.py,sha256=9s9pMHT6ySoO5TXBmG8Qe7z_iQka4ctLSE_wpf191MU,41447
|
|
259
259
|
cognite_toolkit/_cdf_tk/commands/pull.py,sha256=p2Per2Wpb5FmZU1qlsU1V-4PHWWbbLhkyv1XiAdDUSA,44086
|
|
@@ -373,7 +373,7 @@ cognite_toolkit/_cdf_tk/storageio/_annotations.py,sha256=QcFrikDgz-9VjNy4Xq7wchM
|
|
|
373
373
|
cognite_toolkit/_cdf_tk/storageio/_applications.py,sha256=Wer0j9dX9up2Nn0UB_KukC5x-TpFNixvPKyIy_ICpx4,21390
|
|
374
374
|
cognite_toolkit/_cdf_tk/storageio/_asset_centric.py,sha256=IM17Ouq-5ozbvr6LbE6-fiijorHUV734VRj7S2JjbJw,32822
|
|
375
375
|
cognite_toolkit/_cdf_tk/storageio/_base.py,sha256=9ynMSMWxZBVh52Vx4U7N_M8DkknR4v_hv9G5tgruWZk,13459
|
|
376
|
-
cognite_toolkit/_cdf_tk/storageio/_data_classes.py,sha256=
|
|
376
|
+
cognite_toolkit/_cdf_tk/storageio/_data_classes.py,sha256=wS9KFKg_Rl4i-pZj1io32xWeukD1jPKQojcVDySW2h0,3631
|
|
377
377
|
cognite_toolkit/_cdf_tk/storageio/_datapoints.py,sha256=43GvQGIqtc_NYLkeLw0JUX015gW1QTQx4Jba2tucHC8,20748
|
|
378
378
|
cognite_toolkit/_cdf_tk/storageio/_file_content.py,sha256=QPD7ba2rsZq7137CC0ZxkDPwfB3vQxy3XYtWDOF9gX0,19447
|
|
379
379
|
cognite_toolkit/_cdf_tk/storageio/_instances.py,sha256=2mb9nTC63cn3r1B9YqA0wAmHcbJhMDiET78T7XY5Yco,10821
|
|
@@ -432,13 +432,13 @@ cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi
|
|
|
432
432
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
|
|
433
433
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
|
|
434
434
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=OBFDhFWK1mlT4Dc6mDUE2Es834l8sAlYG50-5RxRtHk,723
|
|
435
|
-
cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=
|
|
436
|
-
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=
|
|
437
|
-
cognite_toolkit/_resources/cdf.toml,sha256=
|
|
438
|
-
cognite_toolkit/_version.py,sha256=
|
|
435
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=zJSH3g3zv_WpISBObwAezRGoRTbW9u1Z0oet9teVHh0,667
|
|
436
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=IU0cSDAzXnlCj1Q_w1PPI5WRVPMk1XkTHVEMJ2fKilI,2430
|
|
437
|
+
cognite_toolkit/_resources/cdf.toml,sha256=FmX_hAxEVzghXUlYYZtmUC2qrdhkv7fDpmDgzgFCa90,475
|
|
438
|
+
cognite_toolkit/_version.py,sha256=nnN1KGFIyav_JeSFcpJNcA3TybG4__uPpHfhpv8AtFc,23
|
|
439
439
|
cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
|
|
440
440
|
cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
|
|
441
|
-
cognite_toolkit-0.7.
|
|
442
|
-
cognite_toolkit-0.7.
|
|
443
|
-
cognite_toolkit-0.7.
|
|
444
|
-
cognite_toolkit-0.7.
|
|
441
|
+
cognite_toolkit-0.7.61.dist-info/WHEEL,sha256=e_m4S054HL0hyR3CpOk-b7Q7fDX6BuFkgL5OjAExXas,80
|
|
442
|
+
cognite_toolkit-0.7.61.dist-info/entry_points.txt,sha256=EtZ17K2mUjh-AY0QNU1CPIB_aDSSOdmtNI_4Fj967mA,84
|
|
443
|
+
cognite_toolkit-0.7.61.dist-info/METADATA,sha256=UrmXRAFcA-IvLVxM7J3ZkSQ-vLv6__j1dO9bBZWBBVk,5026
|
|
444
|
+
cognite_toolkit-0.7.61.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|