cognite-toolkit 0.6.98__py3-none-any.whl → 0.6.100__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.
@@ -345,7 +345,16 @@ class CoreApp(typer.Typer):
345
345
  list[str] | None,
346
346
  typer.Option(
347
347
  "--include",
348
- help=f"Specify which resource types to deploy, supported types: {AVAILABLE_DATA_TYPES}",
348
+ help=f"Specify which resource types to clean, supported types: {AVAILABLE_DATA_TYPES}",
349
+ ),
350
+ ] = None,
351
+ module: Annotated[
352
+ str | None,
353
+ typer.Option(
354
+ "--module",
355
+ "-m",
356
+ help="Specify name or path of the module to clean",
357
+ hidden=not Flags.v07.is_enabled(),
349
358
  ),
350
359
  ] = None,
351
360
  verbose: Annotated[
@@ -368,6 +377,8 @@ class CoreApp(typer.Typer):
368
377
  build_env_name,
369
378
  dry_run,
370
379
  include,
380
+ module,
371
381
  verbose,
382
+ all_modules=True if not Flags.v07.is_enabled() else False,
372
383
  )
373
384
  )
@@ -2,6 +2,7 @@ import traceback
2
2
  from graphlib import TopologicalSorter
3
3
  from pathlib import Path
4
4
 
5
+ import questionary
5
6
  from cognite.client.exceptions import CogniteAPIError, CogniteNotFoundError
6
7
  from cognite.client.utils.useful_types import SequenceNotStr
7
8
  from rich import print
