cognite-toolkit 0.5.60__py3-none-any.whl → 0.5.62__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.
- cognite_toolkit/_builtin_modules/cdf.toml +1 -1
- cognite_toolkit/_cdf_tk/apps/_modules_app.py +9 -9
- cognite_toolkit/_cdf_tk/apps/_profile_app.py +2 -2
- cognite_toolkit/_cdf_tk/cdf_toml.py +46 -3
- cognite_toolkit/_cdf_tk/client/data_classes/canvas.py +395 -0
- cognite_toolkit/_cdf_tk/commands/__init__.py +2 -2
- cognite_toolkit/_cdf_tk/commands/_profile.py +198 -89
- cognite_toolkit/_cdf_tk/commands/modules.py +128 -5
- cognite_toolkit/_cdf_tk/data_classes/_packages.py +2 -2
- cognite_toolkit/_cdf_tk/feature_flags.py +4 -0
- cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +11 -0
- cognite_toolkit/_cdf_tk/utils/aggregators.py +159 -20
- cognite_toolkit/_cdf_tk/utils/sql_parser.py +14 -0
- cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
- cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
- cognite_toolkit/_version.py +1 -1
- cognite_toolkit/config.dev.yaml +7 -0
- {cognite_toolkit-0.5.60.dist-info → cognite_toolkit-0.5.62.dist-info}/METADATA +2 -2
- {cognite_toolkit-0.5.60.dist-info → cognite_toolkit-0.5.62.dist-info}/RECORD +23 -21
- /cognite_toolkit/_builtin_modules/{package.toml → packages.toml} +0 -0
- {cognite_toolkit-0.5.60.dist-info → cognite_toolkit-0.5.62.dist-info}/WHEEL +0 -0
- {cognite_toolkit-0.5.60.dist-info → cognite_toolkit-0.5.62.dist-info}/entry_points.txt +0 -0
- {cognite_toolkit-0.5.60.dist-info → cognite_toolkit-0.5.62.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,20 @@
|
|
1
1
|
from abc import ABC, abstractmethod
|
2
|
-
from typing import ClassVar, Literal
|
2
|
+
from typing import ClassVar, Generic, Literal, TypeVar
|
3
|
+
|
4
|
+
from cognite.client.data_classes import (
|
5
|
+
AssetFilter,
|
6
|
+
EventFilter,
|
7
|
+
FileMetadataFilter,
|
8
|
+
SequenceFilter,
|
9
|
+
TimeSeriesFilter,
|
10
|
+
Transformation,
|
11
|
+
filters,
|
12
|
+
)
|
13
|
+
from cognite.client.data_classes.assets import AssetProperty
|
14
|
+
from cognite.client.data_classes.documents import SourceFileProperty
|
15
|
+
from cognite.client.data_classes.events import EventProperty
|
16
|
+
from cognite.client.data_classes.sequences import SequenceProperty
|
17
|
+
from cognite.client.data_classes.time_series import TimeSeriesProperty
|
3
18
|
|
4
19
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
5
20
|
from cognite_toolkit._cdf_tk.utils.cdf import (
|
@@ -8,6 +23,13 @@ from cognite_toolkit._cdf_tk.utils.cdf import (
|
|
8
23
|
metadata_key_counts,
|
9
24
|
relationship_aggregate_count,
|
10
25
|
)
|
26
|
+
from cognite_toolkit._cdf_tk.utils.sql_parser import SQLParser
|
27
|
+
|
28
|
+
T_CogniteFilter = TypeVar(
|
29
|
+
"T_CogniteFilter",
|
30
|
+
bound=AssetFilter | EventFilter | FileMetadataFilter | TimeSeriesFilter | SequenceFilter,
|
31
|
+
contravariant=True,
|
32
|
+
)
|
11
33
|
|
12
34
|
|
13
35
|
class AssetCentricAggregator(ABC):
|
@@ -22,7 +44,7 @@ class AssetCentricAggregator(ABC):
|
|
22
44
|
raise NotImplementedError()
|
23
45
|
|
24
46
|
@abstractmethod
|
25
|
-
def count(self) -> int:
|
47
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
26
48
|
raise NotImplementedError
|
27
49
|
|
28
50
|
def transformation_count(self) -> int:
|
@@ -33,8 +55,57 @@ class AssetCentricAggregator(ABC):
|
|
33
55
|
transformation_count += len(chunk)
|
34
56
|
return transformation_count
|
35
57
|
|
58
|
+
@abstractmethod
|
59
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
60
|
+
"""Returns a list of data sets used by the resource."""
|
61
|
+
raise NotImplementedError
|
62
|
+
|
63
|
+
def used_transformations(self, data_set_external_ids: list[str]) -> list[Transformation]:
|
64
|
+
"""Returns a list of transformations used by the resource."""
|
65
|
+
data_set_ids = self.client.lookup.data_sets.id(data_set_external_ids, allow_empty=True)
|
66
|
+
found_transformations: list[Transformation] = []
|
67
|
+
for destination in self._transformation_destination:
|
68
|
+
for chunk in self.client.transformations(chunk_size=1000, destination_type=destination, limit=None):
|
69
|
+
for transformation in chunk:
|
70
|
+
if SQLParser(transformation.query or "", operation="profiling").is_using_data_set(
|
71
|
+
data_set_ids, data_set_external_ids
|
72
|
+
):
|
73
|
+
found_transformations.append(transformation)
|
74
|
+
return found_transformations
|
75
|
+
|
76
|
+
@staticmethod
|
77
|
+
def _to_unique_int_list(results: list) -> list[int]:
|
78
|
+
"""Converts a list of results to a unique list of integers.
|
79
|
+
|
80
|
+
This method does the following:
|
81
|
+
* Converts each item in the results to an integer, if possible.
|
82
|
+
* Filters out None.
|
83
|
+
* Removes duplicates
|
84
|
+
|
85
|
+
This is used as the aggregation results are inconsistently implemented for the different resources,
|
86
|
+
when aggregating dataSetIds, Sequences, TimeSeries, and Files return a list of strings, while
|
87
|
+
Assets and Events return a list of integers. In addition, the files aggregation can return
|
88
|
+
duplicated values.
|
89
|
+
"""
|
90
|
+
seen: set[int] = set()
|
91
|
+
ids: list[int] = []
|
92
|
+
for id_ in results:
|
93
|
+
if isinstance(id_, int) and id_ not in seen:
|
94
|
+
ids.append(id_)
|
95
|
+
seen.add(id_)
|
96
|
+
try:
|
97
|
+
int_id = int(id_) # type: ignore[arg-type]
|
98
|
+
except (ValueError, TypeError):
|
99
|
+
continue
|
100
|
+
if int_id not in seen:
|
101
|
+
ids.append(int_id)
|
102
|
+
seen.add(int_id)
|
103
|
+
return ids
|
104
|
+
|
105
|
+
|
106
|
+
class MetadataAggregator(AssetCentricAggregator, ABC, Generic[T_CogniteFilter]):
|
107
|
+
filter_cls: type[T_CogniteFilter]
|
36
108
|
|
37
|
-
class MetadataAggregator(AssetCentricAggregator, ABC):
|
38
109
|
def __init__(
|
39
110
|
self, client: ToolkitClient, resource_name: Literal["assets", "events", "files", "timeseries", "sequences"]
|
40
111
|
) -> None:
|
@@ -44,14 +115,27 @@ class MetadataAggregator(AssetCentricAggregator, ABC):
|
|
44
115
|
def metadata_key_count(self) -> int:
|
45
116
|
return len(metadata_key_counts(self.client, self.resource_name))
|
46
117
|
|
118
|
+
@classmethod
|
119
|
+
def create_filter(
|
120
|
+
cls, hierarchy: str | None = None, data_set_external_id: str | None = None
|
121
|
+
) -> T_CogniteFilter | None:
|
122
|
+
"""Creates a filter for the resource based on hierarchy and data set external ID."""
|
123
|
+
if hierarchy is None and data_set_external_id is None:
|
124
|
+
return None
|
125
|
+
return cls.filter_cls(
|
126
|
+
asset_subtree_ids=[{"externalId": hierarchy}] if hierarchy is not None else None,
|
127
|
+
data_set_ids=[{"externalId": data_set_external_id}] if data_set_external_id is not None else None,
|
128
|
+
)
|
129
|
+
|
47
130
|
|
48
|
-
class LabelAggregator(MetadataAggregator, ABC):
|
131
|
+
class LabelAggregator(MetadataAggregator, ABC, Generic[T_CogniteFilter]):
|
49
132
|
def label_count(self) -> int:
|
50
133
|
return len(label_count(self.client, self.resource_name))
|
51
134
|
|
52
135
|
|
53
|
-
class AssetAggregator(LabelAggregator):
|
136
|
+
class AssetAggregator(LabelAggregator[AssetFilter]):
|
54
137
|
_transformation_destination = ("assets", "asset_hierarchy")
|
138
|
+
filter_cls = AssetFilter
|
55
139
|
|
56
140
|
def __init__(self, client: ToolkitClient) -> None:
|
57
141
|
super().__init__(client, "assets")
|
@@ -60,12 +144,20 @@ class AssetAggregator(LabelAggregator):
|
|
60
144
|
def display_name(self) -> str:
|
61
145
|
return "Assets"
|
62
146
|
|
63
|
-
def count(self) -> int:
|
64
|
-
return self.client.assets.aggregate_count()
|
147
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
148
|
+
return self.client.assets.aggregate_count(filter=self.create_filter(hierarchy, data_set_external_id))
|
65
149
|
|
150
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
151
|
+
"""Returns a list of data sets used by the resource."""
|
152
|
+
results = self.client.assets.aggregate_unique_values(
|
153
|
+
AssetProperty.data_set_id, filter=self.create_filter(hierarchy)
|
154
|
+
)
|
155
|
+
return self.client.lookup.data_sets.external_id([id_ for id_ in results.unique if isinstance(id_, int)])
|
66
156
|
|
67
|
-
|
157
|
+
|
158
|
+
class EventAggregator(MetadataAggregator[EventFilter]):
|
68
159
|
_transformation_destination = ("events",)
|
160
|
+
filter_cls = EventFilter
|
69
161
|
|
70
162
|
def __init__(self, client: ToolkitClient) -> None:
|
71
163
|
super().__init__(client, "events")
|
@@ -74,12 +166,20 @@ class EventAggregator(MetadataAggregator):
|
|
74
166
|
def display_name(self) -> str:
|
75
167
|
return "Events"
|
76
168
|
|
77
|
-
def count(self) -> int:
|
78
|
-
return self.client.events.aggregate_count()
|
169
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
170
|
+
return self.client.events.aggregate_count(filter=self.create_filter(hierarchy, data_set_external_id))
|
171
|
+
|
172
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
173
|
+
"""Returns a list of data sets used by the resource."""
|
174
|
+
results = self.client.events.aggregate_unique_values(
|
175
|
+
property=EventProperty.data_set_id, filter=self.create_filter(hierarchy)
|
176
|
+
)
|
177
|
+
return self.client.lookup.data_sets.external_id([id_ for id_ in results.unique if isinstance(id_, int)])
|
79
178
|
|
80
179
|
|
81
|
-
class FileAggregator(LabelAggregator):
|
180
|
+
class FileAggregator(LabelAggregator[FileMetadataFilter]):
|
82
181
|
_transformation_destination = ("files",)
|
182
|
+
filter_cls = FileMetadataFilter
|
83
183
|
|
84
184
|
def __init__(self, client: ToolkitClient) -> None:
|
85
185
|
super().__init__(client, "files")
|
@@ -88,16 +188,28 @@ class FileAggregator(LabelAggregator):
|
|
88
188
|
def display_name(self) -> str:
|
89
189
|
return "Files"
|
90
190
|
|
91
|
-
def count(self) -> int:
|
92
|
-
response = self.client.files.aggregate()
|
191
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
192
|
+
response = self.client.files.aggregate(filter=self.create_filter(hierarchy, data_set_external_id))
|
93
193
|
if response:
|
94
194
|
return response[0].count
|
95
195
|
else:
|
96
196
|
return 0
|
97
197
|
|
198
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
199
|
+
"""Returns a list of data sets used by the resource."""
|
200
|
+
filter_: filters.Filter | None = None
|
201
|
+
if hierarchy is not None:
|
202
|
+
filter_ = filters.InAssetSubtree("assetExternalIds", [hierarchy])
|
203
|
+
results = self.client.documents.aggregate_unique_values(
|
204
|
+
property=SourceFileProperty.data_set_id, filter=filter_, limit=1000
|
205
|
+
)
|
206
|
+
ids = self._to_unique_int_list(results.unique)
|
207
|
+
return self.client.lookup.data_sets.external_id(list(ids))
|
208
|
+
|
98
209
|
|
99
|
-
class TimeSeriesAggregator(MetadataAggregator):
|
210
|
+
class TimeSeriesAggregator(MetadataAggregator[TimeSeriesFilter]):
|
100
211
|
_transformation_destination = ("timeseries",)
|
212
|
+
filter_cls = TimeSeriesFilter
|
101
213
|
|
102
214
|
def __init__(self, client: ToolkitClient) -> None:
|
103
215
|
super().__init__(client, "timeseries")
|
@@ -106,12 +218,21 @@ class TimeSeriesAggregator(MetadataAggregator):
|
|
106
218
|
def display_name(self) -> str:
|
107
219
|
return "TimeSeries"
|
108
220
|
|
109
|
-
def count(self) -> int:
|
110
|
-
return self.client.time_series.aggregate_count()
|
221
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
222
|
+
return self.client.time_series.aggregate_count(filter=self.create_filter(hierarchy, data_set_external_id))
|
223
|
+
|
224
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
225
|
+
"""Returns a list of data sets used by the resource."""
|
226
|
+
results = self.client.time_series.aggregate_unique_values(
|
227
|
+
property=TimeSeriesProperty.data_set_id, filter=self.create_filter(hierarchy)
|
228
|
+
)
|
229
|
+
ids = self._to_unique_int_list(results.unique)
|
230
|
+
return self.client.lookup.data_sets.external_id(ids)
|
111
231
|
|
112
232
|
|
113
233
|
class SequenceAggregator(MetadataAggregator):
|
114
234
|
_transformation_destination = ("sequences",)
|
235
|
+
filter_cls = SequenceFilter
|
115
236
|
|
116
237
|
def __init__(self, client: ToolkitClient) -> None:
|
117
238
|
super().__init__(client, "sequences")
|
@@ -120,8 +241,16 @@ class SequenceAggregator(MetadataAggregator):
|
|
120
241
|
def display_name(self) -> str:
|
121
242
|
return "Sequences"
|
122
243
|
|
123
|
-
def count(self) -> int:
|
124
|
-
return self.client.sequences.aggregate_count()
|
244
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
245
|
+
return self.client.sequences.aggregate_count(filter=self.create_filter(hierarchy, data_set_external_id))
|
246
|
+
|
247
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
248
|
+
"""Returns a list of data sets used by the resource."""
|
249
|
+
results = self.client.sequences.aggregate_unique_values(
|
250
|
+
property=SequenceProperty.data_set_id, filter=self.create_filter(hierarchy)
|
251
|
+
)
|
252
|
+
ids = self._to_unique_int_list(results.unique)
|
253
|
+
return self.client.lookup.data_sets.external_id(ids)
|
125
254
|
|
126
255
|
|
127
256
|
class RelationshipAggregator(AssetCentricAggregator):
|
@@ -131,10 +260,15 @@ class RelationshipAggregator(AssetCentricAggregator):
|
|
131
260
|
def display_name(self) -> str:
|
132
261
|
return "Relationships"
|
133
262
|
|
134
|
-
def count(self) -> int:
|
263
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
264
|
+
if hierarchy is not None or data_set_external_id is not None:
|
265
|
+
raise NotImplementedError()
|
135
266
|
results = relationship_aggregate_count(self.client)
|
136
267
|
return sum(result.count for result in results)
|
137
268
|
|
269
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
270
|
+
raise NotImplementedError()
|
271
|
+
|
138
272
|
|
139
273
|
class LabelCountAggregator(AssetCentricAggregator):
|
140
274
|
_transformation_destination = ("labels",)
|
@@ -143,5 +277,10 @@ class LabelCountAggregator(AssetCentricAggregator):
|
|
143
277
|
def display_name(self) -> str:
|
144
278
|
return "Labels"
|
145
279
|
|
146
|
-
def count(self) -> int:
|
280
|
+
def count(self, hierarchy: str | None = None, data_set_external_id: str | None = None) -> int:
|
281
|
+
if hierarchy is not None or data_set_external_id is not None:
|
282
|
+
raise NotImplementedError()
|
147
283
|
return label_aggregate_count(self.client)
|
284
|
+
|
285
|
+
def used_data_sets(self, hierarchy: str | None = None) -> list[str]:
|
286
|
+
raise NotImplementedError()
|
@@ -45,6 +45,20 @@ class SQLParser:
|
|
45
45
|
self.parse()
|
46
46
|
return self._destination_columns
|
47
47
|
|
48
|
+
def is_using_data_set(
|
49
|
+
self, data_set_ids: list[int] | None = None, data_set_external_ids: list[str] | None = None
|
50
|
+
) -> bool:
|
51
|
+
"""Check if the SQL query uses any of the provided data set IDs or external IDs."""
|
52
|
+
for data_set_id in data_set_ids or []:
|
53
|
+
if f"{data_set_id} " in self.query:
|
54
|
+
return True
|
55
|
+
for data_set_external_id in data_set_external_ids or []:
|
56
|
+
if f'dataset_id("{data_set_external_id}")' in self.query:
|
57
|
+
return True
|
58
|
+
elif f"dataset_id('{data_set_external_id}')" in self.query:
|
59
|
+
return True
|
60
|
+
return False
|
61
|
+
|
48
62
|
def parse(self) -> None:
|
49
63
|
"""Parse the SQL query and extract table names."""
|
50
64
|
import sqlparse
|
cognite_toolkit/_version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.5.
|
1
|
+
__version__ = "0.5.62"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cognite_toolkit
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.62
|
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-
|
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=
|
3
|
+
cognite_toolkit/_version.py,sha256=fTpVYKhDGFXtOWGEUIjMCKrmXus7JYNBnA_m_Tqs5cw,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=
|
7
|
-
cognite_toolkit/_builtin_modules/
|
7
|
+
cognite_toolkit/_builtin_modules/cdf.toml,sha256=xO_fCIiJ0cPWc1BOJhKuQcAh1HOKcsYdSUVM-ktp4oE,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=
|
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=
|
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=
|
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=
|
505
|
+
cognite_toolkit/_cdf_tk/apps/_profile_app.py,sha256=kceXE60pZz57cRr73DBbOUxShJ3R1tccUQ2L18zPJJw,1317
|
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
|
@@ -559,12 +561,12 @@ cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py,sha256=OGoMQ_K88F9vSZu
|
|
559
561
|
cognite_toolkit/_cdf_tk/client/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
560
562
|
cognite_toolkit/_cdf_tk/client/utils/_concurrency.py,sha256=z6gqFv-kw80DsEpbaR7sI0-_WvZdOdAsR4VoFvTqvyU,1309
|
561
563
|
cognite_toolkit/_cdf_tk/client/utils/_http_client.py,sha256=oXNKrIaizG4WiSAhL_kSCHAuL4aaaEhCU4pOJGxh6Xs,483
|
562
|
-
cognite_toolkit/_cdf_tk/commands/__init__.py,sha256
|
564
|
+
cognite_toolkit/_cdf_tk/commands/__init__.py,sha256=-9OGZp44naD2ACg4UjBQjc5wqlppll-BgeMd6scu6CQ,1195
|
563
565
|
cognite_toolkit/_cdf_tk/commands/_base.py,sha256=3Zc3ffR8mjZ1eV7WrC-Y1sYmyMzdbbJDDmsiKEMEJwo,2480
|
564
566
|
cognite_toolkit/_cdf_tk/commands/_changes.py,sha256=3bR_C8p02IW6apexwAAoXuneBM4RcUGdX6Hw_Rtx7Kg,24775
|
565
567
|
cognite_toolkit/_cdf_tk/commands/_cli_commands.py,sha256=6nezoDrw3AkF8hANHjUILgTj_nbdzgT0siweaKI35Fk,1047
|
566
568
|
cognite_toolkit/_cdf_tk/commands/_populate.py,sha256=59VXEFRc4521xhTmCuQnjgWNYE3z4TUkUq8YbFREDGc,12280
|
567
|
-
cognite_toolkit/_cdf_tk/commands/_profile.py,sha256=
|
569
|
+
cognite_toolkit/_cdf_tk/commands/_profile.py,sha256=gZ1Ic0LBudnxH7QgQbK_rB9aL991po8VIAdbvUIiNHI,9182
|
568
570
|
cognite_toolkit/_cdf_tk/commands/_purge.py,sha256=bE2ytMMlMuZc5xGyktKayvZ25x0kdzoKspjwgfab1Qs,26483
|
569
571
|
cognite_toolkit/_cdf_tk/commands/_utils.py,sha256=_IfPBLyfOUc7ubbABiHPpg1MzNGNCxElQ-hmV-vfFDc,1271
|
570
572
|
cognite_toolkit/_cdf_tk/commands/_virtual_env.py,sha256=45_aEPZJeyfGmS2Ph_lucaO7ujY7AF5L5N1K3UH3F0o,2216
|
@@ -577,7 +579,7 @@ cognite_toolkit/_cdf_tk/commands/dump_data.py,sha256=U_e-fEAEphpkJMlDTHQvQ1F0k3q
|
|
577
579
|
cognite_toolkit/_cdf_tk/commands/dump_resource.py,sha256=Dt8jlkmtpRtzPDMEjKdpOJPFr92k7Mw-BWkRsE9CJ8s,20515
|
578
580
|
cognite_toolkit/_cdf_tk/commands/featureflag.py,sha256=VPz7FrjVQFqjkz8BYTP2Np3k7BTLFMq_eooNSqmb2ms,1034
|
579
581
|
cognite_toolkit/_cdf_tk/commands/init.py,sha256=M9Qs6OVw5mKS4HkWX9DbWwFES1l65J2G90AXqUpyO4c,1744
|
580
|
-
cognite_toolkit/_cdf_tk/commands/modules.py,sha256=
|
582
|
+
cognite_toolkit/_cdf_tk/commands/modules.py,sha256=lYImbi7eX07j2lbE_8xJ5uix9xa2lL6vBk7IzjGPlhw,35946
|
581
583
|
cognite_toolkit/_cdf_tk/commands/pull.py,sha256=t7KQCxpoFDNBWTYPohK7chrRzPyAOGVmfaY7iBLnTqM,39286
|
582
584
|
cognite_toolkit/_cdf_tk/commands/repo.py,sha256=vQfLMTzSnI4w6eYCQuMnZ_xXVAVjyLnST4Tmu2zgNfE,3874
|
583
585
|
cognite_toolkit/_cdf_tk/commands/run.py,sha256=88AkfCdS4gXHA4I5ZhdU3HWWA5reOTGbfaauM-Yvp8o,37407
|
@@ -597,7 +599,7 @@ cognite_toolkit/_cdf_tk/data_classes/_deploy_results.py,sha256=BhGvCiuR2LI2DuJae
|
|
597
599
|
cognite_toolkit/_cdf_tk/data_classes/_module_directories.py,sha256=wQ-hM-0onMrFHHFb3c-V9hFuN-FToEFVzCLG7UrzvbQ,11882
|
598
600
|
cognite_toolkit/_cdf_tk/data_classes/_module_resources.py,sha256=SsZM3vwCqDbc1ejyFtuX-SOY9K_kLGBfIC7JTlQ7QnM,9160
|
599
601
|
cognite_toolkit/_cdf_tk/data_classes/_module_toml.py,sha256=35VFoP_rLMUKhztrePt-uey0SgpVCYgSFuButHkrUq4,2731
|
600
|
-
cognite_toolkit/_cdf_tk/data_classes/_packages.py,sha256=
|
602
|
+
cognite_toolkit/_cdf_tk/data_classes/_packages.py,sha256=LX17FD_PKEl-QqALQaF3rbVBlnlB_y_lQaFOy8AoWe8,3738
|
601
603
|
cognite_toolkit/_cdf_tk/data_classes/_yaml_comments.py,sha256=zfuDu9aAsb1ExeZBAJIqVaoqIZ050tO_oh3dApzlDwY,4937
|
602
604
|
cognite_toolkit/_cdf_tk/loaders/__init__.py,sha256=9giALvw48KIry7WWdCUxA1AvlVFCAR0bOJ5tKAhy-Lk,6241
|
603
605
|
cognite_toolkit/_cdf_tk/loaders/_base_loaders.py,sha256=sF9D7ImyHmjbLBGVM66D2xSmOj8XnG3LmDqlQQZRarQ,20502
|
@@ -649,7 +651,7 @@ cognite_toolkit/_cdf_tk/prototypes/commands/import_.py,sha256=a27HF7TWiYZNX4PnV0
|
|
649
651
|
cognite_toolkit/_cdf_tk/resource_classes/__init__.py,sha256=UxxQ3H3jAFFSyJahlyAIdtkCaLhE9ki1kJ9ZlU3UGEk,1639
|
650
652
|
cognite_toolkit/_cdf_tk/resource_classes/asset.py,sha256=bFneWvGrEO0QsCJfSjfVDnJtIp9YCYIU7LYESldUSMs,1179
|
651
653
|
cognite_toolkit/_cdf_tk/resource_classes/base.py,sha256=nbAWSBkV-GL0co5UNMXvYMIw_-qhJ8uoXy9wz6KmI-w,723
|
652
|
-
cognite_toolkit/_cdf_tk/resource_classes/capabilities.py,sha256=
|
654
|
+
cognite_toolkit/_cdf_tk/resource_classes/capabilities.py,sha256=Lx8X3Ma06hJfcNGkfA8FN6mf_TMxtlNqxSRc2xzXoic,14279
|
653
655
|
cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py,sha256=rOi7pJA19jE9bWyBSHsK7aoblfiOcLoLZT5toI2UjEw,11442
|
654
656
|
cognite_toolkit/_cdf_tk/resource_classes/containers.py,sha256=-b_96LpBSjkKsUVZbdajy69gcDk-Pr-rvSa8R5zcpU8,3643
|
655
657
|
cognite_toolkit/_cdf_tk/resource_classes/dataset.py,sha256=kCEQUswgTgtb8fdd9mMg50MuY34zjDmdh4ZUmxu2A74,816
|
@@ -673,7 +675,7 @@ cognite_toolkit/_cdf_tk/tk_warnings/base.py,sha256=RMtJ_0iE1xfbTKkvWLkAo5AgscjkN
|
|
673
675
|
cognite_toolkit/_cdf_tk/tk_warnings/fileread.py,sha256=9xE8i8F_HhrRaQi6IGcE240j4TRZQzrOd7gMByjsXEk,8924
|
674
676
|
cognite_toolkit/_cdf_tk/tk_warnings/other.py,sha256=fhqhzkLRpnBjGerxic9KsQCQyRfD6p7g6hFGNyQkN5c,5275
|
675
677
|
cognite_toolkit/_cdf_tk/utils/__init__.py,sha256=FmaKeh-7yRTTzFrto03eeB8prQ9SRvHco7xk7w0X3MA,1425
|
676
|
-
cognite_toolkit/_cdf_tk/utils/aggregators.py,sha256=
|
678
|
+
cognite_toolkit/_cdf_tk/utils/aggregators.py,sha256=hr097jloKrEo1alBpnrQ-LGzgg2c7fi-AEOTh0JVF_Y,11398
|
677
679
|
cognite_toolkit/_cdf_tk/utils/auth.py,sha256=O_VuLXS8xYdjBeTATIHWht7KtemmhZIfxUrzgqCdrMQ,23106
|
678
680
|
cognite_toolkit/_cdf_tk/utils/cdf.py,sha256=AbnNp9yeyrvBnPBuTH2_bKIkrA9xFjLRaxoUJFHZ05E,13119
|
679
681
|
cognite_toolkit/_cdf_tk/utils/cicd.py,sha256=74XQKpm6IHvCbxv-66ouc0MfSdW3RhH9kBSJtjeYdv4,535
|
@@ -687,7 +689,7 @@ cognite_toolkit/_cdf_tk/utils/modules.py,sha256=9LLjMtowJWn8KRO3OU12VXGb5q2psrob
|
|
687
689
|
cognite_toolkit/_cdf_tk/utils/producer_worker.py,sha256=v5G1GR2Q7LhkxVTxW8mxe5YQC5o0KBJ-p8nFueyh_ro,8014
|
688
690
|
cognite_toolkit/_cdf_tk/utils/repository.py,sha256=voQLZ6NiNvdAFxqeWHbvzDLsLHl6spjQBihiLyCsGW8,4104
|
689
691
|
cognite_toolkit/_cdf_tk/utils/sentry_utils.py,sha256=YWQdsePeFpT214-T-tZ8kEsUyC84gj8pgks42_BDJuU,575
|
690
|
-
cognite_toolkit/_cdf_tk/utils/sql_parser.py,sha256=
|
692
|
+
cognite_toolkit/_cdf_tk/utils/sql_parser.py,sha256=jvdieuYi1Buzb8UssuiHYW4yNxFmIrVYQhXQWsAu5qU,6055
|
691
693
|
cognite_toolkit/_cdf_tk/utils/table_writers.py,sha256=wEBVlfCFv5bLLy836UiXQubwSxo8kUlSFZeQxnHrTX4,17932
|
692
694
|
cognite_toolkit/_cdf_tk/utils/tarjan.py,sha256=mr3gMzlrkDadn1v7u7-Uzao81KKiM3xfXlZ185HL__A,1359
|
693
695
|
cognite_toolkit/_repo_files/.env.tmpl,sha256=UmgKZVvIp-OzD8oOcYuwb_6c7vSJsqkLhuFaiVgK7RI,972
|
@@ -695,12 +697,12 @@ cognite_toolkit/_repo_files/.gitignore,sha256=3exydcQPCJTldGFJoZy1RPHc1horbAprAo
|
|
695
697
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
|
696
698
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=KVBxW8urCRDtVlJ6HN-kYmw0NCpW6c4lD-nlxz9tZsQ,692
|
697
699
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml,sha256=Cp4KYraeWPjP8SnnEIbJoJnjmrRUwc982DPjOOzy2iM,722
|
698
|
-
cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=
|
699
|
-
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=
|
700
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=aqocHZ1qaXChsxpsKtaDraQxQStn6YQCVV0UOIyCaP4,667
|
701
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=PPtsCAloE4RBUuQTCjl79zVJGYJ_kWdNzm39LGTEHFA,2430
|
700
702
|
cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
|
701
703
|
cognite_toolkit/demo/_base.py,sha256=63nWYI_MHU5EuPwEX_inEAQxxiD5P6k8IAmlgl4CxpE,8082
|
702
|
-
cognite_toolkit-0.5.
|
703
|
-
cognite_toolkit-0.5.
|
704
|
-
cognite_toolkit-0.5.
|
705
|
-
cognite_toolkit-0.5.
|
706
|
-
cognite_toolkit-0.5.
|
704
|
+
cognite_toolkit-0.5.62.dist-info/METADATA,sha256=fcozRCkXl52ZawHzq8cg2TzsyZllmyoAuH7eA3u5tNM,4410
|
705
|
+
cognite_toolkit-0.5.62.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
706
|
+
cognite_toolkit-0.5.62.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
|
707
|
+
cognite_toolkit-0.5.62.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
|
708
|
+
cognite_toolkit-0.5.62.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|