cognite-toolkit 0.6.102__py3-none-any.whl → 0.6.103__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.
@@ -10,6 +10,7 @@ from cognite_toolkit._cdf_tk.commands import DownloadCommand
10
10
  from cognite_toolkit._cdf_tk.constants import DATA_DEFAULT_DIR
11
11
  from cognite_toolkit._cdf_tk.storageio import (
12
12
  AssetIO,
13
+ ChartIO,
13
14
  HierarchyIO,
14
15
  InstanceIO,
15
16
  RawIO,
@@ -17,6 +18,8 @@ from cognite_toolkit._cdf_tk.storageio import (
17
18
  from cognite_toolkit._cdf_tk.storageio.selectors import (
18
19
  AssetCentricSelector,
19
20
  AssetSubtreeSelector,
21
+ ChartExternalIdSelector,
22
+ ChartSelector,
20
23
  DataSetSelector,
21
24
  InstanceSpaceSelector,
22
25
  RawTableSelector,
@@ -27,6 +30,7 @@ from cognite_toolkit._cdf_tk.utils.auth import EnvironmentVariables
27
30
  from cognite_toolkit._cdf_tk.utils.interactive_select import (
28
31
  AssetInteractiveSelect,
29
32
  DataModelingSelect,
33
+ InteractiveChartSelect,
30
34
  RawTableInteractiveSelect,
31
35
  )
32
36
 
@@ -50,6 +54,10 @@ class InstanceFormats(str, Enum):
50
54
  ndjson = "ndjson"
51
55
 
52
56
 
57
+ class ChartFormats(str, Enum):
58
+ ndjson = "ndjson"
59
+
60
+
53
61
  class InstanceTypes(str, Enum):
54
62
  node = "node"
55
63
  edge = "edge"
@@ -71,6 +79,7 @@ class DownloadApp(typer.Typer):
71
79
  self.command("assets")(self.download_assets_cmd)
72
80
  self.command("hierarchy")(self.download_hierarchy_cmd)
73
81
  self.command("instances")(self.download_instances_cmd)
82
+ self.command("charts")(self.download_charts_cmd)
74
83
 
75
84
  @staticmethod
76
85
  def download_main(ctx: typer.Context) -> None:
@@ -476,3 +485,76 @@ class DownloadApp(typer.Typer):
476
485
  verbose=verbose,
477
486
  )
478
487
  )
488
+
489
+ @staticmethod
490
+ def download_charts_cmd(
491
+ ctx: typer.Context,
492
+ external_ids: Annotated[
493
+ list[str] | None,
494
+ typer.Argument(
495
+ help="List of chart external IDs to download. If not provided, an interactive selection will be made.",
496
+ ),
497
+ ] = None,
498
+ file_format: Annotated[
499
+ ChartFormats,
500
+ typer.Option(
501
+ "--format",
502
+ "-f",
503
+ help="Format for downloading the charts.",
504
+ ),
505
+ ] = ChartFormats.ndjson,
506
+ compression: Annotated[
507
+ CompressionFormat,
508
+ typer.Option(
509
+ "--compression",
510
+ "-z",
511
+ help="Compression format to use when downloading the instances.",
512
+ ),
513
+ ] = CompressionFormat.none,
514
+ output_dir: Annotated[
515
+ Path,
516
+ typer.Option(
517
+ "--output-dir",
518
+ "-o",
519
+ help="Where to download the charts.",
520
+ allow_dash=True,
521
+ ),
522
+ ] = DEFAULT_DOWNLOAD_DIR,
523
+ limit: Annotated[
524
+ int,
525
+ typer.Option(
526
+ "--limit",
527
+ "-l",
528
+ help="The maximum number of charts to download. Use -1 to download all charts.",
529
+ ),
530
+ ] = 1000,
531
+ verbose: Annotated[
532
+ bool,
533
+ typer.Option(
534
+ "--verbose",
535
+ "-v",
536
+ help="Turn on to get more verbose output when running the command",
537
+ ),
538
+ ] = False,
539
+ ) -> None:
540
+ """This command will download Charts from CDF into a temporary directory."""
541
+ cmd = DownloadCommand()
542
+ client = EnvironmentVariables.create_from_environment().get_client()
543
+ selector: ChartSelector
544
+ if external_ids is None:
545
+ selected_external_ids = InteractiveChartSelect(client).select_external_ids()
546
+ selector = ChartExternalIdSelector(external_ids=tuple(selected_external_ids))
547
+ else:
548
+ selector = ChartExternalIdSelector(external_ids=tuple(external_ids))
549
+
550
+ cmd.run(
551
+ lambda: cmd.download(
552
+ selectors=[selector],
553
+ io=ChartIO(client),
554
+ output_dir=output_dir,
555
+ file_format=f".{file_format.value}",
556
+ compression=compression.value,
557
+ limit=limit if limit != -1 else None,
558
+ verbose=verbose,
559
+ )
560
+ )
@@ -10,7 +10,7 @@ from cognite_toolkit._cdf_tk.utils.collection import chunker_sequence
10
10
  from cognite_toolkit._cdf_tk.utils.useful_types import JsonVal
11
11
 
12
12
  from ._base import Page, UploadableStorageIO
13
- from .selectors import AllChartsSelector, CanvasSelector, ChartOwnerSelector, ChartSelector
13
+ from .selectors import AllChartsSelector, CanvasSelector, ChartExternalIdSelector, ChartOwnerSelector, ChartSelector
14
14
 
15
15
 
16
16
  class ChartIO(UploadableStorageIO[ChartSelector, Chart, ChartWrite]):
@@ -30,29 +30,15 @@ class ChartIO(UploadableStorageIO[ChartSelector, Chart, ChartWrite]):
30
30
  ...
31
31
  elif isinstance(selector, ChartOwnerSelector):
32
32
  selected_charts = ChartList([chart for chart in selected_charts if chart.owner_id == selector.owner_id])
33
+ elif isinstance(selector, ChartExternalIdSelector):
34
+ external_id_set = set(selector.external_ids)
35
+ selected_charts = ChartList([chart for chart in selected_charts if chart.external_id in external_id_set])
33
36
  else:
34
37
  raise ToolkitNotImplementedError(f"Unsupported selector type {type(selector).__name__!r} for ChartIO")
35
38
 
36
39
  if limit is not None:
37
40
  selected_charts = ChartList(selected_charts[:limit])
38
41
  for chunk in chunker_sequence(selected_charts, self.CHUNK_SIZE):
39
- ts_ids_to_lookup = {
40
- ts_ref.ts_id
41
- for chart in chunk
42
- for ts_ref in chart.data.time_series_collection or []
43
- if ts_ref.ts_external_id is None and ts_ref.ts_id is not None
44
- }
45
-
46
- if ts_ids_to_lookup:
47
- retrieved_ts = self.client.time_series.retrieve_multiple(
48
- ids=list(ts_ids_to_lookup), ignore_unknown_ids=True
49
- )
50
- id_to_external_id = {ts.id: ts.external_id for ts in retrieved_ts}
51
-
52
- for chart in chunk:
53
- for ts_ref in chart.data.time_series_collection or []:
54
- if ts_ref.ts_id in id_to_external_id:
55
- ts_ref.ts_external_id = id_to_external_id[ts_ref.ts_id]
56
42
  yield Page(worker_id="main", items=chunk)
57
43
 
58
44
  def count(self, selector: ChartSelector) -> int | None:
@@ -62,7 +48,32 @@ class ChartIO(UploadableStorageIO[ChartSelector, Chart, ChartWrite]):
62
48
  def data_to_json_chunk(
63
49
  self, data_chunk: Sequence[Chart], selector: ChartSelector | None = None
64
50
  ) -> list[dict[str, JsonVal]]:
65
- return [chart.as_write().dump() for chart in data_chunk]
51
+ self._populate_timeseries_id_cache(data_chunk)
52
+ return [self._dump_resource(chart) for chart in data_chunk]
53
+
54
+ def _populate_timeseries_id_cache(self, data_chunk: Sequence[Chart]) -> None:
55
+ timeseries_ids: set[int] = set()
56
+ for chart in data_chunk:
57
+ for item in chart.data.time_series_collection or []:
58
+ if item.ts_id is not None and item.ts_external_id is None:
59
+ # We only look-up the internalID if the externalId is missing
60
+ timeseries_ids.add(item.ts_id)
61
+ if timeseries_ids:
62
+ self.client.lookup.time_series.external_id(list(timeseries_ids))
63
+
64
+ def _dump_resource(self, chart: Chart) -> dict[str, JsonVal]:
65
+ dumped = chart.as_write().dump()
66
+ if isinstance(data := dumped.get("data"), dict) and isinstance(
67
+ collection := data.get("timeSeriesCollection"), list
68
+ ):
69
+ for item in collection:
70
+ ts_id = item.pop("tsId", None)
71
+ if ts_id and item.get("tsExternalId") is None:
72
+ # We only look-up the externalID if it is missing
73
+ ts_external_id = self.client.lookup.time_series.external_id(ts_id)
74
+ if ts_external_id is not None:
75
+ item["tsExternalId"] = ts_external_id
76
+ return dumped
66
77
 
67
78
  def json_to_resource(self, item_json: dict[str, JsonVal]) -> ChartWrite:
68
79
  return ChartWrite._load(item_json)
@@ -5,7 +5,7 @@ from pydantic import Field, TypeAdapter
5
5
  from ._asset_centric import AssetCentricFileSelector, AssetCentricSelector, AssetSubtreeSelector, DataSetSelector
6
6
  from ._base import DataSelector
7
7
  from ._canvas import CanvasSelector
8
- from ._charts import AllChartsSelector, ChartOwnerSelector, ChartSelector
8
+ from ._charts import AllChartsSelector, ChartExternalIdSelector, ChartOwnerSelector, ChartSelector
9
9
  from ._datapoints import (
10
10
  DataPointsFileSelector,
11
11
  ExternalIdColumn,
@@ -32,7 +32,8 @@ Selector = Annotated[
32
32
  | AssetSubtreeSelector
33
33
  | AssetCentricFileSelector
34
34
  | DataSetSelector
35
- | DataPointsFileSelector,
35
+ | DataPointsFileSelector
36
+ | ChartExternalIdSelector,
36
37
  Field(discriminator="type"),
37
38
  ]
38
39
 
@@ -45,6 +46,7 @@ __all__ = [
45
46
  "AssetCentricSelector",
46
47
  "AssetSubtreeSelector",
47
48
  "CanvasSelector",
49
+ "ChartExternalIdSelector",
48
50
  "ChartOwnerSelector",
49
51
  "ChartSelector",
50
52
  "DataPointsFileSelector",
@@ -1,3 +1,4 @@
1
+ import hashlib
1
2
  from abc import ABC
2
3
  from typing import Literal
3
4
 
@@ -29,3 +30,16 @@ class AllChartsSelector(ChartSelector):
29
30
 
30
31
  def __str__(self) -> str:
31
32
  return "all"
33
+
34
+
35
+ class ChartExternalIdSelector(ChartSelector):
36
+ type: Literal["chartExternalId"] = "chartExternalId"
37
+ external_ids: tuple[str, ...]
38
+
39
+ @property
40
+ def group(self) -> str:
41
+ return "Charts"
42
+
43
+ def __str__(self) -> str:
44
+ hash_ = hashlib.md5(",".join(sorted(self.external_ids)).encode()).hexdigest()[:8]
45
+ return f"chart_count_{len(self.external_ids)}_hash_{hash_}"
@@ -14,9 +14,6 @@ from cognite.client.data_classes import (
14
14
  filters,
15
15
  )
16
16
  from cognite.client.data_classes.aggregations import Count
17
- from cognite.client.data_classes.capabilities import (
18
- UserProfilesAcl,
19
- )
20
17
  from cognite.client.data_classes.data_modeling import ContainerId, NodeList, Space, SpaceList, View, ViewId, ViewList
21
18
  from cognite.client.data_classes.data_modeling.statistics import SpaceStatistics
22
19
  from cognite.client.utils import ms_to_datetime
@@ -28,7 +25,7 @@ from cognite_toolkit._cdf_tk.client.data_classes.canvas import Canvas
28
25
  from cognite_toolkit._cdf_tk.client.data_classes.charts import Chart, ChartList, Visibility
29
26
  from cognite_toolkit._cdf_tk.client.data_classes.migration import ResourceViewMapping
30
27
  from cognite_toolkit._cdf_tk.client.data_classes.raw import RawTable
31
- from cognite_toolkit._cdf_tk.exceptions import AuthorizationError, ToolkitMissingResourceError, ToolkitValueError
28
+ from cognite_toolkit._cdf_tk.exceptions import ToolkitMissingResourceError, ToolkitValueError
32
29
 
33
30
  from . import humanize_collection
34
31
  from .aggregators import (
@@ -406,13 +403,6 @@ class InteractiveChartSelect:
406
403
  return user_response
407
404
 
408
405
  def _select_external_ids(self, select_filter: ChartFilter) -> list[str]:
409
- if not self.client.iam.verify_capabilities(
410
- UserProfilesAcl([UserProfilesAcl.Action.Read], scope=UserProfilesAcl.Scope.All())
411
- ):
412
- raise AuthorizationError(
413
- "The current user does not have permission to list user profiles, "
414
- "which is required to select Charts owned by a specific user."
415
- )
416
406
  available_charts = self.client.charts.list(visibility=(select_filter.visibility or "PUBLIC"))
417
407
  if select_filter.select_all and select_filter.owned_by is None:
418
408
  return [chart.external_id for chart in available_charts]
@@ -12,7 +12,7 @@ jobs:
12
12
  environment: dev
13
13
  name: Deploy
14
14
  container:
15
- image: cognite/toolkit:0.6.102
15
+ image: cognite/toolkit:0.6.103
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.6.102
13
+ image: cognite/toolkit:0.6.103
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.6.102"
7
+ version = "0.6.103"
8
8
 
9
9
  [alpha_flags]
10
10
  external-libraries = true
@@ -1 +1 @@
1
- __version__ = "0.6.102"
1
+ __version__ = "0.6.103"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.6.102
3
+ Version: 0.6.103
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=eVj7WO8TgxNIfEDss7VOsib9ytOpdsLTL-UvbareyhY,24
3
+ cognite_toolkit/_version.py,sha256=bc53ksubP4hX6ZFjw8Qz9xxUaOPhtPL-MFyFCBVOWBI,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=Z0nsRXBrqVUgalMa7MZFiwPp26KUfaHqX2h89Daox-M,6936
@@ -16,7 +16,7 @@ cognite_toolkit/_cdf_tk/apps/_auth_app.py,sha256=ER7uYb3ViwsHMXiQEZpyhwU6TIjKaB9
16
16
  cognite_toolkit/_cdf_tk/apps/_core_app.py,sha256=Xlhdv2MoCs2kBk0kgJixiy8ouCfixUWXuK3crEXAqB0,14032
17
17
  cognite_toolkit/_cdf_tk/apps/_data_app.py,sha256=rFnTcUBAuoFcTQCjxwqZGG0HjUMGdYTFyBGXxWg5gXE,824
18
18
  cognite_toolkit/_cdf_tk/apps/_dev_app.py,sha256=q8DBr4BAK33AwsHW3gAWZWSjSaQRuCisqPbsBjmYSxk,589
19
- cognite_toolkit/_cdf_tk/apps/_download_app.py,sha256=faAuhFYn7eQ_uzP3BNmnXeaeeoyZR1JvRZx2ATKrsao,16691
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
22
  cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=xkXo1h3eQ14D5uQ0qQdq01etS1FV_fg6ZnvxMt8H-os,30580
@@ -239,18 +239,18 @@ cognite_toolkit/_cdf_tk/resource_classes/robotics/location.py,sha256=dbc9HT-bc2Q
239
239
  cognite_toolkit/_cdf_tk/resource_classes/robotics/map.py,sha256=j77z7CzCMiMj8r94BdUKCum9EuZRUjaSlUAy9K9DL_Q,942
240
240
  cognite_toolkit/_cdf_tk/storageio/__init__.py,sha256=SSMV-W_uqMwS9I0xazBfAyNRqKWlAuLlABropMBEa50,2434
241
241
  cognite_toolkit/_cdf_tk/storageio/_annotations.py,sha256=N5z2umaPwBo3OKIyGhNx2geRTBYhAeG3YhCAYm2hyao,4655
242
- cognite_toolkit/_cdf_tk/storageio/_applications.py,sha256=bhyG1d2_9duPkX-otC2brVcpChvdXSPkYhBHS5T_72g,4343
242
+ cognite_toolkit/_cdf_tk/storageio/_applications.py,sha256=nqFB54C06UA-u5hoTtVza91XrscOktYt0mMsCkh1x-o,5091
243
243
  cognite_toolkit/_cdf_tk/storageio/_asset_centric.py,sha256=DbTvIneN8Hw3ByhdH1kXkS7Gw68oXEWtIqlZGZgLMg0,33704
244
244
  cognite_toolkit/_cdf_tk/storageio/_base.py,sha256=6f4akYlaOp8t22ecb8ZEt1rcBU58oD-iPm8UdwLdPuE,11716
245
245
  cognite_toolkit/_cdf_tk/storageio/_data_classes.py,sha256=s3TH04BJ1q7rXndRhEbVMEnoOXjxrGg4n-w9Z5uUL-o,3480
246
246
  cognite_toolkit/_cdf_tk/storageio/_datapoints.py,sha256=nV8jaF5YLvMKhDPU3euf554GvSmfNYkzC9ZvEF7kbP8,8660
247
247
  cognite_toolkit/_cdf_tk/storageio/_instances.py,sha256=t9fNpHnT6kCk8LDoPj3qZXmHpyDbPF5BZ6pI8ziTyFw,10810
248
248
  cognite_toolkit/_cdf_tk/storageio/_raw.py,sha256=5WjAFiVR0KKRhMqCy1IRy1TQFWj86D7nGu5WSFNLp6U,3869
249
- cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py,sha256=KqbQDKKyjD8hndVjpIYSUWbEsvovxnGnvX_84bwZKfI,1629
249
+ cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py,sha256=kvk7zdI_N2VobkrWTYRDuq1fSpy2Z99MsJp1sBa_KrQ,1715
250
250
  cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py,sha256=7Iv_ccVX6Vzt3ZLFZ0Er3hN92iEsFTm9wgF-yermOWE,1467
251
251
  cognite_toolkit/_cdf_tk/storageio/selectors/_base.py,sha256=FsHF63HIcVstvXPGLJ2WeDiEIC7JUVHXfhBtbJk-dF8,2440
252
252
  cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py,sha256=fs0i5rI13x6IStOPFQ3E-n8ey1eoV_QORD1-RtPF4A4,182
253
- cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py,sha256=vcSjubTSd6_x3bA72vqk-9enp35V_opk6ZtzV2ZE_UQ,602
253
+ cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py,sha256=lQHuNtF3i6SEIMPAlziMm0QlqRcvZJ7MKIug6HMTDrs,1012
254
254
  cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py,sha256=EHVkWJYJ_HCs2i4Ur6Fj98UwuDvf67u0HOzrJXAHNt0,1719
255
255
  cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py,sha256=NCFSJrAw52bNX6UTfOali8PvNjlqHnvxzL0hYBr7ZmA,4934
256
256
  cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py,sha256=sZq9C4G9DMe3S46_usKet0FphQ6ow7cWM_PfXrEAakk,503
@@ -272,7 +272,7 @@ cognite_toolkit/_cdf_tk/utils/dtype_conversion.py,sha256=HRguV7h13w-wm6CaMRRmQsS
272
272
  cognite_toolkit/_cdf_tk/utils/file.py,sha256=0OYQgRRmursxHDW7-QJf-qcnzyc7IZsiKSiX8aYmPA0,17763
273
273
  cognite_toolkit/_cdf_tk/utils/graphql_parser.py,sha256=2i2wDjg_Uw3hJ-pHtPK8hczIuCj5atrK8HZbgWJB-Pk,11532
274
274
  cognite_toolkit/_cdf_tk/utils/hashing.py,sha256=3NyNfljyYNTqAyAFBd6XlyWaj43jRzENxIuPdOY6nqo,2116
275
- cognite_toolkit/_cdf_tk/utils/interactive_select.py,sha256=veV93_O-gATbQ1PfRbZq0VotTgaXA4JcU34j_nLKpSU,36155
275
+ cognite_toolkit/_cdf_tk/utils/interactive_select.py,sha256=mC-sJHd-a-brJQjz-lh5IEwo7EZ1De5LWO_x_-rz2GQ,35685
276
276
  cognite_toolkit/_cdf_tk/utils/modules.py,sha256=9RvOGUaGEi_-A7Qrq0E1tCx82QK8GbvEZXB7r1RnD_U,5974
277
277
  cognite_toolkit/_cdf_tk/utils/producer_worker.py,sha256=1l77HIehkq1ARCBH6SlZ_V-jd6QKijYKeWetcUmAXg0,14216
278
278
  cognite_toolkit/_cdf_tk/utils/progress_tracker.py,sha256=LGpC22iSTTlo6FWi38kqBu_E4XouTvZU_N953WAzZWA,3865
@@ -299,13 +299,13 @@ cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi
299
299
  cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
300
300
  cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
301
301
  cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=OBFDhFWK1mlT4Dc6mDUE2Es834l8sAlYG50-5RxRtHk,723
302
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=ZNtXMpZfGA1PJhUjLHaqa05bU7rSboqBnjJ4jRZx9_4,668
303
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=qV42l3Zd4d6-MOoqfumy1OrcO4rHBh4FNq05lhkxEBE,2431
304
- cognite_toolkit/_resources/cdf.toml,sha256=fN4eYvs14rEM4LqslgzANHrLr43XMgXt7Qt2D9kfN3E,488
302
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=35BV9thL8pJRVLbKuXEoT0_j4R2SToeQQ81mQF75Q1c,668
303
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=xBsffXwMEnOPTRX6_J8g2plbgXKOL9VuDPDTG3sUIK0,2431
304
+ cognite_toolkit/_resources/cdf.toml,sha256=TgAvDSPHTIqkgLiKA0gt61-nzIH3np8GflSw1mWWyjo,488
305
305
  cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
306
306
  cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
307
- cognite_toolkit-0.6.102.dist-info/METADATA,sha256=6DikUK1mstVYjmjJ05PS00S3VUPn2SLMPtcoTnMOLo8,4502
308
- cognite_toolkit-0.6.102.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
309
- cognite_toolkit-0.6.102.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
310
- cognite_toolkit-0.6.102.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
311
- cognite_toolkit-0.6.102.dist-info/RECORD,,
307
+ cognite_toolkit-0.6.103.dist-info/METADATA,sha256=eHyjnA0JjNbvpCRCwQYPzPTSYjgHHQEYSiS-cz0WLA8,4502
308
+ cognite_toolkit-0.6.103.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
309
+ cognite_toolkit-0.6.103.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
310
+ cognite_toolkit-0.6.103.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
311
+ cognite_toolkit-0.6.103.dist-info/RECORD,,