cognite-toolkit 0.5.61__py3-none-any.whl → 0.5.63__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.
@@ -1,12 +1,17 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import shutil
4
+ import tempfile
5
+ import zipfile
4
6
  from collections import Counter
7
+ from hashlib import sha256
5
8
  from importlib import resources
6
9
  from pathlib import Path
10
+ from types import TracebackType
7
11
  from typing import Any, Literal, Optional
8
12
 
9
13
  import questionary
14
+ import requests
10
15
  import typer
11
16
  from packaging.version import Version
12
17
  from packaging.version import parse as parse_version
@@ -14,7 +19,7 @@ from rich import print
14
19
  from rich.markdown import Markdown
15
20
  from rich.padding import Padding
16
21
  from rich.panel import Panel
17
- from rich.progress import track
22
+ from rich.progress import Progress, track
18
23
  from rich.rule import Rule
19
24
  from rich.table import Table
20
25
  from rich.tree import Tree
@@ -47,7 +52,8 @@ from cognite_toolkit._cdf_tk.data_classes import (
47
52
  Package,
48
53
  Packages,
49
54
  )
50
- from cognite_toolkit._cdf_tk.exceptions import ToolkitRequiredValueError, ToolkitValueError
55
+ from cognite_toolkit._cdf_tk.exceptions import ToolkitError, ToolkitRequiredValueError, ToolkitValueError
56
+ from cognite_toolkit._cdf_tk.feature_flags import Flags
51
57
  from cognite_toolkit._cdf_tk.hints import verify_module_directory
52
58
  from cognite_toolkit._cdf_tk.tk_warnings import MediumSeverityWarning
53
59
  from cognite_toolkit._cdf_tk.utils import humanize_collection, read_yaml_file
@@ -85,6 +91,28 @@ class ModulesCommand(ToolkitCommand):
85
91
  def __init__(self, print_warning: bool = True, skip_tracking: bool = False, silent: bool = False):
86
92
  super().__init__(print_warning, skip_tracking, silent)
87
93
  self._builtin_modules_path = Path(resources.files(cognite_toolkit.__name__)) / BUILTIN_MODULES # type: ignore [arg-type]
94
+ self._temp_download_dir = Path(tempfile.gettempdir()) / "library_downloads"
95
+ if not self._temp_download_dir.exists():
96
+ self._temp_download_dir.mkdir(parents=True, exist_ok=True)
97
+
98
+ def __enter__(self) -> ModulesCommand:
99
+ """
100
+ Context manager to ensure the temporary download directory is cleaned up after use. It requires the command to be used in a `with` block.
101
+ """
102
+ return self
103
+
104
+ def __exit__(
105
+ self,
106
+ exc_type: type[BaseException] | None, # Type of the exception
107
+ exc_value: BaseException | None, # Exception instance
108
+ traceback: TracebackType | None, # Traceback object
109
+ ) -> None:
110
+ """
111
+ Clean up the temporary download directory.
112
+ """
113
+
114
+ if self._temp_download_dir.exists():
115
+ safe_rmtree(self._temp_download_dir)
88
116
 
89
117
  @classmethod
90
118
  def _create_tree(cls, item: Packages) -> Tree:
@@ -128,6 +156,7 @@ class ModulesCommand(ToolkitCommand):
128
156
  downloader_by_repo: dict[str, FileDownloader] = {}
129
157
 
130
158
  extra_resources: set[Path] = set()
159
+
131
160
  for package_name, package in selected_packages.items():
132
161
  print(f"{INDENT}[{'yellow' if mode == 'clean' else 'green'}]Creating {package_name}[/]")
133
162
 
@@ -280,7 +309,8 @@ default_organization_dir = "{organization_dir.name}"''',
280
309
  organization_dir = Path(organization_dir_raw.strip())
281
310
 
282
311
  modules_root_dir = organization_dir / MODULES
283
- packages = Packages().load(self._builtin_modules_path)
312
+
313
+ packages = self._get_available_packages()
284
314
 
285
315
  if select_all:
286
316
  print(Panel("Instantiating all available modules"))
@@ -680,9 +710,102 @@ default_organization_dir = "{organization_dir.name}"''',
680
710
  build_env = default.environment.validation_type
