cognite-toolkit 0.6.114__py3-none-any.whl → 0.6.116__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.
@@ -862,6 +862,15 @@ class DumpDataApp(typer.Typer):
862
862
  ] = False,
863
863
  ) -> None:
864
864
  """This command will dump the selected assets in the selected format to the folder specified, defaults to /tmp."""
865
+ if Flags.v07:
866
+ print(
867
+ "[bold yellow]Warning:[/] This command has been removed. Please use `cdf data download assets` instead."
868
+ )
869
+ return None
870
+ elif Flags.v08:
871
+ raise ValueError(
872
+ "The `cdf dump data asset` command has been removed. Please use `cdf data download assets` instead."
873
+ )
865
874
  cmd = DumpDataCommand()
866
875
  client = EnvironmentVariables.create_from_environment().get_client()
867
876
  if hierarchy is None and data_set is None:
@@ -940,6 +949,15 @@ class DumpDataApp(typer.Typer):
940
949
  ] = False,
941
950
  ) -> None:
942
951
  """This command will dump the selected events to the selected format in the folder specified, defaults to /tmp."""
952
+ if Flags.v07:
953
+ print(
954
+ "[bold yellow]Warning:[/] This command has been removed. Please use `cdf data download files` instead."
955
+ )
956
+ return None
957
+ elif Flags.v08:
958
+ raise ValueError(
959
+ "The `cdf dump data files-metadata` command has been removed. Please use `cdf data download files` instead."
960
+ )
943
961
  cmd = DumpDataCommand()
944
962
  cmd.validate_directory(output_dir, clean)
945
963
  client = EnvironmentVariables.create_from_environment().get_client()
@@ -1018,6 +1036,15 @@ class DumpDataApp(typer.Typer):
1018
1036
  ] = False,
1019
1037
  ) -> None:
1020
1038
  """This command will dump the selected timeseries to the selected format in the folder specified, defaults to /tmp."""
1039
+ if Flags.v07:
1040
+ print(
1041
+ "[bold yellow]Warning:[/] This command has been removed. Please use `cdf data download timeseries` instead."
1042
+ )
1043
+ return None
1044
+ elif Flags.v08:
1045
+ raise ValueError(
1046
+ "The `cdf dump data timeseries` command has been removed. Please use `cdf data download timeseries` instead."
1047
+ )
1021
1048
  cmd = DumpDataCommand()
1022
1049
  client = EnvironmentVariables.create_from_environment().get_client()
1023
1050
  if hierarchy is None and data_set is None:
@@ -1095,6 +1122,15 @@ class DumpDataApp(typer.Typer):
1095
1122
  ] = False,
1096
1123
  ) -> None:
1097
1124
  """This command will dump the selected events to the selected format in the folder specified, defaults to /tmp."""
1125
+ if Flags.v07:
1126
+ print(
1127
+ "[bold yellow]Warning:[/] This command has been removed. Please use `cdf data download events` instead."
1128
+ )
1129
+ return None
1130
+ elif Flags.v08:
1131
+ raise ValueError(
1132
+ "The `cdf dump data event` command has been removed. Please use `cdf data download events` instead."
1133
+ )
1098
1134
  cmd = DumpDataCommand()
1099
1135
  cmd.validate_directory(output_dir, clean)
1100
1136
  client = EnvironmentVariables.create_from_environment().get_client()
@@ -1,10 +1,12 @@
1
1
  from pathlib import Path
2
2
  from typing import Annotated, Any
3
3
 
4
+ import questionary
4
5
  import typer
6
+ from questionary import Choice
5
7
 
6
8
  from cognite_toolkit._cdf_tk.commands import UploadCommand
7
- from cognite_toolkit._cdf_tk.constants import DATA_DEFAULT_DIR
9
+ from cognite_toolkit._cdf_tk.constants import DATA_DEFAULT_DIR, DATA_MANIFEST_SUFFIX, DATA_RESOURCE_DIR
8
10
  from cognite_toolkit._cdf_tk.utils.auth import EnvironmentVariables
9
11
 
10
12
  DEFAULT_INPUT_DIR = Path.cwd() / DATA_DEFAULT_DIR
