cognite-toolkit 0.7.1__py3-none-any.whl → 0.7.2__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.
@@ -3,7 +3,7 @@ from pathlib import Path
3
3
 
4
4
  from cognite_toolkit._cdf_tk.tk_warnings import ToolkitWarning
5
5
 
6
- from ._base import Builder, DefaultBuilder, get_loader
6
+ from ._base import Builder, DefaultBuilder, get_resource_crud
7
7
  from ._datamodels import DataModelBuilder
8
8
  from ._file import FileBuilder
9
9
  from ._function import FunctionBuilder
@@ -36,5 +36,5 @@ __all__ = [
36
36
  "StreamlitBuilder",
37
37
  "TransformationBuilder",
38
38
  "create_builder",
39
- "get_loader",
39
+ "get_resource_crud",
40
40
  ]
@@ -2,14 +2,12 @@ import difflib
2
2
  from abc import ABC, abstractmethod
3
3
  from collections.abc import Callable, Iterable, Sequence
4
4
  from pathlib import Path
5
- from typing import Any, ClassVar, cast
5
+ from typing import Any, ClassVar
6
6
 
7
7
  from cognite_toolkit._cdf_tk.constants import INDEX_PATTERN
8
8
  from cognite_toolkit._cdf_tk.cruds import (
9
- CRUDS_BY_FOLDER_NAME,
9
+ RESOURCE_CRUD_BY_FOLDER_NAME,
10
10
  GroupCRUD,
11
- RawDatabaseCRUD,
12
- RawTableCRUD,
13
11
  ResourceCRUD,
14
12
  )