681
711
 
682
712
  existing_module_names = [module.name for module in ModuleResources(organization_dir, build_env).list()]
683
- available_packages = Packages().load(self._builtin_modules_path)
684
-
713
+ available_packages = self._get_available_packages()
685
714
  added_packages = self._select_packages(available_packages, existing_module_names)
686
715
 
687
716
  download_data = self._get_download_data(added_packages)
688
717
  self._create(organization_dir, added_packages, environments, "update", download_data)
718
+
719
+ def _get_available_packages(self) -> Packages:
720
+ """
721
+ Returns a list of available packages, either from the CDF TOML file or from external libraries if the feature flag is enabled.
722
+ If the feature flag is not enabled and no libraries are specified, it returns the built-in modules.
723
+ """
724
+
725
+ cdf_toml = CDFToml.load()
726
+ if Flags.EXTERNAL_LIBRARIES.is_enabled() and cdf_toml.libraries:
727
+ for library_name, library in cdf_toml.libraries.items():
728
+ try:
729
+ print(f"[green]Adding library {library_name}[/]")
730
+ file_path = self._temp_download_dir / f"{library_name}.zip"
731
+ self._download(library.url, file_path)
732
+ self._validate_checksum(library.checksum, file_path)
733
+ self._unpack(file_path)
734
+ return Packages().load(file_path.parent)
735
+ except Exception as e:
736
+ if isinstance(e, ToolkitError):
737
+ raise e
738
+ else:
739
+ raise ToolkitError(
740
+ f"An unexpected error occurred during downloading {library.url} to {file_path}: {e}"
741
+ ) from e
742
+
743
+ raise ToolkitError(f"Failed to add library {library_name}, {e}")
744
+ # If no libraries are specified or the flag is not enabled, load the built-in modules
745
+ raise ValueError("No valid libraries found.")
746
+ else:
747
+ return Packages.load(self._builtin_modules_path)
748
+
749
+ def _download(self, url: str, file_path: Path) -> None:
750
+ """
751
+ Downloads a file from a URL to the specified output path.
752
+ If the file already exists, it skips the download.
753
+ """
754
+ try:
755
+ response = requests.get(url, stream=True)
756
+ response.raise_for_status() # Raise an exception for HTTP errors
757
+
758
+ total_size = int(response.headers.get("content-length", 0))
759
+
760
+ with Progress() as progress:
761
+ task = progress.add_task("Download", total=total_size)
762
+ with open(file_path, "wb") as f:
763
+ for chunk in response.iter_content(chunk_size=8192):
764
+ f.write(chunk)
765
+ progress.update(task, advance=len(chunk))
766
+
767
+ except requests.exceptions.RequestException as e:
768
+ raise ToolkitError(f"Error downloading file from {url}: {e}") from e
769
+
770
+ def _validate_checksum(self, checksum: str, file_path: Path) -> None:
771
+ """
772
+ Compares the checksum of the downloaded file with the expected checksum.
773
+ """
774
+
775
+ if checksum.lower().startswith("sha256:"):
776
+ checksum = checksum[7:]
777
+ else:
778
+ raise ToolkitValueError(f"Unsupported checksum format: {checksum}. Expected 'sha256:' prefix")
779
+
780
+ chunk_size: int = 8192
781
+ sha256_hash = sha256()
782
+ try:
783
+ with open(file_path, "rb") as f:
784
+ # Read the file in chunks to handle large files efficiently
785
+ for chunk in iter(lambda: f.read(chunk_size), b""):
786
+ sha256_hash.update(chunk)
787
+ calculated = sha256_hash.hexdigest()
788
+ if calculated != checksum:
789
+ raise ToolkitError(f"Checksum mismatch. Expected {checksum}, got {calculated}.")
790
+ else:
791
+ print("Checksum verified")
792
+ except Exception as e:
793
+ raise ToolkitError(f"Failed to calculate checksum for {file_path}: {e}") from e
794
+
795
+ def _unpack(self, file_path: Path) -> None:
796
+ """
797
+ Unzips the downloaded file to the specified output path.
798
+ If the file is not a zip file, it raises an error.
799
+ """
800
+ total_size = file_path.stat().st_size if file_path.exists() else 0
801
+
802
+ try:
803
+ with Progress() as progress:
804
+ unzip = progress.add_task("Unzipping", total=total_size)
805
+ with zipfile.ZipFile(file_path, "r") as zip_ref:
806
+ zip_ref.extractall(file_path.parent)
807
+ progress.update(unzip, advance=total_size)
808
+ except zipfile.BadZipFile as e:
809
+ raise ToolkitError(f"Error unpacking zip file {file_path}: {e}") from e
810
+ except Exception as e:
811
+ raise ToolkitError(f"An unexpected error occurred while unpacking {file_path}: {e}") from e
@@ -66,8 +66,8 @@ class Packages(dict, MutableMapping[str, Package]):
66
66
  root_module_dir: The module directories to load the packages from.