@@ -40,8 +41,10 @@ from cognite_toolkit._cdf_tk.data_classes import (
40
41
  from cognite_toolkit._cdf_tk.data_classes._module_directories import ReadModule
41
42
  from cognite_toolkit._cdf_tk.exceptions import (
42
43
  ToolkitCleanResourceError,
44
+ ToolkitMissingModuleError,
43
45
  ToolkitNotADirectoryError,
44
46
  ToolkitValidationError,
47
+ ToolkitValueError,
45
48
  )
46
49
  from cognite_toolkit._cdf_tk.tk_warnings import (
47
50
  LowSeverityWarning,
@@ -185,6 +188,23 @@ class CleanCommand(ToolkitCommand):
185
188
  self._verbose_print_drop(resource_drop_count, resource_ids, loader, dry_run)
186
189
  return nr_of_dropped
187
190
 
191
+ def _interactive_module_selection(self, built_modules: list[ReadModule] | None) -> list[ReadModule] | None:
192
+ if not built_modules:
193
+ return None
194
+ choices = [
195
+ questionary.Choice(title=built_module.dir.name, value=built_module) for built_module in built_modules
196
+ ]
197
+
198
+ selected_modules = questionary.checkbox(
199
+ "Which modules would you like to clean?",
200
+ instruction="Use arrow up/down, press space to select item(s) and enter to save",
201
+ choices=choices,
202
+ ).ask()
203
+
204
+ if not selected_modules:
205
+ return None
206
+ return selected_modules
207
+
188
208
  def _verbose_print_drop(
189
209
  self, drop_count: int, resource_ids: SequenceNotStr[T_ID], loader: ResourceContainerCRUD, dry_run: bool
190
210
  ) -> None:
@@ -204,6 +224,11 @@ class CleanCommand(ToolkitCommand):
204
224
  # Count is not supported
205
225
  print(f" {prefix} all {loader.item_name} from {loader.display_name}: {_print_ids_or_length(resource_ids)}.")
206
226
 
227
+ def _select_modules(self, clean_state: BuildEnvironment, module_str: str | None) -> list[ReadModule] | None:
228
+ if module_str:
229
+ return [module for module in clean_state.read_modules if module.dir.name == module_str]
230
+ return self._interactive_module_selection(clean_state.read_modules)
231
+
207
232
  def execute(
208
233
  self,
209
234
  env_vars: EnvironmentVariables,
@@ -211,7 +236,9 @@ class CleanCommand(ToolkitCommand):
211
236
  build_env_name: str | None,
212
237
  dry_run: bool,
213
238
  include: list[str] | None,
239
+ module_str: str | None,
214
240
  verbose: bool,
241
+ all_modules: bool = False,
215
242
  ) -> None:
216
243
  if not build_dir.exists():
217
244
  raise ToolkitNotADirectoryError(
@@ -245,9 +272,31 @@ class CleanCommand(ToolkitCommand):
245
272
  )
246
273
 
247
274
  if not build_dir.is_dir():
248
- raise ToolkitNotADirectoryError(f"'{build_dir}'. Did you forget to run `cdf-tk build` first?")
275
+ raise ToolkitNotADirectoryError(f"'{build_dir}'. Did you forget to run `cdf build` first?")
276
+
277
+ selected_modules: list[ReadModule]
278
+ if all_modules:
279
+ selected_modules = clean_state.read_modules or []
280
+ if not selected_modules:
281
+ raise ToolkitValueError("No modules available to clean.")
282
+ elif module_str:
283
+ selected_modules = [module for module in clean_state.read_modules if module.dir.name == module_str]
284
+ if not selected_modules:
285
+ available_module_names = {module.dir.name for module in clean_state.read_modules}
286
+ raise ToolkitMissingModuleError(
287
+ f"No modules matched the selection: {module_str}. Available modules: {sorted(available_module_names)}"
288
+ )
289
+ else:
290
+ selected_modules = self._interactive_module_selection(clean_state.read_modules) or []
291
+ if not selected_modules:
292
+ raise ToolkitValueError(
293
+ "No module specified with the --module option and no modules selected interactively."
294
+ )
249
295
 
250
- selected_loaders = self.get_selected_loaders(build_dir, clean_state.read_resource_folders, include)
296
+ selected_resource_folders = {
297
+ resource_folder for module in selected_modules for resource_folder in module.resource_directories
298
+ }
299
+ selected_loaders = self.get_selected_loaders(build_dir, selected_resource_folders, include)
251
300
 
252
301
  results = DeployResults([], "clean", dry_run=dry_run)
253
302
 
@@ -274,7 +323,7 @@ class CleanCommand(ToolkitCommand):
274
323
  result = self.clean_resources(
275
324
  loader,
276
325
  env_vars=env_vars,
277
- read_modules=clean_state.read_modules,
326
+ read_modules=selected_modules,
278
327
  drop=True,
279
328
  dry_run=dry_run,
280
329
  drop_data=True,
@@ -161,6 +161,17 @@ COGNITE_TIME_SERIES_CONTAINER = ContainerId("cdf_cdm", "CogniteTimeSeries")
161
161
  COGNITE_FILE_CONTAINER = ContainerId("cdf_cdm", "CogniteFile")
162
162
  CDF_UNIT_SPACE = "cdf_cdm_units"
163
163
 
164
+
165
+ # Container properties that are read-only in DMS needs to be handled with extra care, as this aspect is not currently exposed by the API.
166
+ READONLY_CONTAINER_PROPERTIES = {
167
+ ContainerId(space="cdf_cdm", external_id="CogniteAsset"): {
168
+ "assetHierarchy_path_last_updated_time",
169
+ "assetHierarchy_path",
170
+ "assetHierarchy_root",
171
+ },
172
+ ContainerId(space="cdf_cdm", external_id="CogniteFile"): {"isUploaded", "uploadedTime"},
173
+ }
174
+
164
175
  # Data Plugin Constants
165
176
  DATA_DEFAULT_DIR = "data"
166
177
  DATA_RESOURCE_DIR = "resources"
@@ -45,6 +45,7 @@ from cognite.client.data_classes.data_modeling import (
45
45
  EdgeApplyList,
46
46
  EdgeApplyResultList,
47
47
  EdgeList,
48
+ MappedProperty,
48
49
  Node,
49
50
  NodeApply,
50
51
  NodeApplyList,
@@ -74,6 +75,7 @@ from rich.console import Console
74
75
  from rich.markup import escape
75
76
  from rich.panel import Panel
76
77
 
78
+ from cognite_toolkit._cdf_tk import constants
77
79
  from cognite_toolkit._cdf_tk.client import ToolkitClient
78
80
  from cognite_toolkit._cdf_tk.client.data_classes.graphql_data_models import (
79
81
  GraphQLDataModel,
@@ -669,6 +671,26 @@ class ViewCRUD(ResourceCRUD[ViewId, ViewApply, View, ViewApplyList, ViewList]):
669
671
  self._view_by_id[view.as_id()] = view
670
672
  return {view_id: self._view_by_id[view_id] for view_id in view_ids if view_id in self._view_by_id}
671
673
 
674
+ def get_readonly_properties(self, view_id: ViewId) -> set[str]:
675
+ """Retrieve the set of read-only properties for a given view."""
676
+
677
+ readonly_properties: set[str] = set()
678
+
679
+ # Retrieve the view to check its properties
680
+ view = self._lookup_views([view_id]).get(view_id)
681
+ if view is None:
682
+ return readonly_properties
683
+
684
+ # Check each property in the view
685
+ for property_identifier, property in view.properties.items():
686
+ if isinstance(
687
+ property, MappedProperty
688
+ ) and property.container_property_identifier in constants.READONLY_CONTAINER_PROPERTIES.get(
689
+ property.container, set()
690
+ ):
691
+ readonly_properties.add(property_identifier)
692
+ return readonly_properties
693
+
672
694
  def topological_sort(self, view_ids: list[ViewId]) -> list[ViewId]:
673
695
  """Sorts the views in topological order based on their implements and through properties."""
674
696
  view_by_ids = self._lookup_views(view_ids)
@@ -4,15 +4,18 @@ from typing import ClassVar
4
4
 
5
5
  from cognite.client.data_classes.aggregations import Count
6
6
  from cognite.client.data_classes.data_modeling import (
7
+ ContainerId,
7
8
  ContainerList,
8
9
  EdgeApply,
9
10
  NodeApply,
10
11
  SpaceList,
12
+ ViewId,
11
13
  ViewList,
12
14
  )
13
15
  from cognite.client.data_classes.data_modeling.instances import Instance, InstanceApply
14
16
  from cognite.client.utils._identifier import InstanceId
15
17
 
18
+ from cognite_toolkit._cdf_tk import constants
16
19
  from cognite_toolkit._cdf_tk.client import ToolkitClient
17
20
  from cognite_toolkit._cdf_tk.client.data_classes.instances import InstanceList
18
21
  from cognite_toolkit._cdf_tk.cruds import ContainerCRUD, SpaceCRUD, ViewCRUD
@@ -54,10 +57,35 @@ class InstanceIO(
54
57
  def __init__(self, client: ToolkitClient, remove_existing_version: bool = True) -> None:
55
58
  super().__init__(client)
56
59
  self._remove_existing_version = remove_existing_version
60
+ # Cache for view to read-only properties mapping
61
+ self._view_readonly_properties_cache: dict[ViewId, set[str]] = {}
62
+ self._view_crud = ViewCRUD.create_loader(self.client)
57
63
 
58
64
  def as_id(self, item: Instance) -> str:
59
65
  return f"{item.space}:{item.external_id}"
60
66
 
67
+ def _filter_readonly_properties(self, instance: InstanceApply) -> None:
68
+ """
69
+ Filter out read-only properties from the instance.
70
+
71
+ Args:
72
+ instance: The instance to filter readonly properties from
73
+ """
74
+
75
+ for source in instance.sources:
76
+ readonly_properties = set()
77
+ if isinstance(source.source, ViewId):
78
+ if source.source not in self._view_readonly_properties_cache:
79
+ self._view_readonly_properties_cache[source.source] = self._view_crud.get_readonly_properties(
80
+ source.source
81
+ )
82
+ readonly_properties = self._view_readonly_properties_cache[source.source]
83
+ elif isinstance(source.source, ContainerId):
84
+ if source.source in constants.READONLY_CONTAINER_PROPERTIES:
85
+ readonly_properties = constants.READONLY_CONTAINER_PROPERTIES[source.source]
86
+
87
+ source.properties = {k: v for k, v in source.properties.items() if k not in readonly_properties}
88
+
61
89
  def stream_data(self, selector: InstanceSelector, limit: int | None = None) -> Iterable[Page]:
62
90
  if isinstance(selector, InstanceViewSelector | InstanceSpaceSelector):
63
91
  chunk = InstanceList([])
@@ -133,12 +161,16 @@ class InstanceIO(
133
161
  item_to_load = dict(item_json)
134
162
  if self._remove_existing_version and "existingVersion" in item_to_load:
135
163
  del item_to_load["existingVersion"]
164
+ instance: InstanceApply
136
165
  if instance_type == "node":
137
- return NodeApply._load(item_to_load, cognite_client=self.client)
166
+ instance = NodeApply._load(item_to_load, cognite_client=self.client)
138
167
  elif instance_type == "edge":
139
- return EdgeApply._load(item_to_load, cognite_client=self.client)
168
+ instance = EdgeApply._load(item_to_load, cognite_client=self.client)
140
169
  else:
141
170
  raise ValueError(f"Unknown instance type {instance_type!r}")
171
+ # Filter out read-only properties if applicable
172
+ self._filter_readonly_properties(instance)
173
+ return instance
142
174
 
143
175
  def configurations(self, selector: InstanceSelector) -> Iterable[StorageIOConfig]:
144
176
  if not isinstance(selector, InstanceViewSelector | InstanceSpaceSelector):
@@ -12,7 +12,7 @@ jobs:
12
12
  environment: dev
13
13
  name: Deploy
14
14
  container:
15
- image: cognite/toolkit:0.6.98
15
+ image: cognite/toolkit:0.6.100
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.98
13
+ image: cognite/toolkit:0.6.100
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.98"
7
+ version = "0.6.100"
8
8
 
9
9
  [alpha_flags]
10
10
  external-libraries = true
@@ -1 +1 @@
1
- __version__ = "0.6.98"
1
+ __version__ = "0.6.100"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.6.98
3
+ Version: 0.6.100
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,9 +1,9 @@
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=d8NjptlutPQQYIVY0152QQSi9y8Gz4gg9riq1ZrXU5Q,23
3
+ cognite_toolkit/_version.py,sha256=ekvOvO7R8u7LJae-lLU38Td7TUQhHP94nO7w9IGZPxk,24
4
4
  cognite_toolkit/_cdf_tk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  cognite_toolkit/_cdf_tk/cdf_toml.py,sha256=IjmzNVLxsOV6tsMDgmJmXsy-LQru-8IEQdFzGW5DxVk,8117
6
- cognite_toolkit/_cdf_tk/constants.py,sha256=t5TZdf0ltCLSDEs0eUVEV9LK5-nXPW00NF85L5EkngU,6485
6
+ cognite_toolkit/_cdf_tk/constants.py,sha256=Z0nsRXBrqVUgalMa7MZFiwPp26KUfaHqX2h89Daox-M,6936
7
7
  cognite_toolkit/_cdf_tk/exceptions.py,sha256=xG0jMwi5A20nvPvyo6sCyz_cyKycynPyIzpYiGR4gcU,6064
8
8
  cognite_toolkit/_cdf_tk/feature_flags.py,sha256=XMIZIOjPCdnH42SupUOETf_0d11TgKPZSfjCKnLoDJo,3017
9
9
  cognite_toolkit/_cdf_tk/hints.py,sha256=UI1ymi2T5wCcYOpEbKbVaDnlyFReFy8TDtMVt-5E1h8,6493
@@ -13,7 +13,7 @@ cognite_toolkit/_cdf_tk/tracker.py,sha256=ybazaYDMgrtmAaCEb1nlKAQzjcN352-U-om4NB
13
13
  cognite_toolkit/_cdf_tk/validation.py,sha256=KFdPgnNIbVM0yjFF0cqmpBB8MI8e-U-YbBYrP4IiClE,8441
14
14
  cognite_toolkit/_cdf_tk/apps/__init__.py,sha256=KKmhbpvPKTwqQS2g_XqAC2yvtPsvdl8wV5TgJA3zqhs,702
15
15
  cognite_toolkit/_cdf_tk/apps/_auth_app.py,sha256=ER7uYb3ViwsHMXiQEZpyhwU6TIjKaB9aEy32VI4MPpg,3397
16
- cognite_toolkit/_cdf_tk/apps/_core_app.py,sha256=MwdS6sAx-HN_UdjXZIISmwlaXLamiP-rJssrCZGD5ng,13655
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
19
  cognite_toolkit/_cdf_tk/apps/_download_app.py,sha256=faAuhFYn7eQ_uzP3BNmnXeaeeoyZR1JvRZx2ATKrsao,16691
@@ -112,7 +112,7 @@ cognite_toolkit/_cdf_tk/commands/_utils.py,sha256=UxMJW5QYKts4om5n6x2Tq2ihvfO9gW
112
112
  cognite_toolkit/_cdf_tk/commands/_virtual_env.py,sha256=GFAid4hplixmj9_HkcXqU5yCLj-fTXm4cloGD6U2swY,2180
113
113
  cognite_toolkit/_cdf_tk/commands/auth.py,sha256=N6JgtF0_Qoh-xM8VlBb_IK1n0Lo5I7bIkIHmXm1l7ug,31638
114
114
  cognite_toolkit/_cdf_tk/commands/build_cmd.py,sha256=k2_BhmTJRXuB640-g4hFsN2tD58b-aujk6kFn400qsc,30516
115
- cognite_toolkit/_cdf_tk/commands/clean.py,sha256=YXqjpJzgwxH3OEsQmLVlmgLEqUeOfarJr8V2IDnhfLA,14314
115
+ cognite_toolkit/_cdf_tk/commands/clean.py,sha256=KDcUn1MEpvk_K7WqQPBiZcIlGV61JVG6D0DcYUXj7BM,16567
116
116
  cognite_toolkit/_cdf_tk/commands/collect.py,sha256=zBMKhhvjOpuASMnwP0eeHRI02tANcvFEZgv0CQO1ECc,627
117
117
  cognite_toolkit/_cdf_tk/commands/deploy.py,sha256=R185y7oFr3yhh10RSPE81dpYX346ghVYOrVEF-JKaaI,23020
118
118
  cognite_toolkit/_cdf_tk/commands/dump_data.py,sha256=8l4M2kqV4DjiV5js5s7EbFVNxV0Np4ld8ogw19vaJp0,21804
@@ -146,7 +146,7 @@ cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py,sha256=iGG2_btpEqip3o6OKpc
146
146
  cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py,sha256=7RdiWvh6MLI1lLmt3gcqDQj61xbwREhsvoyjFuJn2F0,26402
147
147
  cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py,sha256=KrL7bj8q5q18mGB2V-NDkW5U5nfseZOyorXiUbp2uLw,6100
148
148
  cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_organization.py,sha256=iXn9iAtwA8mhH-7j9GF-MlLomTcaw3GhEbFY28Wx0iA,9927
149
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py,sha256=KED-wNXTZbkrK4bNMsJPnP1d0j8hF5apDUPgaKj52TY,57130
149
+ cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py,sha256=ZmhfUn-h1UNI1iq1u5193cVOY4J6sbnwX1-h73rI4Gs,57999
150
150
  cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py,sha256=zv36HPO9goRmU3NM_i1wOvWQEdsgpQTI4bcAl-eis1g,18232
151
151
  cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py,sha256=SnQMbxiZ3SSYkTLXQ_vIu2HVf_WyD1jplNRJuoeOUfA,16723
152
152
  cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py,sha256=F3n2FOWAPder4z3OTYs81VB-6C6r3oUzJsHvigdhaD0,15500
@@ -243,7 +243,7 @@ cognite_toolkit/_cdf_tk/storageio/_asset_centric.py,sha256=DbTvIneN8Hw3ByhdH1kXk
243
243
  cognite_toolkit/_cdf_tk/storageio/_base.py,sha256=6f4akYlaOp8t22ecb8ZEt1rcBU58oD-iPm8UdwLdPuE,11716
244
244
  cognite_toolkit/_cdf_tk/storageio/_data_classes.py,sha256=s3TH04BJ1q7rXndRhEbVMEnoOXjxrGg4n-w9Z5uUL-o,3480
245
245
  cognite_toolkit/_cdf_tk/storageio/_datapoints.py,sha256=nV8jaF5YLvMKhDPU3euf554GvSmfNYkzC9ZvEF7kbP8,8660
246
- cognite_toolkit/_cdf_tk/storageio/_instances.py,sha256=_tKOdlo7tMJoh7y-47o7sySfDMRa-G-AFVprmzjn3EQ,9311
246
+ cognite_toolkit/_cdf_tk/storageio/_instances.py,sha256=t9fNpHnT6kCk8LDoPj3qZXmHpyDbPF5BZ6pI8ziTyFw,10810
247
247
  cognite_toolkit/_cdf_tk/storageio/_raw.py,sha256=5WjAFiVR0KKRhMqCy1IRy1TQFWj86D7nGu5WSFNLp6U,3869
248
248
  cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py,sha256=KqbQDKKyjD8hndVjpIYSUWbEsvovxnGnvX_84bwZKfI,1629
249
249
  cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py,sha256=7Iv_ccVX6Vzt3ZLFZ0Er3hN92iEsFTm9wgF-yermOWE,1467
@@ -298,13 +298,13 @@ cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi
298
298
  cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
299
299
  cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
300
300
  cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=OBFDhFWK1mlT4Dc6mDUE2Es834l8sAlYG50-5RxRtHk,723
301
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=q6hrdyitpt3I4RY2kbFYOkIrIXsPRFXRdBsFX46nnTE,667
302
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=Gzk8B8KJgE4pQqwYAi5lZzVPp3tpp8SOCpieA8UopxQ,2430
303
- cognite_toolkit/_resources/cdf.toml,sha256=EJpJGI8OfnEdrySrhMe6vQqqJfClaA8wru4DtN4O94Q,487
301
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=ZSjCLtq-YGfXLGlYDhMoTprko1TS0GUgyVHfI-XKZU0,668
302
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=JEhWmIWt5epdl2W0tYzs36zf4vuLKGRvZi8VUIhbtos,2431
303
+ cognite_toolkit/_resources/cdf.toml,sha256=lXzqzzipk6tF1QZs0EGuStsZtZ6XtnvdRqajdYyiFj0,488
304
304
  cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
305
305
  cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
306
- cognite_toolkit-0.6.98.dist-info/METADATA,sha256=N5rtbKe3ggb_jzaknBqGhAh53-QUB-Vpap9I1rV1UvQ,4501
307
- cognite_toolkit-0.6.98.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
308
- cognite_toolkit-0.6.98.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
309
- cognite_toolkit-0.6.98.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
310
- cognite_toolkit-0.6.98.dist-info/RECORD,,
306
+ cognite_toolkit-0.6.100.dist-info/METADATA,sha256=xADLp5iATIpAXC7tjua-hh1yFmaTMRIsGS3FEML3hq8,4502
307
+ cognite_toolkit-0.6.100.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
308
+ cognite_toolkit-0.6.100.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
309
+ cognite_toolkit-0.6.100.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
310
+ cognite_toolkit-0.6.100.dist-info/RECORD,,