15
13
  from cognite_toolkit._cdf_tk.data_classes import (
@@ -31,7 +29,6 @@ from cognite_toolkit._cdf_tk.tk_warnings.fileread import (
31
29
  )
32
30
  from cognite_toolkit._cdf_tk.utils import (
33
31
  humanize_collection,
34
- safe_read,
35
32
  )
36
33
 
37
34
 
@@ -103,34 +100,31 @@ class Builder(ABC):
103
100
  return destination_path
104
101
 
105
102
  def _get_loader(self, source_path: Path) -> tuple[None, ToolkitWarning] | tuple[type[ResourceCRUD], None]:
106
- return get_loader(source_path, self.resource_folder)
103
+ return get_resource_crud(source_path, self.resource_folder)
107
104
 
108
105
 
109
- def get_loader(
110
- source_path: Path,
111
- resource_folder: str,
112
- force_pattern: bool = False,
106
+ def get_resource_crud(
107
+ source_path: Path, resource_folder: str
113
108
  ) -> tuple[None, ToolkitWarning] | tuple[type[ResourceCRUD], None]:
114
- folder_loaders = CRUDS_BY_FOLDER_NAME.get(resource_folder, [])
115
- if not folder_loaders:
109
+ """Get the appropriate CRUD class for the given source file and resource folder."""
110
+ folder_cruds = RESOURCE_CRUD_BY_FOLDER_NAME.get(resource_folder, [])
111
+ if not folder_cruds:
116
112
  return None, ToolkitNotSupportedWarning(
117
113
  f"resource of type {resource_folder!r} in {source_path.name}.",
118
- details=f"Available resources are: {', '.join(CRUDS_BY_FOLDER_NAME.keys())}",
114
+ details=f"Available resources are: {humanize_collection(RESOURCE_CRUD_BY_FOLDER_NAME.keys())}",
119
115
  )
120
116
 
121
- loaders = [
122
- loader for loader in folder_loaders if loader.is_supported_file(source_path, force_pattern=force_pattern)
123
- ]
124
- if len(loaders) == 0:
117
+ crud_candidates = [crud_cls for crud_cls in folder_cruds if crud_cls.is_supported_file(source_path)]
118
+ if len(crud_candidates) == 0:
125
119
  suggestion: str | None = None
126
120
  if "." in source_path.stem:
127
121
  core, kind = source_path.stem.rsplit(".", 1)
128
- match = difflib.get_close_matches(kind, [loader.kind for loader in folder_loaders])
122
+ match = difflib.get_close_matches(kind, [crud_cls.kind for crud_cls in folder_cruds])
129
123
  if match:
130
124
  suggested_name = f"{core}.{match[0]}{source_path.suffix}"
131
125
  suggestion = f"Did you mean to call the file {suggested_name!r}?"
132
126
  else:
133
- kinds = [loader.kind for loader in folder_loaders]
127
+ kinds = [crud.kind for crud in folder_cruds]
134
128
  if len(kinds) == 1:
135
129
  suggestion = f"Did you mean to call the file '{source_path.stem}.{kinds[0]}{source_path.suffix}'?"
136
130
  else:
@@ -139,30 +133,22 @@ def get_loader(
139
133
  f"the resource type. Supported types are: {humanize_collection(kinds)}."
140
134
  )
141
135
  return None, UnknownResourceTypeWarning(source_path, suggestion)
142
- elif len(loaders) > 1 and all(loader.folder_name == "raw" for loader in loaders):
143
- # Raw files can be ambiguous, so we need to check the content.
144
- # If there is a tableName field, it is a table, otherwise it is a database.
145
- if any(
146
- line.strip().startswith("tableName:") or line.strip().startswith("- tableName:")
147
- for line in safe_read(source_path).splitlines()
148
- ):
149
- return RawTableCRUD, None
150
- else:
151
- return RawDatabaseCRUD, None
152
- elif len(loaders) > 1 and all(issubclass(loader, GroupCRUD) for loader in loaders):
153
- # There are two group loaders, one for resource scoped and one for all scoped.
136
+ elif len(crud_candidates) > 1 and all(issubclass(loader, GroupCRUD) for loader in crud_candidates):
137
+ # There are two group cruds, one for resource scoped and one for all scoped.
154
138
  return GroupCRUD, None
155
- elif len(loaders) > 1:
156
- names = humanize_collection(
157
- [f"'{source_path.stem}.{loader.kind}{source_path.suffix}'" for loader in loaders], bind_word="or"
158
- )
159
- raise AmbiguousResourceFileError(
160
- f"Ambiguous resource file {source_path.name} in {resource_folder} folder. "
161
- f"Unclear whether it is {humanize_collection([loader.kind for loader in loaders], bind_word='or')}."
162
- f"\nPlease name the file {names}."
163
- )
164
-
165
- return cast(type[ResourceCRUD], loaders[0]), None
139
+ elif len(crud_candidates) == 1:
140
+ return crud_candidates[0], None
141
+
142
+ # This is unreachable with our current ResourceCRUD classes. We have tests that is exhaustive over
143
+ # all ResourceCRUDs to ensure this.
144
+ names = humanize_collection(
145
+ [f"'{source_path.stem}.{loader.kind}{source_path.suffix}'" for loader in crud_candidates], bind_word="or"
146
+ )
147
+ raise AmbiguousResourceFileError(
148
+ f"Ambiguous resource file {source_path.name} in {resource_folder} folder. "
149
+ f"Unclear whether it is {humanize_collection([crud_cls.kind for crud_cls in crud_candidates], bind_word='or')}."
150
+ f"\nPlease name the file {names}."
151
+ )
166
152
 
167
153
 
168
154
  class DefaultBuilder(Builder):
@@ -11,10 +11,8 @@ from packaging.version import Version
11
11
  from packaging.version import parse as parse_version
12
12
  from rich import print
13
13
 
14
- from cognite_toolkit._cdf_tk.builders import get_loader
15
14
  from cognite_toolkit._cdf_tk.cdf_toml import CDFToml
16
15
  from cognite_toolkit._cdf_tk.constants import DOCKER_IMAGE_NAME
17
- from cognite_toolkit._cdf_tk.data_classes import ModuleDirectories
18
16
  from cognite_toolkit._cdf_tk.utils import iterate_modules, read_yaml_file, safe_read, safe_write
19
17
  from cognite_toolkit._version import __version__
20
18
 
@@ -52,40 +50,6 @@ class ManualChange(Change):
52
50
  return ""
53
51
 
54
52
 
55
- class SetKindOnFile(AutomaticChange):
56
- """Adds the kind to the filename of all resource files.
57
-
58
- Before `your_file.yaml`:
59
- After `your_file.FileMetadata.yaml`:
60
- """
61
-
62
- deprecated_from = Version("0.4.0")
63
- has_file_changes = True
64
-
65
- def do(self) -> set[Path]:
66
- module_directories = ModuleDirectories.load(self._organization_dir)
67
- changed: set[Path] = set()
68
- for module in module_directories:
69
- for resource_folder, source_files in module.source_paths_by_resource_folder.items():
70
- for source_file in source_files:
71
- if source_file.suffix not in {".yaml", ".yml"}:
72
- continue
73
- loader, _ = get_loader(source_file, resource_folder, force_pattern=True)
74
- if loader is None:
75
- print(f"Could not find loader for {source_file}")
76
- continue
77
- if source_file.stem.casefold().endswith(loader.kind.casefold()):
78
- continue
79
- new_name = source_file.with_name(f"{source_file.stem}.{loader.kind}{source_file.suffix}")
80
- source_file.rename(new_name)
81
- changed.add(source_file)
82
- for suffix in [".sql", ".csv", ".parquet"]:
83
- if (adjacent_file := source_file.with_suffix(suffix)).exists():
84
- adjacent_file.rename(new_name.with_suffix(suffix))
85
- changed.add(adjacent_file)
86
-
87
- return changed
88
-
89
53
 
90
54
  class FixViewBasedLocationFilter(AutomaticChange):
91
55
  """The created view-based location filter has been fixed to be compatible with the CDF API.
@@ -61,7 +61,7 @@ ROOT_PATH = Path(__file__).parent.parent
61
61
  COGNITE_MODULES_PATH = ROOT_PATH / COGNITE_MODULES
62
62
  MODULES_PATH = ROOT_PATH / MODULES
63
63
  RESOURCES_PATH = ROOT_PATH / RESOURCES
64
- SUPPORT_MODULE_UPGRADE_FROM_VERSION = "0.2.0"
64
+ SUPPORT_MODULE_UPGRADE_FROM_VERSION = "0.4.0"
65
65
  # This is used in the build directory to keep track of order and flatten the
66
66
  # module directory structure with accounting for duplicated names.
67
67
  INDEX_PATTERN = re.compile("^[0-9]+\\.")
@@ -104,6 +104,11 @@ del _loader # cleanup module namespace
104
104
 
105
105
  # For backwards compatibility
106
106
  CRUDS_BY_FOLDER_NAME["data_models"] = CRUDS_BY_FOLDER_NAME["data_modeling"] # Todo: Remove in v1.0
107
+ RESOURCE_CRUD_BY_FOLDER_NAME = {
108
+ folder_name: cruds
109
+ for folder_name, loaders in CRUDS_BY_FOLDER_NAME.items()
110
+ if (cruds := [crud for crud in loaders if issubclass(crud, ResourceCRUD)])
111
+ }
107
112
 
108
113
  CRUD_LIST = list(itertools.chain.from_iterable(CRUDS_BY_FOLDER_NAME.values()))
109
114
  RESOURCE_CRUD_LIST = [loader for loader in CRUD_LIST if issubclass(loader, ResourceCRUD)]
@@ -152,6 +157,7 @@ __all__ = [
152
157
  "CRUDS_BY_FOLDER_NAME",
153
158
  "CRUD_LIST",
154
159
  "KINDS_BY_FOLDER_NAME",
160
+ "RESOURCE_CRUD_BY_FOLDER_NAME",
155
161
  "RESOURCE_CRUD_CONTAINER_LIST",
156
162
  "RESOURCE_CRUD_LIST",
157
163
  "RESOURCE_DATA_CRUD_LIST",
@@ -1,4 +1,3 @@
1
- import re
2
1
  import sys
3
2
  from abc import ABC, abstractmethod
4
3
  from collections.abc import Hashable, Iterable, Sequence, Set, Sized
@@ -31,9 +30,6 @@ else:
31
30
  from typing_extensions import Self
32
31
 
33
32
 
34
- _COMPILED_PATTERN: dict[str, re.Pattern] = {}
35
-
36
-
37
33
  class Loader(ABC):
38
34
  """This is the base class for all loaders
39
35
 
@@ -119,14 +115,11 @@ class Loader(ABC):
119
115
  return any(cls.is_supported_file(file) for file in directory.glob("**/*"))
120
116
 
121
117
  @classmethod
122
- def is_supported_file(cls, file: Path, force_pattern: bool = False) -> bool:
118
+ def is_supported_file(cls, file: Path) -> bool:
123
119
  """Check if hte file is supported by this loader.
124
120
 
125
121
  Args:
126
122
  file: The filepath to check.
127
- force_pattern: If True, the filename pattern is used to determine if the file is supported. If False, the
128
- file extension is used to determine if the file is supported (given that the
129
- RequireKind flag is enabled).
130
123
 
131
124
  Returns:
132
125
  bool: True if the file is supported, False otherwise.
@@ -136,14 +129,7 @@ class Loader(ABC):
136
129
  return False
137
130
  if cls.exclude_filetypes and file.suffix[1:] in cls.exclude_filetypes:
138
131
  return False
139
- if force_pattern is False and not issubclass(cls, DataCRUD):
140
- return file.stem.casefold().endswith(cls.kind.casefold())
141
- else:
142
- if cls.filename_pattern:
143
- if cls.filename_pattern not in _COMPILED_PATTERN:
144
- _COMPILED_PATTERN[cls.filename_pattern] = re.compile(cls.filename_pattern, re.IGNORECASE)
145
- return _COMPILED_PATTERN[cls.filename_pattern].match(file.stem) is not None
146
- return True
132
+ return file.stem.casefold().endswith(cls.kind.casefold())
147
133
 
148
134
 
149
135
  T_Loader = TypeVar("T_Loader", bound=Loader)
@@ -12,7 +12,7 @@ jobs:
12
12
  environment: dev
13
13
  name: Deploy
14
14
  container:
15
- image: cognite/toolkit:0.7.1
15
+ image: cognite/toolkit:0.7.2
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.7.1
13
+ image: cognite/toolkit:0.7.2
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.7.1"
7
+ version = "0.7.2"
8
8
 
9
9
 
10
10
  [plugins]
@@ -1 +1 @@
1
- __version__ = "0.7.1"
1
+ __version__ = "0.7.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cognite_toolkit
3
- Version: 0.7.1
3
+ Version: 0.7.2
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=PzDig6dgbDX5VL88AeijQuTeYb2SS_yvenw9gr4fnxY,5794
3
- cognite_toolkit/_version.py,sha256=2KJZDSMOG7KS82AxYOrZ4ZihYxX0wjfUjDsIZh3L024,22
3
+ cognite_toolkit/_version.py,sha256=lcrcqfPdVkkAQSUY7-6U3m2gooWLXX_neDSS8dIuHdc,22
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=3UpFZ60xXdqgPqqpqCITQuAvjnVExH_IlbASxoelvu8,7236
6
+ cognite_toolkit/_cdf_tk/constants.py,sha256=TplKm2J9pGRHq7nAnLI0caTMHetS04OIz3hfq-jvGzo,7236
7
7
  cognite_toolkit/_cdf_tk/exceptions.py,sha256=xG0jMwi5A20nvPvyo6sCyz_cyKycynPyIzpYiGR4gcU,6064
8
8
  cognite_toolkit/_cdf_tk/feature_flags.py,sha256=4tMcBX_5-4i65je0kZfzpfDlIfcbD-2XHMtkd1g1iFQ,1758
9
9
  cognite_toolkit/_cdf_tk/hints.py,sha256=UI1ymi2T5wCcYOpEbKbVaDnlyFReFy8TDtMVt-5E1h8,6493
@@ -26,8 +26,8 @@ cognite_toolkit/_cdf_tk/apps/_purge.py,sha256=KYI1wFy7yHFEM1qJnTYc4_8E2FVGu4QhPs
26
26
  cognite_toolkit/_cdf_tk/apps/_repo_app.py,sha256=jOf_s7oUWJqnRyz89JFiSzT2l8GlyQ7wqidHUQavGo0,1455
27
27
  cognite_toolkit/_cdf_tk/apps/_run.py,sha256=eXua4n0hW4qRMkzaxR0PiZh-JFLf8gnWw1_5O-0-vm0,8987
28
28
  cognite_toolkit/_cdf_tk/apps/_upload_app.py,sha256=1nF0-7oCAXLlmTGyUOKTmxkZqvA0Xo6U6lqk-SqKmCc,4227
29
- cognite_toolkit/_cdf_tk/builders/__init__.py,sha256=Y-AJ4VrcUCRquGNEgDCiwmWW3iGWnJl2DrL17gsUIBg,1172
30
- cognite_toolkit/_cdf_tk/builders/_base.py,sha256=N32Y17hfepp45rMW_o4qeUY9nsysmtcxpX4GkF-tsio,7829
29
+ cognite_toolkit/_cdf_tk/builders/__init__.py,sha256=8073Ijf621XiAtiwup-rLfrbYd403H8lo9e65_iP1JA,1186
30
+ cognite_toolkit/_cdf_tk/builders/_base.py,sha256=_4Gd6GtuAmnPvl3IjvuAUfuSQtEVJekUaqzk3IH-tIY,7462
31
31
  cognite_toolkit/_cdf_tk/builders/_datamodels.py,sha256=hN3fWQAktrWdaGAItZ0tHpBXqJDu0JfH6t7pO7EIl2Q,3541
32
32
  cognite_toolkit/_cdf_tk/builders/_file.py,sha256=ZRTlyb-MnmJhBhfPeQ9h7gM2T4nllyjonwYBj31cv1Q,3847
33
33
  cognite_toolkit/_cdf_tk/builders/_function.py,sha256=ID5hGCjT1i0MreswLXgUqOYh7sGuBrwiyjpuzYV7Bm0,5246
@@ -102,7 +102,7 @@ cognite_toolkit/_cdf_tk/client/utils/_concurrency.py,sha256=3GtQbKDaosyKHEt-KzxK
102
102
  cognite_toolkit/_cdf_tk/client/utils/_http_client.py,sha256=oXNKrIaizG4WiSAhL_kSCHAuL4aaaEhCU4pOJGxh6Xs,483
103
103
  cognite_toolkit/_cdf_tk/commands/__init__.py,sha256=gHA3yWI3UacMD79ZpCyh8MjA1fzuEg5pxZGts2VsXLs,1356
104
104
  cognite_toolkit/_cdf_tk/commands/_base.py,sha256=1gl8Y-yqfedRMfdbwM3iPTIUIZriX1UvC1deLsJSJwM,2667
105
- cognite_toolkit/_cdf_tk/commands/_changes.py,sha256=fvw2C5N2BVf-7MUpiB1FkDVCJ0xIy4lfDyFgpWaLPeo,24651
105
+ cognite_toolkit/_cdf_tk/commands/_changes.py,sha256=sU0KaTtPVSJgAZcaZ1Tkcajj36pmhd13kh7V8QbIED8,22987
106
106
  cognite_toolkit/_cdf_tk/commands/_cli_commands.py,sha256=TK6U_rm6VZT_V941kTyHMoulWgJzbDC8YIIQDPJ5x3w,1011
107
107
  cognite_toolkit/_cdf_tk/commands/_download.py,sha256=OBKPM_HGGA1i32th1SAgkQM_81CUFvm39kGqBuOeeTs,6816
108
108
  cognite_toolkit/_cdf_tk/commands/_profile.py,sha256=_4iX3AHAI6eLmRVUlWXCSvVHx1BZW2yDr_i2i9ECg6U,43120
@@ -136,8 +136,8 @@ cognite_toolkit/_cdf_tk/commands/_migrate/issues.py,sha256=L2-kODPavEwcuhte7EXAN
136
136
  cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py,sha256=wrdBH5P6NgiZQSYLR0iJ3ZvqfQ5fY-_Ne2yKv9E1g4o,16277
137
137
  cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py,sha256=RfqaNoso5CyBwc-p6ckwcYqBfZXKhdJgdGIyd0TATaI,2635
138
138
  cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py,sha256=N1H_-rBpPUD6pbrlcofn1uEK1bA694EUXEe1zIXeqyo,2489
139
- cognite_toolkit/_cdf_tk/cruds/__init__.py,sha256=n8_4bkxXjXKUaYgrcP5NxomfWf9nwAU6KlpVrHw2ZAw,6317
140
- cognite_toolkit/_cdf_tk/cruds/_base_cruds.py,sha256=3ExMHowKi9jV-EwfKL1jfeSfQLM59z8jZAGq_wJb5Jc,20088
139
+ cognite_toolkit/_cdf_tk/cruds/__init__.py,sha256=Qxb_Vjv6maJePvO7hunUAtUqXIXW3vi1-hLoWQVs__4,6551
140
+ cognite_toolkit/_cdf_tk/cruds/_base_cruds.py,sha256=uRMu_YBQh2cerRXoDd0KUqZLSIDEDrd3Dyy7eUhHU7k,19332
141
141
  cognite_toolkit/_cdf_tk/cruds/_data_cruds.py,sha256=PacTXdXaw0sf38tM6_DgNXVYdZXf_J90ZUeLk5v2VRg,9071
142
142
  cognite_toolkit/_cdf_tk/cruds/_worker.py,sha256=XdLm6DMFln9DqDgEbeqzepw9WRSXx7WdChbDtmOc89Q,9358
143
143
  cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py,sha256=gSbQHXTgbkguEc2kFckgt13JVO5GXol_JXT2LW4T5o0,2879
@@ -300,13 +300,13 @@ cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi
300
300
  cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
301
301
  cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
302
302
  cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=OBFDhFWK1mlT4Dc6mDUE2Es834l8sAlYG50-5RxRtHk,723
303
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=PpKK3jflxLwNjCldzTWYHhg2hQ0Omi1BonQrnjWmgXo,666
304
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=ASOi_Om6-yPgKXo8NQE4xSju0f7c0BCGPVjFlNKTyeg,2429
305
- cognite_toolkit/_resources/cdf.toml,sha256=A4-O_130gdFgF96eY8qDobuPNcGvhb2LPE6Rbs8PnkI,474
303
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=pg60Ci-049fvtnFJH2TB9L0pwwzAZk_CwY58pjjkUCQ,666
304
+ cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=Wx65iojr2ikndc3EH3eoMqSTuBi9NqVxRSVXRy-uCVA,2429
305
+ cognite_toolkit/_resources/cdf.toml,sha256=ABuqYK35VFmcX2E1ifJJgqcKiCeRyzQTp-SkpVqYDTk,474
306
306
  cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
307
307
  cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
308
- cognite_toolkit-0.7.1.dist-info/METADATA,sha256=n8jC9M1BlwW_IosE5ybERRNMUPxfyKTxvN4QDL7PltM,4500
309
- cognite_toolkit-0.7.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
310
- cognite_toolkit-0.7.1.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
311
- cognite_toolkit-0.7.1.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
312
- cognite_toolkit-0.7.1.dist-info/RECORD,,
308
+ cognite_toolkit-0.7.2.dist-info/METADATA,sha256=Vg6iTdZz3GaanYADQzTJ8NpvyOrMUTh6odc3nueG_xk,4500
309
+ cognite_toolkit-0.7.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
310
+ cognite_toolkit-0.7.2.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
311
+ cognite_toolkit-0.7.2.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
312
+ cognite_toolkit-0.7.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any