@@ -13,21 +15,21 @@ DEFAULT_INPUT_DIR = Path.cwd() / DATA_DEFAULT_DIR
13
15
  class UploadApp(typer.Typer):
14
16
  def __init__(self, *args: Any, **kwargs: Any) -> None:
15
17
  super().__init__(*args, **kwargs)
16
- self.callback(invoke_without_command=True)(self.upload_main)
18
+ self.command("dir")(self.upload_main)
17
19
 
18
20
  @staticmethod
19
21
  def upload_main(
20
22
  ctx: typer.Context,
21
23
  input_dir: Annotated[
22
- Path,
24
+ Path | None,
23
25
  typer.Argument(
24
- help="The directory containing the data to upload.",
26
+ help="The directory containing the data to upload. If not specified, an interactive prompt will ask for the directory.",
25
27
  exists=True,
26
28
  file_okay=False,
27
29
  dir_okay=True,
28
30
  resolve_path=True,
29
31
  ),
30
- ],
32
+ ] = None,
31
33
  dry_run: Annotated[
32
34
  bool,
33
35
  typer.Option(
@@ -43,7 +45,7 @@ class UploadApp(typer.Typer):
43
45
  "-r",
44
46
  help="If set, the command will look for resource configuration files in adjacent folders and create them if they do not exist.",
45
47
  ),
46
- ] = True,
48
+ ] = False,
47
49
  verbose: Annotated[
48
50
  bool,
49
51
  typer.Option(
@@ -55,14 +57,43 @@ class UploadApp(typer.Typer):
55
57
  ) -> None:
56
58
  """Commands to upload data to CDF."""
57
59
  cmd = UploadCommand()
60
+ if input_dir is None:
61
+ input_candidate = sorted({p.parent for p in DEFAULT_INPUT_DIR.rglob(f"*/**{DATA_MANIFEST_SUFFIX}")})
62
+ if not input_candidate:
63
+ typer.echo(f"No data manifests found in default directory: {DEFAULT_INPUT_DIR}")
64
+ raise typer.Exit(code=1)
65
+ input_dir = questionary.select(
66
+ "Select the input directory containing the data to upload:",
67
+ choices=[Choice(str(option.name), value=option) for option in input_candidate],
68
+ ).ask()
69
+ if input_dir is None:
70
+ typer.echo("No input directory selected. Exiting.")
71
+ raise typer.Exit(code=1)
72
+ dry_run = questionary.confirm("Proceed with dry run?", default=dry_run).ask()
73
+ if dry_run is None:
74
+ typer.echo("No selection made for dry run. Exiting.")
75
+ raise typer.Exit(code=1)
76
+ resource_dir = Path(input_dir) / DATA_RESOURCE_DIR
77
+ if resource_dir.exists():
78
+ if resource_dir.is_relative_to(Path.cwd()):
79
+ display_name = resource_dir.relative_to(Path.cwd()).as_posix()
80
+ else:
81
+ display_name = resource_dir.as_posix()
82
+
83
+ deploy_resources = questionary.confirm(
84
+ f"Deploy resources found in {display_name!r}?", default=deploy_resources
85
+ ).ask()
86
+ if deploy_resources is None:
87
+ typer.echo("No selection made for deploying resources. Exiting.")
88
+ raise typer.Exit(code=1)
58
89
 
59
- client = EnvironmentVariables.create_from_environment().get_client()
60
- cmd.run(
61
- lambda: cmd.upload(
62
- input_dir=input_dir,
63
- dry_run=dry_run,
64
- verbose=verbose,
65
- deploy_resources=deploy_resources,
66
- client=client,
90
+ client = EnvironmentVariables.create_from_environment().get_client()
91
+ cmd.run(
92
+ lambda: cmd.upload(
93
+ input_dir=input_dir,
94
+ dry_run=dry_run,
95
+ verbose=verbose,
96
+ deploy_resources=deploy_resources,
97
+ client=client,
98
+ )
67
99
  )
68
- )
@@ -15,6 +15,7 @@ from cognite_toolkit._cdf_tk.commands.clean import CleanCommand
15
15
  from cognite_toolkit._cdf_tk.constants import (
16
16
  _RUNNING_IN_BROWSER,
17
17
  BUILD_ENVIRONMENT_FILE,
18
+ DATA_UPLOAD_URL,
18
19
  HINT_LEAD_TEXT,
19
20
  )
20
21
  from cognite_toolkit._cdf_tk.cruds import (
@@ -43,6 +44,7 @@ from cognite_toolkit._cdf_tk.exceptions import (
43
44
  ToolkitFileNotFoundError,
44
45
  ToolkitNotADirectoryError,
45
46
  )
47
+ from cognite_toolkit._cdf_tk.feature_flags import Flags
46
48
  from cognite_toolkit._cdf_tk.protocols import (
47
49
  T_ResourceRequest,
48
50
  T_ResourceRequestList,
@@ -52,6 +54,7 @@ from cognite_toolkit._cdf_tk.protocols import (
52
54
  from cognite_toolkit._cdf_tk.tk_warnings import EnvironmentVariableMissingWarning
53
55
  from cognite_toolkit._cdf_tk.tk_warnings.base import WarningList, catch_warnings
54
56
  from cognite_toolkit._cdf_tk.tk_warnings.other import (
57
+ HighSeverityWarning,
55
58
  LowSeverityWarning,
56
59
  ToolkitDependenciesIncludedWarning,
57
60
  )
@@ -292,6 +295,15 @@ class DeployCommand(ToolkitCommand):
292
295
  read_modules = build.read_modules
293
296
  output_results = DeployResults([], "deploy", dry_run=dry_run) if results is None else results
294
297
  for loader_cls in ordered_loaders:
298
+ if issubclass(loader_cls, DataCRUD) and Flags.v07:
299
+ self.warn(
300
+ HighSeverityWarning(
301
+ f"Uploading {loader_cls.kind} data is deprecated and will be removed in v0.8. "
302
+ f"Use the `cdf data upload dir` command instead. See [{DATA_UPLOAD_URL}]({DATA_UPLOAD_URL}) for more information about "
303
+ "the upload command."
304
+ )
305
+ )
306
+
295
307
  loader = loader_cls.create_loader(client, build_dir)
296
308
  resource_result: DeployResult | None
297
309
  if isinstance(loader, ResourceCRUD):
@@ -178,6 +178,7 @@ DATA_RESOURCE_DIR = "resources"
178
178
  DATA_MANIFEST_STEM = "Manifest"
179
179
  DATA_MANIFEST_SUFFIX = f".{DATA_MANIFEST_STEM}.yaml"
180
180
 
181
+ DATA_UPLOAD_URL = "https://docs.cognite.com/cdf/deploy/cdf_toolkit/guides/plugins/data_plugin/index"
181
182
  # Migration Constants
182
183
  MISSING_INSTANCE_SPACE = "<InstanceSpaceMissing>"
183
184
  MISSING_EXTERNAL_ID = "INTERNAL_ID_project_{project}_id_{id}"
@@ -89,6 +89,10 @@ class Flags(Enum):
89
89
  visible=True,
90
90
  description="Enables the support for the streams resources",
91
91
  )
92
+ v08 = FlagMetadata(
93
+ visible=False,
94
+ description="Enables features planned for Cognite Toolkit version 0.8.0",
95
+ )
92
96
 
93
97
  def is_enabled(self) -> bool:
94
98
  return FeatureFlag.is_enabled(self)
@@ -12,7 +12,7 @@ jobs:
12
12
  environment: dev
13
13
  name: Deploy
14
14
  container:
15
- image: cognite/toolkit:0.6.114
15
+ image: cognite/toolkit:0.6.116
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.114
13
+ image: cognite/toolkit:0.6.116
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.114"
7
+ version = "0.6.116"
8
8
 
9
9
  [alpha_flags]
10
10
  external-libraries = true
@@ -1 +1 @@
1
- __version__ = "0.6.114"
1
+ __version__ = "0.6.116"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.6.114
3
+ Version: 0.6.116
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,11 +1,11 @@
1
1
  cognite_toolkit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cognite_toolkit/_cdf.py,sha256=qr31QC3AhJukM-9rBeWHBTLuNU01XIXAtV5dzqOU3iA,5958
3
- cognite_toolkit/_version.py,sha256=WpAvqBLX070lSyBy5k8WgKpdDgI8mm3_fsS28HTJsWg,24
3
+ cognite_toolkit/_version.py,sha256=ezn27UkIAZOSq_y3A672Sb3NhZFS1DBg7KeB8M57Z6Y,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
- cognite_toolkit/_cdf_tk/constants.py,sha256=aFcJkY03sYOJ92YfvcVpau-waj6akOAb4KgyIwKI-bs,7135
6
+ cognite_toolkit/_cdf_tk/constants.py,sha256=3UpFZ60xXdqgPqqpqCITQuAvjnVExH_IlbASxoelvu8,7236
7
7
  cognite_toolkit/_cdf_tk/exceptions.py,sha256=xG0jMwi5A20nvPvyo6sCyz_cyKycynPyIzpYiGR4gcU,6064
8
- cognite_toolkit/_cdf_tk/feature_flags.py,sha256=TjwUmGG5qXBQ-8P1ongh2qQnuRfVRvGaP1JBtuUot88,3106
8
+ cognite_toolkit/_cdf_tk/feature_flags.py,sha256=DYIsy-Ee4CB0Ixwp5LCc1-vy80ivnET7myTJXOTh74E,3241
9
9
  cognite_toolkit/_cdf_tk/hints.py,sha256=UI1ymi2T5wCcYOpEbKbVaDnlyFReFy8TDtMVt-5E1h8,6493
10
10
  cognite_toolkit/_cdf_tk/plugins.py,sha256=JwaN_jrrky1PXBJ3tRpZ22cIcD01EB46WVFgp_bK-fQ,856
11
11
  cognite_toolkit/_cdf_tk/protocols.py,sha256=Lc8XnBfmDZN6dwmSopmK7cFE9a9jZ2zdUryEeCXn27I,3052
@@ -17,7 +17,7 @@ cognite_toolkit/_cdf_tk/apps/_core_app.py,sha256=Xlhdv2MoCs2kBk0kgJixiy8ouCfixUW
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=g-VA51KI91wziVuO3w305rmr33xIb0ghYTtW06LhNz8,31994
20
- cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=Ec0aEqbKwCkxni09i06rfY31qZUyOVwbbvo7MHh4cf8,39056
20
+ cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=ujM_umb-g9xO-Hf2NEzCr6u0SLnsUbxvQHvhehJBFo0,40616
21
21
  cognite_toolkit/_cdf_tk/apps/_landing_app.py,sha256=HxzSln3fJXs5NzulfQGUMropXcwMobUYpyePrCrQTQs,1502
22
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
@@ -25,7 +25,7 @@ cognite_toolkit/_cdf_tk/apps/_profile_app.py,sha256=vSRJW54bEvIul8_4rOqyOYA7ztXx
25
25
  cognite_toolkit/_cdf_tk/apps/_purge.py,sha256=e8IgDK2Fib2u30l71Q2trbJ1az90zSLWr5TViTINmL0,15415
26
26
  cognite_toolkit/_cdf_tk/apps/_repo_app.py,sha256=jOf_s7oUWJqnRyz89JFiSzT2l8GlyQ7wqidHUQavGo0,1455
27
27
  cognite_toolkit/_cdf_tk/apps/_run.py,sha256=9tn3o9iWtCP85KcLmnytIaIB_cj1EegtEm51r85Sl44,9082
28
- cognite_toolkit/_cdf_tk/apps/_upload_app.py,sha256=OfXRUEoqCWFaZTb-KzuZrVdrAZ_f4DR4Wm1Votbs2W8,2146
28
+ cognite_toolkit/_cdf_tk/apps/_upload_app.py,sha256=LPv3iQJTMDo2cq4Ev26DGguqPd3LjySw9FXrG1iRGU0,3942
29
29
  cognite_toolkit/_cdf_tk/builders/__init__.py,sha256=Y-AJ4VrcUCRquGNEgDCiwmWW3iGWnJl2DrL17gsUIBg,1172
30
30
  cognite_toolkit/_cdf_tk/builders/_base.py,sha256=N32Y17hfepp45rMW_o4qeUY9nsysmtcxpX4GkF-tsio,7829
31
31
  cognite_toolkit/_cdf_tk/builders/_datamodels.py,sha256=hN3fWQAktrWdaGAItZ0tHpBXqJDu0JfH6t7pO7EIl2Q,3541
@@ -115,7 +115,7 @@ cognite_toolkit/_cdf_tk/commands/auth.py,sha256=PLjfxfJJKaqux1eB2fycIRlwwSMCbM3q
115
115
  cognite_toolkit/_cdf_tk/commands/build_cmd.py,sha256=ppaSstd4zd5ZLcwwU9ueg3kH6MflxOL7DXnDuGAcbcY,31007
116
116
  cognite_toolkit/_cdf_tk/commands/clean.py,sha256=KDcUn1MEpvk_K7WqQPBiZcIlGV61JVG6D0DcYUXj7BM,16567
117
117
  cognite_toolkit/_cdf_tk/commands/collect.py,sha256=zBMKhhvjOpuASMnwP0eeHRI02tANcvFEZgv0CQO1ECc,627
118
- cognite_toolkit/_cdf_tk/commands/deploy.py,sha256=R185y7oFr3yhh10RSPE81dpYX346ghVYOrVEF-JKaaI,23020
118
+ cognite_toolkit/_cdf_tk/commands/deploy.py,sha256=YV_GcD5bbELlXMixoVoCA2W4mcwHej_6jvb9J8JBQd0,23589
119
119
  cognite_toolkit/_cdf_tk/commands/dump_data.py,sha256=8l4M2kqV4DjiV5js5s7EbFVNxV0Np4ld8ogw19vaJp0,21804
120
120
  cognite_toolkit/_cdf_tk/commands/dump_resource.py,sha256=ylAFST3GgkWT1Qa-JIzmQXbrQgNCB1UrptrBf3WsyvY,39658
121
121
  cognite_toolkit/_cdf_tk/commands/featureflag.py,sha256=lgLMwuNIwFjvvKn1sNMunkq4VTwdNqXtrZfdGFTrNcI,968
@@ -302,13 +302,13 @@ 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=ecRMptbts1fu6QTsgRFSlSPMOel6aPROK3FGdvqfG_4,668
306
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=8-4VFTpKuTjXuvmDF8DKwy5ELeljLyhmcKvzKgVj56I,2431
307
- cognite_toolkit/_resources/cdf.toml,sha256=J7OKCVySsQIRbGF7BY7724trkpchZCoa1h4JY944gxs,488
305
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=a_46iFbHKFVtTSG94JW2WVJAMz37jDv-6-TpY6CNy3o,668
306
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=cVSBKRvJRYyuUIk9jJxRHlq2eqgqYS_O8V3JTXJkKFw,2431
307
+ cognite_toolkit/_resources/cdf.toml,sha256=H8z6SinwW4X2em4YbzS4Sqmu9RIF4DulHm6kfrC5RLk,488
308
308
  cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
309
309
  cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
310
- cognite_toolkit-0.6.114.dist-info/METADATA,sha256=kIhY5-tAgzBL0MZyohIzIu1Yg0PKBBmnAwRAgYn3Fec,4502
311
- cognite_toolkit-0.6.114.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
312
- cognite_toolkit-0.6.114.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
313
- cognite_toolkit-0.6.114.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
314
- cognite_toolkit-0.6.114.dist-info/RECORD,,
310
+ cognite_toolkit-0.6.116.dist-info/METADATA,sha256=5-qZwwRh2_UO6KZ09QsM5etUMGICQzMiT4La7MS_1ag,4502
311
+ cognite_toolkit-0.6.116.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
312
+ cognite_toolkit-0.6.116.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
313
+ cognite_toolkit-0.6.116.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
314
+ cognite_toolkit-0.6.116.dist-info/RECORD,,