67
67
  """
68
68
 
69
- package_definition_path = root_module_dir / "package.toml"
70
- if not package_definition_path.exists():
69
+ package_definition_path = next(root_module_dir.rglob("packages.toml"), None)
70
+ if not package_definition_path or not package_definition_path.exists():
71
71
  raise ToolkitFileNotFoundError(f"Package manifest toml not found at {package_definition_path}")
72
72
  package_definitions = toml.loads(package_definition_path.read_text(encoding="utf-8"))["packages"]
73
73
 
@@ -52,6 +52,10 @@ class Flags(Enum):
52
52
  "visible": True,
53
53
  "description": "Enables the migrate command",
54
54
  }
55
+ EXTERNAL_LIBRARIES: ClassVar[dict[str, Any]] = { # type: ignore[misc]
56
+ "visible": True,
57
+ "description": "Enables the support for external libraries in the config file",
58
+ }
55
59
 
56
60
  def is_enabled(self) -> bool:
57
61
  return FeatureFlag.is_enabled(self)
@@ -14,6 +14,10 @@ class SQLTable:
14
14
  schema: str
15
15
  name: str
16
16
 
17
+ def __str__(self) -> str:
18
+ """Return the table name in the format 'schema.table'."""
19
+ return f"{self.schema}.{self.name}"
20
+
17
21
 
18
22
  class SQLParser:
19
23
  def __init__(self, query: str, operation: str) -> None:
@@ -12,7 +12,7 @@ jobs:
12
12
  environment: dev
13
13
  name: Deploy
14
14
  container:
15
- image: cognite/toolkit:0.5.61
15
+ image: cognite/toolkit:0.5.63
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.5.61
13
+ image: cognite/toolkit:0.5.63
14
14
  env:
15
15
  CDF_CLUSTER: ${{ vars.CDF_CLUSTER }}
16
16
  CDF_PROJECT: ${{ vars.CDF_PROJECT }}
@@ -1 +1 @@
1
- __version__ = "0.5.61"
1
+ __version__ = "0.5.63"
@@ -0,0 +1,7 @@
1
+ environment:
2
+ name: dev
3
+ project: consul-dev
4
+ validation-type: dev
5
+ selected:
6
+ - modules/
7
+ variables: {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.5.61
3
+ Version: 0.5.63
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
@@ -52,7 +52,7 @@ It supports three different modes of operation:
52
52
  1. As an **interactive command-line tool** used alongside the Cognite Data Fusion web application to retrieve and
53
53
  push configuration of the different Cognite Data Fusion services like data sets, data models, transformations,
54
54
  and more. This mode also supports configuration of new Cognite Data Fusion projects to quickly get started.
55
- 2. As tool to support the **project life-cyle by scripting and automating** configuration and management of Cognite Data
55
+ 2. As tool to support the **project life-cycle by scripting and automating** configuration and management of Cognite Data
56
56
  Fusion projects where CDF configurations are kept as yaml-files that can be checked into version
57
57
  control. This mode also supports DevOps workflows with development, staging, and production projects.
58
58
  3. As a **tool to deploy official Cognite project templates** to your Cognite Data Fusion project. The tool comes
@@ -1,10 +1,11 @@
1
1
  cognite_toolkit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cognite_toolkit/_cdf.py,sha256=WWMslI-y2VbIYDMH19wnINebGwlOvAeYr-qkPRC1f68,5834
3
- cognite_toolkit/_version.py,sha256=2fDfDeXzFJgUAfD2DlfwQKyQL5RXhYlGGenxGvZPy-Q,23
3
+ cognite_toolkit/_version.py,sha256=NZyB_3d5nSrSdmUTR1qURqDAEzDzElqs5VAFoKfX_F8,23
4
+ cognite_toolkit/config.dev.yaml,sha256=CIDmi1OGNOJ-70h2BNCozZRmhvU5BfpZoh6Q04b8iMs,109
4
5
  cognite_toolkit/_builtin_modules/README.md,sha256=roU3G05E6ogP5yhw4hdIvVDKV831zCh2pzt9BVddtBg,307
5
6
  cognite_toolkit/_builtin_modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- cognite_toolkit/_builtin_modules/cdf.toml,sha256=7yvMb-WFWVEQdhExQScNNPHvwkUqPQIqjuLFA8ELywc,273
7
- cognite_toolkit/_builtin_modules/package.toml,sha256=RdY44Sxvh6sUtAkgp1dHID1mtqkOTzP_rbZL2Q27fYw,1147
7
+ cognite_toolkit/_builtin_modules/cdf.toml,sha256=kjIlSaM6fJ5C09gRiWydBtFY7C2IuoHBUMue1zv7y_I,273
8
+ cognite_toolkit/_builtin_modules/packages.toml,sha256=RdY44Sxvh6sUtAkgp1dHID1mtqkOTzP_rbZL2Q27fYw,1147
8
9
  cognite_toolkit/_builtin_modules/bootcamp/README.md,sha256=iTVqoy3PLpC-xPi5pbuMIAEHILBSfWTGLexwa1AltpY,211
9
10
  cognite_toolkit/_builtin_modules/bootcamp/default.config.yaml,sha256=MqYTcRiz03bow4LT8E3jumnd_BsqC5SvjgYOVVkHGE0,93
10
11
  cognite_toolkit/_builtin_modules/bootcamp/module.toml,sha256=kdB-p9fQopXdkfnRJBsu9DCaKIfiIM4Y7-G8rtBqHWM,97
@@ -479,10 +480,10 @@ cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/populatio
479
480
  cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/trigger.WorkflowTrigger.yaml,sha256=9cfJenjYYm1O2IEY0P1jHohUgif6QHjbjp7UDoM2pCQ,253
480
481
  cognite_toolkit/_builtin_modules/sourcesystem/cdf_sharepoint/workflows/v1.WorkflowVersion.yaml,sha256=YgGGZKlEro-ViFtOCU9RYVqnjflJjkCU_nBgmCE0SQk,322
481
482
  cognite_toolkit/_cdf_tk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
482
- cognite_toolkit/_cdf_tk/cdf_toml.py,sha256=Eg608y-ZIMcH5MaDmuH_TZba0JhBq0zrEaXOW-3llgA,6620
483
+ cognite_toolkit/_cdf_tk/cdf_toml.py,sha256=e76CvC-KM0tOuDz181-vYciAeAm0h2I0-efkyj8yrtg,7955
483
484
  cognite_toolkit/_cdf_tk/constants.py,sha256=c722pX6JYm0LD69T-lF8eT6MarExBKgE2eiiij1H0_U,5750
484
485
  cognite_toolkit/_cdf_tk/exceptions.py,sha256=HJZ6kpQ0mJcXsueOyRLCesONiEx_G4QA-EkRuEwXvqo,5118
485
- cognite_toolkit/_cdf_tk/feature_flags.py,sha256=0WsbBbAW1f08rA0o-UlVL_pHIer-qoBVW5OfTAFSPcA,2549
486
+ cognite_toolkit/_cdf_tk/feature_flags.py,sha256=dUtVp9OLpTXY9pk09_HMARUau81uio4_UDVfLC0JbEY,2743
486
487
  cognite_toolkit/_cdf_tk/hints.py,sha256=M832_PM_GcbkmOHtMGtujLW0qHfdmAr0fE66Zqp5YLI,6510
487
488
  cognite_toolkit/_cdf_tk/plugins.py,sha256=XpSVJnePU8Yd6r7_xAU7nj3p6dxVo83YE8kfsEbLUZ4,819
488
489
  cognite_toolkit/_cdf_tk/tracker.py,sha256=ZafqhkCe-CcWuj9fOa3i558ydFRDBpjnKVb1IvtHuAY,6306
@@ -499,9 +500,9 @@ cognite_toolkit/_cdf_tk/apps/_core_app.py,sha256=-4ABeNtC0cxw7XvCRouPzTvlmqsS0NR
499
500
  cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=UXmB8oFwVLOmxJBlxxLIBMLPCLwdgyaFfuG6Ex-GZh4,25608
500
501
  cognite_toolkit/_cdf_tk/apps/_landing_app.py,sha256=v4t2ryxzFre7y9IkEPIDwmyJDO8VDIIv6hIcft5TjpQ,422
501
502
  cognite_toolkit/_cdf_tk/apps/_migrate_app.py,sha256=GRsOlqYAWB0rsZsdTJTGfjPm1OkbUq7xBrM4pzQRKoY,3708
502
- cognite_toolkit/_cdf_tk/apps/_modules_app.py,sha256=SQxUYa_w_MCP2fKOCzQoJJhxQw5bE4iSgYBZYduOgIQ,6596
503
+ cognite_toolkit/_cdf_tk/apps/_modules_app.py,sha256=tjCP-QbuPYd7iw6dkxnhrrWf514Lr25_oVgSJyJcaL8,6642
503
504
  cognite_toolkit/_cdf_tk/apps/_populate_app.py,sha256=PGUqK_USOqdPCDvUJI-4ne9TN6EssC33pUbEeCmiLPg,2805
504
- cognite_toolkit/_cdf_tk/apps/_profile_app.py,sha256=c50iGKOaIj4_ySEOivmGkObqG13ru_paMPEQ29V_G6U,1293
505
+ cognite_toolkit/_cdf_tk/apps/_profile_app.py,sha256=TaKTOgkd538QyIWBRdAILJ-TotBxYreZgWBqK4yrebQ,2562
505
506
  cognite_toolkit/_cdf_tk/apps/_purge.py,sha256=RxlUx2vzOuxETBszARUazK8azDpZsf-Y_HHuG9PBVd4,4089
506
507
  cognite_toolkit/_cdf_tk/apps/_repo_app.py,sha256=jOf_s7oUWJqnRyz89JFiSzT2l8GlyQ7wqidHUQavGo0,1455
507
508
  cognite_toolkit/_cdf_tk/apps/_run.py,sha256=vAuPzYBYfAAFJ_0myn5AxFXG3BJWq8A0HKrhMZ7PaHI,8539
@@ -544,6 +545,7 @@ cognite_toolkit/_cdf_tk/client/data_classes/__init__.py,sha256=47DEQpj8HBSa-_TIm
544
545
  cognite_toolkit/_cdf_tk/client/data_classes/agent_tools.py,sha256=n26oUmKvRz4HwCJrVDXKsb_mepBr8VFah39TLWLXXAE,2609
545
546
  cognite_toolkit/_cdf_tk/client/data_classes/agents.py,sha256=7kNrUV2d95iyIpDg0ty6SegHLNrecZogLw9ew6rYU30,4866
546
547
  cognite_toolkit/_cdf_tk/client/data_classes/apm_config_v1.py,sha256=0bPq7R0qvdf8SMFS06kX7TXHIClDcJNHwdTBweQB-GU,20150
548
+ cognite_toolkit/_cdf_tk/client/data_classes/canvas.py,sha256=yfckaS0JJQNF2PEL1VFLAiqdlLmy-hw1GTfH7UFsb9U,17463
547
549
  cognite_toolkit/_cdf_tk/client/data_classes/extendable_cognite_file.py,sha256=jFusjXtg769RMEMqQkqbkwn6nJN6tfjQqidEn3bj_yA,9722
548
550
  cognite_toolkit/_cdf_tk/client/data_classes/extended_timeseries.py,sha256=yAvJCHePO_JPhvx5UTQ_qUdCXC5t_aSQY6YxuMnkGIQ,5378
549
551
  cognite_toolkit/_cdf_tk/client/data_classes/functions.py,sha256=wF1IUDoDyhASfeeglJ-u52--SlthCp4hXK69TNCh_Nc,414
@@ -553,18 +555,19 @@ cognite_toolkit/_cdf_tk/client/data_classes/location_filters.py,sha256=WDZRthWF8
553
555
  cognite_toolkit/_cdf_tk/client/data_classes/pending_instances_ids.py,sha256=W99jhHMLzW_0TvZoaeeaeWXljN9GjuXPoFO-SRjsd-s,1888
554
556
  cognite_toolkit/_cdf_tk/client/data_classes/raw.py,sha256=FRu6MPxGmpl7_6eigsckkmnOeivBWBHlALRaz9c6VhQ,14828
555
557
  cognite_toolkit/_cdf_tk/client/data_classes/robotics.py,sha256=eORgVu4fbXoreyInimBECszgsxzP7VBIIItKXRgsxvU,36143
558
+ cognite_toolkit/_cdf_tk/client/data_classes/search_config.py,sha256=uUQes8l2LyIxg5SUeLMdXs6xXSp6EUSC1nXAgYfJAV4,7432
556
559
  cognite_toolkit/_cdf_tk/client/data_classes/sequences.py,sha256=02d34fPcJ1H7U5ZnCCfOi36z5WJ4WnRfCWwkp99mW2E,6234
557
560
  cognite_toolkit/_cdf_tk/client/data_classes/statistics.py,sha256=LIYufCSFVLXBuAUVYGaPcjjXzI9BoslxLo6oNBybvE8,4569
558
561
  cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py,sha256=OGoMQ_K88F9vSZuUbSXcdLBy0X6AdiPB04odxv72UeQ,6712
559
562
  cognite_toolkit/_cdf_tk/client/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
560
563
  cognite_toolkit/_cdf_tk/client/utils/_concurrency.py,sha256=z6gqFv-kw80DsEpbaR7sI0-_WvZdOdAsR4VoFvTqvyU,1309
561
564
  cognite_toolkit/_cdf_tk/client/utils/_http_client.py,sha256=oXNKrIaizG4WiSAhL_kSCHAuL4aaaEhCU4pOJGxh6Xs,483
562
- cognite_toolkit/_cdf_tk/commands/__init__.py,sha256=OsydnUZws0IrKoxLfMILfGgQIOH3eyUrY2yHRZMyiOQ,1171
565
+ cognite_toolkit/_cdf_tk/commands/__init__.py,sha256=6rUv97s6CB5Fje6eg2X3cd9Za9rYJY51xUcPk_RoJT8,1261
563
566
  cognite_toolkit/_cdf_tk/commands/_base.py,sha256=3Zc3ffR8mjZ1eV7WrC-Y1sYmyMzdbbJDDmsiKEMEJwo,2480
564
567
  cognite_toolkit/_cdf_tk/commands/_changes.py,sha256=3bR_C8p02IW6apexwAAoXuneBM4RcUGdX6Hw_Rtx7Kg,24775
565
568
  cognite_toolkit/_cdf_tk/commands/_cli_commands.py,sha256=6nezoDrw3AkF8hANHjUILgTj_nbdzgT0siweaKI35Fk,1047
566
569
  cognite_toolkit/_cdf_tk/commands/_populate.py,sha256=59VXEFRc4521xhTmCuQnjgWNYE3z4TUkUq8YbFREDGc,12280
567
- cognite_toolkit/_cdf_tk/commands/_profile.py,sha256=8oIQkEKfs-k-SyDVoK3tTOAJJEr2_8ON3JNXeHiytH8,4864
570
+ cognite_toolkit/_cdf_tk/commands/_profile.py,sha256=IQtojZXLMQIPVFuVhLVq5bFEZzuqmXB3tGUB8O-slZA,13098
568
571
  cognite_toolkit/_cdf_tk/commands/_purge.py,sha256=bE2ytMMlMuZc5xGyktKayvZ25x0kdzoKspjwgfab1Qs,26483
569
572
  cognite_toolkit/_cdf_tk/commands/_utils.py,sha256=_IfPBLyfOUc7ubbABiHPpg1MzNGNCxElQ-hmV-vfFDc,1271
570
573
  cognite_toolkit/_cdf_tk/commands/_virtual_env.py,sha256=45_aEPZJeyfGmS2Ph_lucaO7ujY7AF5L5N1K3UH3F0o,2216
@@ -577,7 +580,7 @@ cognite_toolkit/_cdf_tk/commands/dump_data.py,sha256=U_e-fEAEphpkJMlDTHQvQ1F0k3q
577
580
  cognite_toolkit/_cdf_tk/commands/dump_resource.py,sha256=Dt8jlkmtpRtzPDMEjKdpOJPFr92k7Mw-BWkRsE9CJ8s,20515
578
581
  cognite_toolkit/_cdf_tk/commands/featureflag.py,sha256=VPz7FrjVQFqjkz8BYTP2Np3k7BTLFMq_eooNSqmb2ms,1034
579
582
  cognite_toolkit/_cdf_tk/commands/init.py,sha256=M9Qs6OVw5mKS4HkWX9DbWwFES1l65J2G90AXqUpyO4c,1744
580
- cognite_toolkit/_cdf_tk/commands/modules.py,sha256=MrmZzviSrif2jAWtkuNmy8C2jSStqncgBkd7DgYt4oc,30553
583
+ cognite_toolkit/_cdf_tk/commands/modules.py,sha256=lYImbi7eX07j2lbE_8xJ5uix9xa2lL6vBk7IzjGPlhw,35946
581
584
  cognite_toolkit/_cdf_tk/commands/pull.py,sha256=t7KQCxpoFDNBWTYPohK7chrRzPyAOGVmfaY7iBLnTqM,39286
582
585
  cognite_toolkit/_cdf_tk/commands/repo.py,sha256=vQfLMTzSnI4w6eYCQuMnZ_xXVAVjyLnST4Tmu2zgNfE,3874
583
586
  cognite_toolkit/_cdf_tk/commands/run.py,sha256=88AkfCdS4gXHA4I5ZhdU3HWWA5reOTGbfaauM-Yvp8o,37407
@@ -597,7 +600,7 @@ cognite_toolkit/_cdf_tk/data_classes/_deploy_results.py,sha256=BhGvCiuR2LI2DuJae
597
600
  cognite_toolkit/_cdf_tk/data_classes/_module_directories.py,sha256=wQ-hM-0onMrFHHFb3c-V9hFuN-FToEFVzCLG7UrzvbQ,11882
598
601
  cognite_toolkit/_cdf_tk/data_classes/_module_resources.py,sha256=SsZM3vwCqDbc1ejyFtuX-SOY9K_kLGBfIC7JTlQ7QnM,9160
599
602
  cognite_toolkit/_cdf_tk/data_classes/_module_toml.py,sha256=35VFoP_rLMUKhztrePt-uey0SgpVCYgSFuButHkrUq4,2731
600
- cognite_toolkit/_cdf_tk/data_classes/_packages.py,sha256=_ipFUQgEG19Tp1Rjts9Nw98EQ8b71gs6yFGdzGXtn9w,3689
603
+ cognite_toolkit/_cdf_tk/data_classes/_packages.py,sha256=LX17FD_PKEl-QqALQaF3rbVBlnlB_y_lQaFOy8AoWe8,3738
601
604
  cognite_toolkit/_cdf_tk/data_classes/_yaml_comments.py,sha256=zfuDu9aAsb1ExeZBAJIqVaoqIZ050tO_oh3dApzlDwY,4937
602
605
  cognite_toolkit/_cdf_tk/loaders/__init__.py,sha256=9giALvw48KIry7WWdCUxA1AvlVFCAR0bOJ5tKAhy-Lk,6241
603
606
  cognite_toolkit/_cdf_tk/loaders/_base_loaders.py,sha256=sF9D7ImyHmjbLBGVM66D2xSmOj8XnG3LmDqlQQZRarQ,20502
@@ -687,7 +690,7 @@ cognite_toolkit/_cdf_tk/utils/modules.py,sha256=9LLjMtowJWn8KRO3OU12VXGb5q2psrob
687
690
  cognite_toolkit/_cdf_tk/utils/producer_worker.py,sha256=v5G1GR2Q7LhkxVTxW8mxe5YQC5o0KBJ-p8nFueyh_ro,8014
688
691
  cognite_toolkit/_cdf_tk/utils/repository.py,sha256=voQLZ6NiNvdAFxqeWHbvzDLsLHl6spjQBihiLyCsGW8,4104
689
692
  cognite_toolkit/_cdf_tk/utils/sentry_utils.py,sha256=YWQdsePeFpT214-T-tZ8kEsUyC84gj8pgks42_BDJuU,575
690
- cognite_toolkit/_cdf_tk/utils/sql_parser.py,sha256=jvdieuYi1Buzb8UssuiHYW4yNxFmIrVYQhXQWsAu5qU,6055
693
+ cognite_toolkit/_cdf_tk/utils/sql_parser.py,sha256=RhUPWjVjwb9RBv1fixmG7bKvAb4JT_CC0O7Aqnx5Pgg,6196
691
694
  cognite_toolkit/_cdf_tk/utils/table_writers.py,sha256=wEBVlfCFv5bLLy836UiXQubwSxo8kUlSFZeQxnHrTX4,17932
692
695
  cognite_toolkit/_cdf_tk/utils/tarjan.py,sha256=mr3gMzlrkDadn1v7u7-Uzao81KKiM3xfXlZ185HL__A,1359
693
696
  cognite_toolkit/_repo_files/.env.tmpl,sha256=UmgKZVvIp-OzD8oOcYuwb_6c7vSJsqkLhuFaiVgK7RI,972
@@ -695,12 +698,12 @@ cognite_toolkit/_repo_files/.gitignore,sha256=3exydcQPCJTldGFJoZy1RPHc1horbAprAo
695
698
  cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
696
699
  cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=KVBxW8urCRDtVlJ6HN-kYmw0NCpW6c4lD-nlxz9tZsQ,692
697
700
  cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=Cp4KYraeWPjP8SnnEIbJoJnjmrRUwc982DPjOOzy2iM,722
698
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=hmFBWsDfhKKOMtypRrYzsPz6uWZMvXkNwL5NBTqFK0U,667
699
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=-z_SCqC4MGAMS7x-671A3dDtBVxglLOqSNTdJp9DPQY,2430
701
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=kPSbNvw3tI5xsGHKjUDkCMebY6HuTTMwJk7Q3yR7EB4,667
702
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=_5mG5DphhCXHAScbPTnIaTkJ9tYTSKtyXVlO6aeQyQo,2430
700
703
  cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
701
704
  cognite_toolkit/demo/_base.py,sha256=63nWYI_MHU5EuPwEX_inEAQxxiD5P6k8IAmlgl4CxpE,8082
702
- cognite_toolkit-0.5.61.dist-info/METADATA,sha256=ftb50hXIWOi388QW7jdEkVE8eYkAIDfsTFO7j1yQDbM,4409
703
- cognite_toolkit-0.5.61.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
704
- cognite_toolkit-0.5.61.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
705
- cognite_toolkit-0.5.61.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
706
- cognite_toolkit-0.5.61.dist-info/RECORD,,
705
+ cognite_toolkit-0.5.63.dist-info/METADATA,sha256=o1oTTOVyWL8Lzlm-3ho6SMvBuN57paaH0UJJmfdRSeQ,4410
706
+ cognite_toolkit-0.5.63.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
707
+ cognite_toolkit-0.5.63.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
708
+ cognite_toolkit-0.5.63.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
709
+ cognite_toolkit-0.5.63.dist-info/RECORD,,