cognite-toolkit 0.7.2__py3-none-any.whl → 0.7.4__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/_cdf_tk/apps/_dev_app.py +67 -1
- cognite_toolkit/_cdf_tk/commands/__init__.py +2 -0
- cognite_toolkit/_cdf_tk/commands/resources.py +179 -0
- cognite_toolkit/_cdf_tk/cruds/_base_cruds.py +1 -0
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +3 -0
- cognite_toolkit/_cdf_tk/feature_flags.py +4 -0
- cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +12 -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/_resources/cdf.toml +1 -1
- cognite_toolkit/_version.py +1 -1
- {cognite_toolkit-0.7.2.dist-info → cognite_toolkit-0.7.4.dist-info}/METADATA +1 -1
- {cognite_toolkit-0.7.2.dist-info → cognite_toolkit-0.7.4.dist-info}/RECORD +16 -15
- {cognite_toolkit-0.7.2.dist-info → cognite_toolkit-0.7.4.dist-info}/WHEEL +0 -0
- {cognite_toolkit-0.7.2.dist-info → cognite_toolkit-0.7.4.dist-info}/entry_points.txt +0 -0
- {cognite_toolkit-0.7.2.dist-info → cognite_toolkit-0.7.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
from
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from typing import Annotated, Any
|
|
2
3
|
|
|
3
4
|
import typer
|
|
4
5
|
from rich import print
|
|
5
6
|
|
|
7
|
+
from cognite_toolkit._cdf_tk.cdf_toml import CDFToml
|
|
8
|
+
from cognite_toolkit._cdf_tk.commands import ResourcesCommand
|
|
9
|
+
from cognite_toolkit._cdf_tk.feature_flags import FeatureFlag, Flags
|
|
10
|
+
|
|
6
11
|
from ._run import RunApp
|
|
7
12
|
|
|
13
|
+
CDF_TOML = CDFToml.load(Path.cwd())
|
|
14
|
+
|
|
8
15
|
|
|
9
16
|
class DevApp(typer.Typer):
|
|
10
17
|
def __init__(self, *args: Any, **kwargs: Any) -> None:
|
|
11
18
|
super().__init__(*args, **kwargs)
|
|
12
19
|
self.callback(invoke_without_command=True)(self.main)
|
|
13
20
|
self.add_typer(RunApp(*args, **kwargs), name="run")
|
|
21
|
+
if FeatureFlag.is_enabled(Flags.CREATE):
|
|
22
|
+
self.command("create")(self.create)
|
|
14
23
|
|
|
15
24
|
@staticmethod
|
|
16
25
|
def main(ctx: typer.Context) -> None:
|
|
@@ -18,3 +27,60 @@ class DevApp(typer.Typer):
|
|
|
18
27
|
if ctx.invoked_subcommand is None:
|
|
19
28
|
print("Use [bold yellow]cdf dev --help[/] for more information.")
|
|
20
29
|
return None
|
|
30
|
+
|
|
31
|
+
def create(
|
|
32
|
+
self,
|
|
33
|
+
kind: Annotated[
|
|
34
|
+
list[str] | None,
|
|
35
|
+
typer.Argument(
|
|
36
|
+
help="The kind of resource to create. eg. container, space, view, datamodel, etc.",
|
|
37
|
+
callback=lambda ctx, param, value: [
|
|
38
|
+
s.strip() for item in value or [] for s in item.split(",") if s.strip()
|
|
39
|
+
],
|
|
40
|
+
),
|
|
41
|
+
] = None,
|
|
42
|
+
module: Annotated[
|
|
43
|
+
str | None,
|
|
44
|
+
typer.Option(
|
|
45
|
+
"--module",
|
|
46
|
+
"-m",
|
|
47
|
+
help="Name of an existing module or a new module to create the resource in.",
|
|
48
|
+
),
|
|
49
|
+
] = None,
|
|
50
|
+
prefix: Annotated[
|
|
51
|
+
str | None,
|
|
52
|
+
typer.Option(
|
|
53
|
+
"--prefix",
|
|
54
|
+
"-p",
|
|
55
|
+
help="The prefix of the resource file to create without suffixes and extensions. "
|
|
56
|
+
"eg. --prefix=my_space. If not provided, a default prefix like 'my_<kind>' will be used.",
|
|
57
|
+
),
|
|
58
|
+
] = None,
|
|
59
|
+
verbose: Annotated[
|
|
60
|
+
bool,
|
|
61
|
+
typer.Option(
|
|
62
|
+
"--verbose",
|
|
63
|
+
"-v",
|
|
64
|
+
help="Turn on to get more verbose output when running the command",
|
|
65
|
+
),
|
|
66
|
+
] = False,
|
|
67
|
+
organization_dir: Annotated[
|
|
68
|
+
Path,
|
|
69
|
+
typer.Option(
|
|
70
|
+
"--organization-dir",
|
|
71
|
+
"-o",
|
|
72
|
+
help="Path to the organization directory",
|
|
73
|
+
),
|
|
74
|
+
] = CDF_TOML.cdf.default_organization_dir,
|
|
75
|
+
) -> None:
|
|
76
|
+
"""create resource YAMLs."""
|
|
77
|
+
cmd = ResourcesCommand()
|
|
78
|
+
cmd.run(
|
|
79
|
+
lambda: cmd.create(
|
|
80
|
+
organization_dir=organization_dir,
|
|
81
|
+
module_name=module,
|
|
82
|
+
kind=kind,
|
|
83
|
+
prefix=prefix,
|
|
84
|
+
verbose=verbose,
|
|
85
|
+
)
|
|
86
|
+
)
|
|
@@ -17,6 +17,7 @@ from .init import InitCommand
|
|
|
17
17
|
from .modules import ModulesCommand
|
|
18
18
|
from .pull import PullCommand
|
|
19
19
|
from .repo import RepoCommand
|
|
20
|
+
from .resources import ResourcesCommand
|
|
20
21
|
from .run import RunFunctionCommand, RunTransformationCommand, RunWorkflowCommand
|
|
21
22
|
|
|
22
23
|
__all__ = [
|
|
@@ -39,6 +40,7 @@ __all__ = [
|
|
|
39
40
|
"PullCommand",
|
|
40
41
|
"PurgeCommand",
|
|
41
42
|
"RepoCommand",
|
|
43
|
+
"ResourcesCommand",
|
|
42
44
|
"RunFunctionCommand",
|
|
43
45
|
"RunTransformationCommand",
|
|
44
46
|
"RunWorkflowCommand",
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import difflib
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from typing import cast
|
|
4
|
+
|
|
5
|
+
import questionary
|
|
6
|
+
import typer
|
|
7
|
+
from questionary import Choice
|
|
8
|
+
from rich import print
|
|
9
|
+
|
|
10
|
+
from cognite_toolkit._cdf_tk.commands._base import ToolkitCommand
|
|
11
|
+
from cognite_toolkit._cdf_tk.constants import MODULES
|
|
12
|
+
from cognite_toolkit._cdf_tk.cruds import RESOURCE_CRUD_LIST, ResourceCRUD
|
|
13
|
+
from cognite_toolkit._cdf_tk.data_classes import ModuleDirectories
|
|
14
|
+
from cognite_toolkit._cdf_tk.resource_classes import ToolkitResource
|
|
15
|
+
from cognite_toolkit._cdf_tk.utils.collection import humanize_collection
|
|
16
|
+
from cognite_toolkit._cdf_tk.utils.file import yaml_safe_dump
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ResourcesCommand(ToolkitCommand):
|
|
20
|
+
def __init__(self, print_warning: bool = True, skip_tracking: bool = False, silent: bool = False) -> None:
|
|
21
|
+
super().__init__(print_warning, skip_tracking, silent)
|
|
22
|
+
|
|
23
|
+
def _get_or_prompt_module_path(self, module: str | None, organization_dir: Path, verbose: bool) -> Path:
|
|
24
|
+
"""
|
|
25
|
+
Check if the module exists in the organization directory and return the module path.
|
|
26
|
+
If module is not provided, ask the user to select or create a new module.
|
|
27
|
+
"""
|
|
28
|
+
present_modules = ModuleDirectories.load(organization_dir, None)
|
|
29
|
+
|
|
30
|
+
if module:
|
|
31
|
+
for mod in present_modules:
|
|
32
|
+
if mod.name.casefold() == module.casefold():
|
|
33
|
+
return mod.dir
|
|
34
|
+
|
|
35
|
+
if questionary.confirm(f"{module} module not found. Do you want to create a new one?").ask():
|
|
36
|
+
return organization_dir / MODULES / module
|
|
37
|
+
|
|
38
|
+
if verbose:
|
|
39
|
+
print(f"[red]Aborting as {module} module not found...[/red]")
|
|
40
|
+
else:
|
|
41
|
+
print("[red]Aborting...[/red]")
|
|
42
|
+
raise typer.Exit()
|
|
43
|
+
|
|
44
|
+
choices = [Choice(title=mod.name, value=mod.dir) for mod in present_modules]
|
|
45
|
+
choices.append(Choice(title="<Create new module>", value="NEW"))
|
|
46
|
+
|
|
47
|
+
selected = questionary.select("Select a module:", choices=choices).ask()
|
|
48
|
+
|
|
49
|
+
if selected == "NEW":
|
|
50
|
+
new_module_name = questionary.text("Enter name for new module:").ask()
|
|
51
|
+
if not new_module_name:
|
|
52
|
+
print("[red]No module name provided. Aborting...[/red]")
|
|
53
|
+
raise typer.Exit()
|
|
54
|
+
return organization_dir / MODULES / new_module_name
|
|
55
|
+
|
|
56
|
+
if not selected:
|
|
57
|
+
print("[red]No module selected. Aborting...[/red]")
|
|
58
|
+
raise typer.Exit()
|
|
59
|
+
|
|
60
|
+
return cast(Path, selected)
|
|
61
|
+
|
|
62
|
+
def _resolve_kinds(self, kinds: list[str] | None) -> list[type[ResourceCRUD]]:
|
|
63
|
+
"""
|
|
64
|
+
Resolve kinds from list of strings or do an interactive selection.
|
|
65
|
+
"""
|
|
66
|
+
all_cruds = {crud.kind.casefold(): crud for crud in RESOURCE_CRUD_LIST}
|
|
67
|
+
|
|
68
|
+
if not kinds:
|
|
69
|
+
sorted_cruds = sorted(RESOURCE_CRUD_LIST, key=lambda x: x.kind)
|
|
70
|
+
choices = [Choice(title=crud.kind, value=crud) for crud in sorted_cruds]
|
|
71
|
+
|
|
72
|
+
selected = questionary.select("Select resource type:", choices=choices).ask()
|
|
73
|
+
if not selected:
|
|
74
|
+
print("[red]No resource type selected. Aborting...[/red]")
|
|
75
|
+
raise typer.Exit()
|
|
76
|
+
return [selected]
|
|
77
|
+
|
|
78
|
+
resolved_cruds = []
|
|
79
|
+
for kind in kinds:
|
|
80
|
+
kind_lower = kind.casefold()
|
|
81
|
+
if kind_lower in all_cruds:
|
|
82
|
+
resolved_cruds.append(all_cruds[kind_lower])
|
|
83
|
+
else:
|
|
84
|
+
matches = difflib.get_close_matches(kind_lower, all_cruds.keys())
|
|
85
|
+
if matches:
|
|
86
|
+
suggestion = all_cruds[matches[0]].kind
|
|
87
|
+
print(f"[red]Unknown resource type '{kind}'. Did you mean '{suggestion}'?[/red]")
|
|
88
|
+
else:
|
|
89
|
+
print(
|
|
90
|
+
f"[red]Unknown resource type '{kind}'. "
|
|
91
|
+
f"Available types: {humanize_collection(sorted([c.kind for c in RESOURCE_CRUD_LIST]))}[/red]"
|
|
92
|
+
)
|
|
93
|
+
raise typer.Exit()
|
|
94
|
+
|
|
95
|
+
return resolved_cruds
|
|
96
|
+
|
|
97
|
+
def _create_resource_yaml_skeleton(self, yaml_cls: type[ToolkitResource]) -> dict[str, str]:
|
|
98
|
+
"""
|
|
99
|
+
Build YAML skeleton from a Pydantic model class using JSON schema for better type information.
|
|
100
|
+
"""
|
|
101
|
+
yaml_skeleton: dict[str, str] = {}
|
|
102
|
+
for field_name, field in yaml_cls.model_fields.items():
|
|
103
|
+
name = field.alias or field_name
|
|
104
|
+
description = field.description or name
|
|
105
|
+
if field.is_required():
|
|
106
|
+
yaml_skeleton[name] = f"(Required) {description}"
|
|
107
|
+
else:
|
|
108
|
+
yaml_skeleton[name] = description
|
|
109
|
+
|
|
110
|
+
return yaml_skeleton
|
|
111
|
+
|
|
112
|
+
def _get_resource_yaml_content(self, resource_crud: type[ResourceCRUD]) -> str:
|
|
113
|
+
"""
|
|
114
|
+
Creates a new resource in the specified module using the resource_crud.yaml_cls.
|
|
115
|
+
"""
|
|
116
|
+
yaml_header = (
|
|
117
|
+
f"# API docs: {resource_crud.doc_url()}\n"
|
|
118
|
+
f"# YAML reference: https://docs.cognite.com/cdf/deploy/cdf_toolkit/references/resource_library"
|
|
119
|
+
)
|
|
120
|
+
yaml_skeleton = self._create_resource_yaml_skeleton(resource_crud.yaml_cls)
|
|
121
|
+
yaml_contents = yaml_safe_dump(yaml_skeleton)
|
|
122
|
+
return yaml_header + "\n\n" + yaml_contents
|
|
123
|
+
|
|
124
|
+
def _create_resource_yaml_file(
|
|
125
|
+
self,
|
|
126
|
+
resource_crud: type[ResourceCRUD],
|
|
127
|
+
module_path: Path,
|
|
128
|
+
prefix: str | None = None,
|
|
129
|
+
verbose: bool = False,
|
|
130
|
+
) -> None:
|
|
131
|
+
"""
|
|
132
|
+
Creates a new resource YAML file in the specified module using the resource_crud.yaml_cls.
|
|
133
|
+
"""
|
|
134
|
+
resource_dir: Path = module_path / resource_crud.folder_name
|
|
135
|
+
if resource_crud.sub_folder_name:
|
|
136
|
+
resource_dir = resource_dir / resource_crud.sub_folder_name
|
|
137
|
+
|
|
138
|
+
if not resource_dir.exists():
|
|
139
|
+
resource_dir.mkdir(parents=True, exist_ok=True)
|
|
140
|
+
|
|
141
|
+
final_prefix = prefix if prefix is not None else f"my_{resource_crud.kind}"
|
|
142
|
+
file_name = f"{final_prefix}.{resource_crud.kind}.yaml"
|
|
143
|
+
file_path: Path = resource_dir / file_name
|
|
144
|
+
|
|
145
|
+
if file_path.exists() and not questionary.confirm(f"{file_path.name} file already exists. Overwrite?").ask():
|
|
146
|
+
print("[red]Skipping...[/red]")
|
|
147
|
+
return
|
|
148
|
+
|
|
149
|
+
yaml_content = self._get_resource_yaml_content(resource_crud)
|
|
150
|
+
file_path.write_text(yaml_content)
|
|
151
|
+
if verbose:
|
|
152
|
+
print(
|
|
153
|
+
f"[green]{resource_crud.kind} Resource YAML file created successfully at {file_path.as_posix()}[/green]"
|
|
154
|
+
)
|
|
155
|
+
else:
|
|
156
|
+
print(f"[green]Created {file_path.as_posix()}[/green]")
|
|
157
|
+
|
|
158
|
+
def create(
|
|
159
|
+
self,
|
|
160
|
+
organization_dir: Path,
|
|
161
|
+
module_name: str | None = None,
|
|
162
|
+
kind: list[str] | None = None,
|
|
163
|
+
prefix: str | None = None,
|
|
164
|
+
verbose: bool = False,
|
|
165
|
+
) -> None:
|
|
166
|
+
"""
|
|
167
|
+
create resource YAMLs.
|
|
168
|
+
|
|
169
|
+
Args:
|
|
170
|
+
organization_dir: The directory of the organization.
|
|
171
|
+
module_name: The name of the module.
|
|
172
|
+
kind: The kind(s) of resource to create.
|
|
173
|
+
prefix: The prefix for the resource file.
|
|
174
|
+
verbose: Whether to print verbose output.
|
|
175
|
+
"""
|
|
176
|
+
module_path = self._get_or_prompt_module_path(module_name, organization_dir, verbose)
|
|
177
|
+
resource_cruds = self._resolve_kinds(kind)
|
|
178
|
+
for crud in resource_cruds:
|
|
179
|
+
self._create_resource_yaml_file(crud, module_path, prefix, verbose)
|
|
@@ -54,6 +54,7 @@ class Loader(ABC):
|
|
|
54
54
|
exclude_filetypes: frozenset[str] = frozenset()
|
|
55
55
|
_doc_base_url: str = "https://api-docs.cognite.com/20230101/tag/"
|
|
56
56
|
_doc_url: str = ""
|
|
57
|
+
sub_folder_name: str | None = None
|
|
57
58
|
|
|
58
59
|
def __init__(self, client: ToolkitClient, build_dir: Path | None, console: Console | None = None) -> None:
|
|
59
60
|
self.client = client
|
|
@@ -262,6 +262,7 @@ class ContainerCRUD(ResourceContainerCRUD[ContainerId, ContainerApply, Container
|
|
|
262
262
|
dependencies = frozenset({SpaceCRUD})
|
|
263
263
|
yaml_cls = ContainerYAML
|
|
264
264
|
_doc_url = "Containers/operation/ApplyContainers"
|
|
265
|
+
sub_folder_name = "containers"
|
|
265
266
|
|
|
266
267
|
def __init__(
|
|
267
268
|
self,
|
|
@@ -526,6 +527,7 @@ class ViewCRUD(ResourceCRUD[ViewId, ViewApply, View, ViewApplyList, ViewList]):
|
|
|
526
527
|
dependencies = frozenset({SpaceCRUD, ContainerCRUD})
|
|
527
528
|
yaml_cls = ViewYAML
|
|
528
529
|
_doc_url = "Views/operation/ApplyViews"
|
|
530
|
+
sub_folder_name = "views"
|
|
529
531
|
|
|
530
532
|
def __init__(
|
|
531
533
|
self,
|
|
@@ -1001,6 +1003,7 @@ class NodeCRUD(ResourceContainerCRUD[NodeId, NodeApply, Node, NodeApplyList, Nod
|
|
|
1001
1003
|
yaml_cls = NodeYAML
|
|
1002
1004
|
dependencies = frozenset({SpaceCRUD, ViewCRUD, ContainerCRUD})
|
|
1003
1005
|
_doc_url = "Instances/operation/applyNodeAndEdges"
|
|
1006
|
+
sub_folder_name = "nodes"
|
|
1004
1007
|
|
|
1005
1008
|
def __init__(
|
|
1006
1009
|
self,
|
|
@@ -49,6 +49,10 @@ class Flags(Enum):
|
|
|
49
49
|
visible=False,
|
|
50
50
|
description="Enables features planned for Cognite Toolkit version 0.8.0",
|
|
51
51
|
)
|
|
52
|
+
CREATE = FlagMetadata(
|
|
53
|
+
visible=True,
|
|
54
|
+
description="Enables the support for the resources create command under dev plugin",
|
|
55
|
+
)
|
|
52
56
|
|
|
53
57
|
def is_enabled(self) -> bool:
|
|
54
58
|
return FeatureFlag.is_enabled(self)
|
|
@@ -510,6 +510,18 @@ class LegacyGenericsAcl(Capability):
|
|
|
510
510
|
scope: AllScope
|
|
511
511
|
|
|
512
512
|
|
|
513
|
+
class StreamsAcl(Capability):
|
|
514
|
+
_capability_name = "streamsAcl"
|
|
515
|
+
actions: list[Literal["READ", "CREATE", "DELETE"]]
|
|
516
|
+
scope: AllScope
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
class StreamRecordsAcl(Capability):
|
|
520
|
+
_capability_name = "streamRecordsAcl"
|
|
521
|
+
actions: list[Literal["READ", "WRITE"]]
|
|
522
|
+
scope: AllScope | SpaceIDScope
|
|
523
|
+
|
|
524
|
+
|
|
513
525
|
_CAPABILITY_CLASS_BY_NAME: MappingProxyType[str, type[Capability]] = MappingProxyType(
|
|
514
526
|
{c._capability_name: c for c in Capability.__subclasses__()}
|
|
515
527
|
)
|
cognite_toolkit/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.7.
|
|
1
|
+
__version__ = "0.7.4"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cognite_toolkit
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4
|
|
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=PzDig6dgbDX5VL88AeijQuTeYb2SS_yvenw9gr4fnxY,5794
|
|
3
|
-
cognite_toolkit/_version.py,sha256=
|
|
3
|
+
cognite_toolkit/_version.py,sha256=A6fZ_oURo3l_Fa_K29LgV21A4Onqu3NquwGYzL05E1Y,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
6
|
cognite_toolkit/_cdf_tk/constants.py,sha256=TplKm2J9pGRHq7nAnLI0caTMHetS04OIz3hfq-jvGzo,7236
|
|
7
7
|
cognite_toolkit/_cdf_tk/exceptions.py,sha256=xG0jMwi5A20nvPvyo6sCyz_cyKycynPyIzpYiGR4gcU,6064
|
|
8
|
-
cognite_toolkit/_cdf_tk/feature_flags.py,sha256=
|
|
8
|
+
cognite_toolkit/_cdf_tk/feature_flags.py,sha256=h9Vhw-u1OQIjckAe0Ec2qug3Z-FRn_aJGglWu2u2BEc,1906
|
|
9
9
|
cognite_toolkit/_cdf_tk/hints.py,sha256=UI1ymi2T5wCcYOpEbKbVaDnlyFReFy8TDtMVt-5E1h8,6493
|
|
10
10
|
cognite_toolkit/_cdf_tk/plugins.py,sha256=0V14rceAWLZQF8iWdyL5QmK7xB796YaDEtb9RIj5AOc,836
|
|
11
11
|
cognite_toolkit/_cdf_tk/protocols.py,sha256=Lc8XnBfmDZN6dwmSopmK7cFE9a9jZ2zdUryEeCXn27I,3052
|
|
@@ -15,7 +15,7 @@ cognite_toolkit/_cdf_tk/apps/__init__.py,sha256=KKmhbpvPKTwqQS2g_XqAC2yvtPsvdl8w
|
|
|
15
15
|
cognite_toolkit/_cdf_tk/apps/_auth_app.py,sha256=ER7uYb3ViwsHMXiQEZpyhwU6TIjKaB9aEy32VI4MPpg,3397
|
|
16
16
|
cognite_toolkit/_cdf_tk/apps/_core_app.py,sha256=YK0MOK7Tv3cDSe5_6o9GtM5n_6sE7I0Wm-Se4eJnyNM,13744
|
|
17
17
|
cognite_toolkit/_cdf_tk/apps/_data_app.py,sha256=LeplXlxXtyIymRPgbatQrRFodU4VZBFxI0bqDutLSbg,806
|
|
18
|
-
cognite_toolkit/_cdf_tk/apps/_dev_app.py,sha256=
|
|
18
|
+
cognite_toolkit/_cdf_tk/apps/_dev_app.py,sha256=FaY67PFdKwdiMKgJbTcjHT1X2Xfbog2PKL6T-kcawyc,2818
|
|
19
19
|
cognite_toolkit/_cdf_tk/apps/_download_app.py,sha256=g-VA51KI91wziVuO3w305rmr33xIb0ghYTtW06LhNz8,31994
|
|
20
20
|
cognite_toolkit/_cdf_tk/apps/_dump_app.py,sha256=EPq6fWSaScj9ncKfRY253rRJ37er47PIM60IFgkQK_k,37127
|
|
21
21
|
cognite_toolkit/_cdf_tk/apps/_landing_app.py,sha256=YR9z83OY7PhhgBVC5gmRLgo9iTXoGoZfRhOU3gd_r2o,888
|
|
@@ -100,7 +100,7 @@ cognite_toolkit/_cdf_tk/client/data_classes/streams.py,sha256=DHSDrBax81fUzneIik
|
|
|
100
100
|
cognite_toolkit/_cdf_tk/client/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
101
|
cognite_toolkit/_cdf_tk/client/utils/_concurrency.py,sha256=3GtQbKDaosyKHEt-KzxKK9Yie4TvZPdoou2vUk6dUa8,2298
|
|
102
102
|
cognite_toolkit/_cdf_tk/client/utils/_http_client.py,sha256=oXNKrIaizG4WiSAhL_kSCHAuL4aaaEhCU4pOJGxh6Xs,483
|
|
103
|
-
cognite_toolkit/_cdf_tk/commands/__init__.py,sha256=
|
|
103
|
+
cognite_toolkit/_cdf_tk/commands/__init__.py,sha256=xLaEOLVZ93MVkWzbTGwYhe-negSdBjnPnCBp0jil2d8,1420
|
|
104
104
|
cognite_toolkit/_cdf_tk/commands/_base.py,sha256=1gl8Y-yqfedRMfdbwM3iPTIUIZriX1UvC1deLsJSJwM,2667
|
|
105
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
|
|
@@ -122,6 +122,7 @@ cognite_toolkit/_cdf_tk/commands/init.py,sha256=pcxFhZheXm3FPU1pkeh10M0WXPg7EcLF
|
|
|
122
122
|
cognite_toolkit/_cdf_tk/commands/modules.py,sha256=91Fov16fEIVk-3ZmBd3MlibbbzRuYLjUY9CUnudV4w0,40976
|
|
123
123
|
cognite_toolkit/_cdf_tk/commands/pull.py,sha256=ktPXHW3f0HpmqCxeMhH8Ac52dAuQqAum3VBmLWJwQSM,39246
|
|
124
124
|
cognite_toolkit/_cdf_tk/commands/repo.py,sha256=MNy8MWphTklIZHvQOROCweq8_SYxGv6BaqnLpkFFnuk,3845
|
|
125
|
+
cognite_toolkit/_cdf_tk/commands/resources.py,sha256=NeHVA1b1TMsP-2wgd5u1vif_N6nln7ePxZ0BXypwt-k,7377
|
|
125
126
|
cognite_toolkit/_cdf_tk/commands/run.py,sha256=JyX9jLEQej9eRrHVCCNlw4GuF80qETSol3-T5CCofgw,37331
|
|
126
127
|
cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py,sha256=i5ldcTah59K0E4fH5gHTV0GRvtDCEvVses9WQzn9Lno,226
|
|
127
128
|
cognite_toolkit/_cdf_tk/commands/_migrate/canvas.py,sha256=R-z0yfOFcJZj-zRLhN-7z_-SLxqzSmONMgrbzNF9dGs,8843
|
|
@@ -137,7 +138,7 @@ cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py,sha256=wrdBH5P6NgiZQSY
|
|
|
137
138
|
cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py,sha256=RfqaNoso5CyBwc-p6ckwcYqBfZXKhdJgdGIyd0TATaI,2635
|
|
138
139
|
cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py,sha256=N1H_-rBpPUD6pbrlcofn1uEK1bA694EUXEe1zIXeqyo,2489
|
|
139
140
|
cognite_toolkit/_cdf_tk/cruds/__init__.py,sha256=Qxb_Vjv6maJePvO7hunUAtUqXIXW3vi1-hLoWQVs__4,6551
|
|
140
|
-
cognite_toolkit/_cdf_tk/cruds/_base_cruds.py,sha256=
|
|
141
|
+
cognite_toolkit/_cdf_tk/cruds/_base_cruds.py,sha256=DmdgY5rSKDZuuFvoBEE7FG0X-7fY5qWwjskzFqwA6qg,19371
|
|
141
142
|
cognite_toolkit/_cdf_tk/cruds/_data_cruds.py,sha256=PacTXdXaw0sf38tM6_DgNXVYdZXf_J90ZUeLk5v2VRg,9071
|
|
142
143
|
cognite_toolkit/_cdf_tk/cruds/_worker.py,sha256=XdLm6DMFln9DqDgEbeqzepw9WRSXx7WdChbDtmOc89Q,9358
|
|
143
144
|
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py,sha256=gSbQHXTgbkguEc2kFckgt13JVO5GXol_JXT2LW4T5o0,2879
|
|
@@ -146,7 +147,7 @@ cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py,sha256=iGG2_btpEqip3o6OKpc
|
|
|
146
147
|
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py,sha256=7RdiWvh6MLI1lLmt3gcqDQj61xbwREhsvoyjFuJn2F0,26402
|
|
147
148
|
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py,sha256=KrL7bj8q5q18mGB2V-NDkW5U5nfseZOyorXiUbp2uLw,6100
|
|
148
149
|
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_organization.py,sha256=iXn9iAtwA8mhH-7j9GF-MlLomTcaw3GhEbFY28Wx0iA,9927
|
|
149
|
-
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py,sha256=
|
|
150
|
+
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py,sha256=46bhUnD7162SsVTZkAlnIBs3D7_GU1p-eK9R7Z7Y9cc,65932
|
|
150
151
|
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py,sha256=zv36HPO9goRmU3NM_i1wOvWQEdsgpQTI4bcAl-eis1g,18232
|
|
151
152
|
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py,sha256=SnQMbxiZ3SSYkTLXQ_vIu2HVf_WyD1jplNRJuoeOUfA,16723
|
|
152
153
|
cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py,sha256=F3n2FOWAPder4z3OTYs81VB-6C6r3oUzJsHvigdhaD0,15500
|
|
@@ -187,7 +188,7 @@ cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py,sha256=oNkpPCQF3CyV9zcD6
|
|
|
187
188
|
cognite_toolkit/_cdf_tk/resource_classes/asset.py,sha256=bFneWvGrEO0QsCJfSjfVDnJtIp9YCYIU7LYESldUSMs,1179
|
|
188
189
|
cognite_toolkit/_cdf_tk/resource_classes/authentication.py,sha256=RTLjFXWhpg2tLoJ-xTUH0kPMapuCacrgc-RXHVPJ0QQ,630
|
|
189
190
|
cognite_toolkit/_cdf_tk/resource_classes/base.py,sha256=nbAWSBkV-GL0co5UNMXvYMIw_-qhJ8uoXy9wz6KmI-w,723
|
|
190
|
-
cognite_toolkit/_cdf_tk/resource_classes/capabilities.py,sha256=
|
|
191
|
+
cognite_toolkit/_cdf_tk/resource_classes/capabilities.py,sha256=6rmMl_TluRbbSlAmwnI8beqpWHmC7M1nSwWaW2TnT_M,14718
|
|
191
192
|
cognite_toolkit/_cdf_tk/resource_classes/cognitefile.py,sha256=nsLBw6CxwrmfxliO0vsGSc4vfaDONPsNHPFT6ckvudk,2800
|
|
192
193
|
cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py,sha256=grjzoW8AwujPJV70QyKBmhJ0m99kED9KMttoongnpL4,11428
|
|
193
194
|
cognite_toolkit/_cdf_tk/resource_classes/containers.py,sha256=cWLB6CTvBkdwrMg4bw1S72s7IZo7O_pYNNTTUwNqXpY,3701
|
|
@@ -300,13 +301,13 @@ cognite_toolkit/_repo_files/.gitignore,sha256=ip9kf9tcC5OguF4YF4JFEApnKYw0nG0vPi
|
|
|
300
301
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md,sha256=OLA0D7yCX2tACpzvkA0IfkgQ4_swSd-OlJ1tYcTBpsA,240
|
|
301
302
|
cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml,sha256=brULcs8joAeBC_w_aoWjDDUHs3JheLMIR9ajPUK96nc,693
|
|
302
303
|
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=
|
|
304
|
-
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=
|
|
305
|
-
cognite_toolkit/_resources/cdf.toml,sha256=
|
|
304
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml,sha256=jYDlQJoM8XzHBaEar05qLk96A_4wnBw9Dp_rwRhO6mk,666
|
|
305
|
+
cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml,sha256=P_ISzUrieFahzfG0kljSevm4IueAcWPQ4briyqYiru8,2429
|
|
306
|
+
cognite_toolkit/_resources/cdf.toml,sha256=eBlSPlMsWct6ucQ8sKdwLJKfVHjae9tzc6I9F8eX1eo,474
|
|
306
307
|
cognite_toolkit/demo/__init__.py,sha256=-m1JoUiwRhNCL18eJ6t7fZOL7RPfowhCuqhYFtLgrss,72
|
|
307
308
|
cognite_toolkit/demo/_base.py,sha256=6xKBUQpXZXGQ3fJ5f7nj7oT0s2n7OTAGIa17ZlKHZ5U,8052
|
|
308
|
-
cognite_toolkit-0.7.
|
|
309
|
-
cognite_toolkit-0.7.
|
|
310
|
-
cognite_toolkit-0.7.
|
|
311
|
-
cognite_toolkit-0.7.
|
|
312
|
-
cognite_toolkit-0.7.
|
|
309
|
+
cognite_toolkit-0.7.4.dist-info/METADATA,sha256=o1qMJEErj3mgtsZeA8V8epG1pbKurc2gtwpYVXxUZkk,4500
|
|
310
|
+
cognite_toolkit-0.7.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
311
|
+
cognite_toolkit-0.7.4.dist-info/entry_points.txt,sha256=JlR7MH1_UMogC3QOyN4-1l36VbrCX9xUdQoHGkuJ6-4,83
|
|
312
|
+
cognite_toolkit-0.7.4.dist-info/licenses/LICENSE,sha256=CW0DRcx5tL-pCxLEN7ts2S9g2sLRAsWgHVEX4SN9_Mc,752
|
|
313
|
+
cognite_toolkit-0.7.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|