cognite-toolkit 0.7.44__py3-none-any.whl → 0.7.46__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/_download_app.py +1 -1
- cognite_toolkit/_cdf_tk/apps/_dump_app.py +1 -1
- cognite_toolkit/_cdf_tk/builders/_raw.py +1 -1
- cognite_toolkit/_cdf_tk/client/_toolkit_client.py +19 -3
- cognite_toolkit/_cdf_tk/client/api/assets.py +31 -19
- cognite_toolkit/_cdf_tk/client/api/datasets.py +141 -0
- cognite_toolkit/_cdf_tk/client/api/events.py +32 -18
- cognite_toolkit/_cdf_tk/client/api/extraction_pipelines.py +148 -0
- cognite_toolkit/_cdf_tk/client/api/filemetadata.py +48 -17
- cognite_toolkit/_cdf_tk/client/api/hosted_extractor_destinations.py +131 -0
- cognite_toolkit/_cdf_tk/client/api/hosted_extractor_jobs.py +122 -0
- cognite_toolkit/_cdf_tk/client/api/hosted_extractor_mappings.py +129 -0
- cognite_toolkit/_cdf_tk/client/api/hosted_extractor_sources.py +136 -0
- cognite_toolkit/_cdf_tk/client/api/hosted_extractors.py +23 -0
- cognite_toolkit/_cdf_tk/client/api/infield.py +7 -7
- cognite_toolkit/_cdf_tk/client/api/labels.py +125 -0
- cognite_toolkit/_cdf_tk/client/api/legacy/canvas.py +2 -2
- cognite_toolkit/_cdf_tk/client/api/legacy/charts.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/extended_data_modeling.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/extended_files.py +2 -2
- cognite_toolkit/_cdf_tk/client/api/legacy/extended_raw.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/extended_timeseries.py +2 -2
- cognite_toolkit/_cdf_tk/client/api/legacy/location_filters.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/capabilities.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/data_postprocessing.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/frames.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/locations.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/maps.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/robots.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/legacy/search_config.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/migration.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/project.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/raw.py +39 -9
- cognite_toolkit/_cdf_tk/client/api/security_categories.py +94 -0
- cognite_toolkit/_cdf_tk/client/api/sequences.py +133 -0
- cognite_toolkit/_cdf_tk/client/api/simulator_models.py +45 -9
- cognite_toolkit/_cdf_tk/client/api/streams.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/three_d.py +11 -11
- cognite_toolkit/_cdf_tk/client/api/timeseries.py +32 -18
- cognite_toolkit/_cdf_tk/client/api/token.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/transformations.py +146 -0
- cognite_toolkit/_cdf_tk/client/api/workflow_triggers.py +128 -0
- cognite_toolkit/_cdf_tk/client/api/workflow_versions.py +138 -0
- cognite_toolkit/_cdf_tk/client/api/workflows.py +119 -0
- cognite_toolkit/_cdf_tk/client/cdf_client/api.py +105 -35
- cognite_toolkit/_cdf_tk/client/http_client/_data_classes2.py +5 -7
- cognite_toolkit/_cdf_tk/client/http_client/_exception.py +10 -1
- cognite_toolkit/_cdf_tk/client/request_classes/base.py +19 -0
- cognite_toolkit/_cdf_tk/client/request_classes/filters.py +38 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/agent.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/annotation.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/asset.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_constraints.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_container.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_data_model.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_data_types.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_indexes.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_instance.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_references.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_space.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_view.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/_view_property.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/dataset.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/event.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/extraction_pipeline.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/filemetadata.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/function.py +53 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/function_schedule.py +61 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/graphql_data_model.py +40 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/group/__init__.py +187 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/group/_constants.py +2 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/group/acls.py +653 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/group/capability.py +56 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/group/group.py +59 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/group/scopes.py +166 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_destination.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_job.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_mapping.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/_auth.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/_base.py +2 -2
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/_certificate.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/_eventhub.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/_kafka.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/_mqtt.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/_rest.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/identifiers.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/label.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/legacy/__init__.py +0 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/canvas.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/charts.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/location_filter.py +77 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/raw.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/relationship.py +43 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/__init__.py +37 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_capability.py +53 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_common.py +34 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_data_post_processing.py +49 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_frame.py +46 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_location.py +36 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_map.py +60 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_robot.py +53 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/search_config_resource.py +54 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/securitycategory.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/sequence.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/sequence_rows.py +56 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/simulator_model.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/streamlit_.py +71 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/streams.py +6 -5
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/timeseries.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/transformation.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/workflow.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/workflow_trigger.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/workflow_version.py +1 -1
- cognite_toolkit/_cdf_tk/client/testing.py +20 -2
- cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +5 -5
- cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +6 -6
- cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +6 -6
- cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +8 -8
- cognite_toolkit/_cdf_tk/commands/_profile.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_purge.py +1 -1
- cognite_toolkit/_cdf_tk/commands/build_cmd.py +1 -1
- cognite_toolkit/_cdf_tk/commands/dump_resource.py +4 -4
- cognite_toolkit/_cdf_tk/commands/run.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/__init__.py +5 -1
- cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +3 -3
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +2 -0
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +2 -2
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +11 -27
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +4 -4
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +7 -14
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +2 -2
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +6 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/relationship.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/simulators.py +122 -0
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +2 -2
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +6 -13
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +1 -1
- cognite_toolkit/_cdf_tk/feature_flags.py +4 -0
- cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +6 -0
- cognite_toolkit/_cdf_tk/resource_classes/search_config.py +1 -1
- cognite_toolkit/_cdf_tk/storageio/_applications.py +3 -3
- cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +21 -27
- cognite_toolkit/_cdf_tk/storageio/_file_content.py +2 -2
- cognite_toolkit/_cdf_tk/storageio/_instances.py +1 -1
- cognite_toolkit/_cdf_tk/utils/cdf.py +1 -1
- cognite_toolkit/_cdf_tk/utils/interactive_select.py +5 -5
- cognite_toolkit/_cdf_tk/utils/useful_types2.py +3 -3
- 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.44.dist-info → cognite_toolkit-0.7.46.dist-info}/METADATA +3 -3
- {cognite_toolkit-0.7.44.dist-info → cognite_toolkit-0.7.46.dist-info}/RECORD +192 -152
- {cognite_toolkit-0.7.44.dist-info → cognite_toolkit-0.7.46.dist-info}/WHEEL +2 -2
- /cognite_toolkit/_cdf_tk/client/{data_classes → request_classes}/__init__.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes/legacy → resource_classes}/__init__.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/base.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/capabilities.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/charts_data.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/data_modeling/__init__.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/hosted_extractor_source/__init__.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/infield.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/instance_api.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/apm_config_v1.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extendable_cognite_file.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extended_filemetadata.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extended_filemetdata.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/extended_timeseries.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/functions.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/graphql_data_models.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/instances.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/location_filters.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/migration.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/pending_instances_ids.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/project.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/raw.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/robotics.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/search_config.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/sequences.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/legacy/streamlit_.py +0 -0
- /cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/three_d.py +0 -0
- {cognite_toolkit-0.7.44.dist-info → cognite_toolkit-0.7.46.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
|
|
6
|
+
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
|
|
7
|
+
from cognite_toolkit._cdf_tk.client.request_classes.filters import ClassicFilter
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import ExternalId
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.label import LabelRequest, LabelResponse
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LabelsAPI(CDFResourceAPI[ExternalId, LabelRequest, LabelResponse]):
|
|
13
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
14
|
+
super().__init__(
|
|
15
|
+
http_client=http_client,
|
|
16
|
+
method_endpoint_map={
|
|
17
|
+
"create": Endpoint(method="POST", path="/labels", item_limit=1000),
|
|
18
|
+
"retrieve": Endpoint(method="POST", path="/labels/byids", item_limit=1000),
|
|
19
|
+
"delete": Endpoint(method="POST", path="/labels/delete", item_limit=1000),
|
|
20
|
+
"list": Endpoint(method="POST", path="/labels/list", item_limit=1000),
|
|
21
|
+
},
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
def _validate_page_response(
|
|
25
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
26
|
+
) -> PagedResponse[LabelResponse]:
|
|
27
|
+
return PagedResponse[LabelResponse].model_validate_json(response.body)
|
|
28
|
+
|
|
29
|
+
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[ExternalId]:
|
|
30
|
+
return ResponseItems[ExternalId].model_validate_json(response.body)
|
|
31
|
+
|
|
32
|
+
def create(self, items: Sequence[LabelRequest]) -> list[LabelResponse]:
|
|
33
|
+
"""Create labels in CDF.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
items: List of LabelRequest objects to create.
|
|
37
|
+
Returns:
|
|
38
|
+
List of created LabelResponse objects.
|
|
39
|
+
"""
|
|
40
|
+
return self._request_item_response(items, "create")
|
|
41
|
+
|
|
42
|
+
def retrieve(self, items: Sequence[ExternalId], ignore_unknown_ids: bool = False) -> list[LabelResponse]:
|
|
43
|
+
"""Retrieve labels from CDF.
|
|
44
|
+
|
|
45
|
+
Args:
|
|
46
|
+
items: List of ExternalId objects to retrieve.
|
|
47
|
+
ignore_unknown_ids: Whether to ignore unknown IDs.
|
|
48
|
+
Returns:
|
|
49
|
+
List of retrieved LabelResponse objects.
|
|
50
|
+
"""
|
|
51
|
+
return self._request_item_response(
|
|
52
|
+
items, method="retrieve", extra_body={"ignoreUnknownIds": ignore_unknown_ids}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
def delete(self, items: Sequence[ExternalId]) -> None:
|
|
56
|
+
"""Delete labels from CDF.
|
|
57
|
+
|
|
58
|
+
Args:
|
|
59
|
+
items: List of ExternalId objects to delete.
|
|
60
|
+
"""
|
|
61
|
+
self._request_no_response(items, "delete")
|
|
62
|
+
|
|
63
|
+
def paginate(
|
|
64
|
+
self,
|
|
65
|
+
filter: ClassicFilter | None = None,
|
|
66
|
+
name: str | None = None,
|
|
67
|
+
limit: int = 100,
|
|
68
|
+
cursor: str | None = None,
|
|
69
|
+
) -> PagedResponse[LabelResponse]:
|
|
70
|
+
"""Iterate over all labels in CDF.
|
|
71
|
+
|
|
72
|
+
Args:
|
|
73
|
+
filter: Filter by data set IDs.
|
|
74
|
+
name: Filter by label name (prefix match).
|
|
75
|
+
limit: Maximum number of items to return.
|
|
76
|
+
cursor: Cursor for pagination.
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
PagedResponse of LabelResponse objects.
|
|
80
|
+
"""
|
|
81
|
+
body: dict[str, Any] = filter.dump() if filter else {}
|
|
82
|
+
if name:
|
|
83
|
+
body["name"] = name
|
|
84
|
+
|
|
85
|
+
return self._paginate(
|
|
86
|
+
cursor=cursor,
|
|
87
|
+
limit=limit,
|
|
88
|
+
body=body,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
def iterate(
|
|
92
|
+
self,
|
|
93
|
+
filter: ClassicFilter | None = None,
|
|
94
|
+
name: str | None = None,
|
|
95
|
+
limit: int = 100,
|
|
96
|
+
) -> Iterable[list[LabelResponse]]:
|
|
97
|
+
"""Iterate over all labels in CDF.
|
|
98
|
+
|
|
99
|
+
Args:
|
|
100
|
+
filter: Filter by data set IDs.
|
|
101
|
+
name: Filter by label name (prefix match).
|
|
102
|
+
limit: Maximum number of items to return per page.
|
|
103
|
+
|
|
104
|
+
Returns:
|
|
105
|
+
Iterable of lists of LabelResponse objects.
|
|
106
|
+
"""
|
|
107
|
+
body: dict[str, Any] = filter.dump() if filter else {}
|
|
108
|
+
if name:
|
|
109
|
+
body["name"] = name
|
|
110
|
+
|
|
111
|
+
return self._iterate(
|
|
112
|
+
limit=limit,
|
|
113
|
+
body=body,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
def list(
|
|
117
|
+
self,
|
|
118
|
+
limit: int | None = 100,
|
|
119
|
+
) -> list[LabelResponse]:
|
|
120
|
+
"""List all labels in CDF.
|
|
121
|
+
|
|
122
|
+
Returns:
|
|
123
|
+
List of LabelResponse objects.
|
|
124
|
+
"""
|
|
125
|
+
return self._list(limit=limit)
|
|
@@ -16,7 +16,7 @@ from cognite.client.exceptions import CogniteDuplicatedError
|
|
|
16
16
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
17
17
|
|
|
18
18
|
from cognite_toolkit._cdf_tk.client.api.legacy.extended_data_modeling import ExtendedInstancesAPI
|
|
19
|
-
from cognite_toolkit._cdf_tk.client.
|
|
19
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.canvas import (
|
|
20
20
|
ANNOTATION_EDGE_TYPE,
|
|
21
21
|
CANVAS_INSTANCE_SPACE,
|
|
22
22
|
CONTAINER_REFERENCE_EDGE_TYPE,
|
|
@@ -30,7 +30,7 @@ from cognite_toolkit._cdf_tk.client.data_classes.legacy.canvas import (
|
|
|
30
30
|
IndustrialCanvas,
|
|
31
31
|
IndustrialCanvasApply,
|
|
32
32
|
)
|
|
33
|
-
from cognite_toolkit._cdf_tk.client.
|
|
33
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.instances import InstancesApplyResultList
|
|
34
34
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitValueError
|
|
35
35
|
|
|
36
36
|
|
|
@@ -6,7 +6,7 @@ from cognite.client._api_client import APIClient
|
|
|
6
6
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
7
7
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
8
8
|
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.charts import (
|
|
10
10
|
Chart,
|
|
11
11
|
ChartList,
|
|
12
12
|
ChartWrite,
|
|
@@ -16,7 +16,7 @@ from cognite.client.utils._concurrency import execute_tasks
|
|
|
16
16
|
from requests import Response
|
|
17
17
|
|
|
18
18
|
from cognite_toolkit._cdf_tk.client._constants import DATA_MODELING_MAX_DELETE_WORKERS, DATA_MODELING_MAX_WRITE_WORKERS
|
|
19
|
-
from cognite_toolkit._cdf_tk.client.
|
|
19
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.instances import InstancesApplyResultList
|
|
20
20
|
from cognite_toolkit._cdf_tk.client.utils._concurrency import ToolkitConcurrencySettings
|
|
21
21
|
from cognite_toolkit._cdf_tk.client.utils._http_client import ToolkitRetryTracker
|
|
22
22
|
|
|
@@ -9,11 +9,11 @@ from cognite.client.utils._concurrency import execute_tasks
|
|
|
9
9
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
10
10
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
11
11
|
|
|
12
|
-
from cognite_toolkit._cdf_tk.client.
|
|
12
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.extended_filemetadata import (
|
|
13
13
|
ExtendedFileMetadata,
|
|
14
14
|
ExtendedFileMetadataList,
|
|
15
15
|
)
|
|
16
|
-
from cognite_toolkit._cdf_tk.client.
|
|
16
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.pending_instances_ids import PendingInstanceId
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class ExtendedFileMetadataAPI(FilesAPI):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from cognite.client._api.raw import RawAPI
|
|
2
2
|
|
|
3
|
-
from cognite_toolkit._cdf_tk.client.
|
|
3
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.raw import RawProfileResults, RawTable
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class ExtendedRawAPI(RawAPI):
|
|
@@ -13,11 +13,11 @@ from cognite.client.utils._identifier import IdentifierSequence
|
|
|
13
13
|
from cognite.client.utils._validation import prepare_filter_sort, process_asset_subtree_ids, process_data_set_ids
|
|
14
14
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
15
15
|
|
|
16
|
-
from cognite_toolkit._cdf_tk.client.
|
|
16
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.extended_timeseries import (
|
|
17
17
|
ExtendedTimeSeries,
|
|
18
18
|
ExtendedTimeSeriesList,
|
|
19
19
|
)
|
|
20
|
-
from cognite_toolkit._cdf_tk.client.
|
|
20
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.pending_instances_ids import PendingInstanceId
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class ExtendedTimeSeriesAPI(TimeSeriesAPI):
|
|
@@ -6,7 +6,7 @@ from cognite.client._api_client import APIClient
|
|
|
6
6
|
from cognite.client.config import ClientConfig
|
|
7
7
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
8
8
|
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.location_filters import (
|
|
10
10
|
LocationFilter,
|
|
11
11
|
LocationFilterList,
|
|
12
12
|
LocationFilterWrite,
|
|
@@ -5,7 +5,7 @@ from cognite.client._api_client import APIClient
|
|
|
5
5
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
6
6
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
7
7
|
|
|
8
|
-
from cognite_toolkit._cdf_tk.client.
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.robotics import (
|
|
9
9
|
RobotCapability,
|
|
10
10
|
RobotCapabilityList,
|
|
11
11
|
RobotCapabilityWrite,
|
|
@@ -5,7 +5,7 @@ from cognite.client._api_client import APIClient
|
|
|
5
5
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
6
6
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
7
7
|
|
|
8
|
-
from cognite_toolkit._cdf_tk.client.
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.robotics import (
|
|
9
9
|
DataPostProcessing,
|
|
10
10
|
DataPostProcessingList,
|
|
11
11
|
DataPostProcessingWrite,
|
|
@@ -5,7 +5,7 @@ from cognite.client._api_client import APIClient
|
|
|
5
5
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
6
6
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
7
7
|
|
|
8
|
-
from cognite_toolkit._cdf_tk.client.
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.robotics import (
|
|
9
9
|
Frame,
|
|
10
10
|
FrameList,
|
|
11
11
|
FrameWrite,
|
|
@@ -5,7 +5,7 @@ from cognite.client._api_client import APIClient
|
|
|
5
5
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
6
6
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
7
7
|
|
|
8
|
-
from cognite_toolkit._cdf_tk.client.
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.robotics import (
|
|
9
9
|
Location,
|
|
10
10
|
LocationList,
|
|
11
11
|
LocationWrite,
|
|
@@ -5,7 +5,7 @@ from cognite.client._api_client import APIClient
|
|
|
5
5
|
from cognite.client.utils._identifier import IdentifierSequence
|
|
6
6
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
7
7
|
|
|
8
|
-
from cognite_toolkit._cdf_tk.client.
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.robotics import (
|
|
9
9
|
Map,
|
|
10
10
|
MapList,
|
|
11
11
|
MapWrite,
|
|
@@ -4,7 +4,7 @@ from typing import overload
|
|
|
4
4
|
from cognite.client._api_client import APIClient
|
|
5
5
|
|
|
6
6
|
from cognite_toolkit._cdf_tk.client.api.legacy.robotics.utlis import tmp_disable_gzip
|
|
7
|
-
from cognite_toolkit._cdf_tk.client.
|
|
7
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.robotics import Robot, RobotList, RobotWrite, _RobotUpdate
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class RobotsAPI(APIClient):
|
|
@@ -4,7 +4,7 @@ from cognite.client import CogniteClient
|
|
|
4
4
|
from cognite.client._api_client import APIClient
|
|
5
5
|
from cognite.client.config import ClientConfig
|
|
6
6
|
|
|
7
|
-
from cognite_toolkit._cdf_tk.client.
|
|
7
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.search_config import (
|
|
8
8
|
SearchConfig,
|
|
9
9
|
SearchConfigList,
|
|
10
10
|
SearchConfigWrite,
|
|
@@ -17,7 +17,7 @@ from cognite.client.data_classes.data_modeling import (
|
|
|
17
17
|
from cognite.client.utils.useful_types import SequenceNotStr
|
|
18
18
|
|
|
19
19
|
from cognite_toolkit._cdf_tk.client.api.legacy.extended_data_modeling import ExtendedInstancesAPI
|
|
20
|
-
from cognite_toolkit._cdf_tk.client.
|
|
20
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.migration import (
|
|
21
21
|
AssetCentricId,
|
|
22
22
|
CreatedSourceSystem,
|
|
23
23
|
InstanceSource,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from cognite.client import CogniteClient
|
|
2
2
|
|
|
3
3
|
from cognite_toolkit._cdf_tk.client.config import ToolkitClientConfig
|
|
4
|
-
from cognite_toolkit._cdf_tk.client.data_classes.legacy.project import ProjectStatusList
|
|
5
4
|
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, RequestMessage2
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.project import ProjectStatusList
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class ProjectAPI:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from collections.abc import Sequence
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
2
|
|
|
3
3
|
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, Endpoint, PagedResponse, ResponseItems
|
|
4
|
-
from cognite_toolkit._cdf_tk.client.
|
|
5
|
-
from cognite_toolkit._cdf_tk.client.
|
|
4
|
+
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.raw import RAWDatabase, RAWTable
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class RawDatabasesAPI(CDFResourceAPI[RAWDatabase, RAWDatabase, RAWDatabase]):
|
|
@@ -21,7 +21,7 @@ class RawDatabasesAPI(CDFResourceAPI[RAWDatabase, RAWDatabase, RAWDatabase]):
|
|
|
21
21
|
},
|
|
22
22
|
)
|
|
23
23
|
|
|
24
|
-
def
|
|
24
|
+
def _validate_page_response(self, response: SuccessResponse2 | ItemsSuccessResponse2) -> PagedResponse[RAWDatabase]:
|
|
25
25
|
return PagedResponse[RAWDatabase].model_validate_json(response.body)
|
|
26
26
|
|
|
27
27
|
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[RAWDatabase]:
|
|
@@ -47,7 +47,7 @@ class RawDatabasesAPI(CDFResourceAPI[RAWDatabase, RAWDatabase, RAWDatabase]):
|
|
|
47
47
|
"""
|
|
48
48
|
self._request_no_response(list(items), "delete", extra_body={"recursive": recursive})
|
|
49
49
|
|
|
50
|
-
def
|
|
50
|
+
def paginate(
|
|
51
51
|
self,
|
|
52
52
|
limit: int = 100,
|
|
53
53
|
cursor: str | None = None,
|
|
@@ -61,7 +61,21 @@ class RawDatabasesAPI(CDFResourceAPI[RAWDatabase, RAWDatabase, RAWDatabase]):
|
|
|
61
61
|
Returns:
|
|
62
62
|
PagedResponse of RAWDatabase objects.
|
|
63
63
|
"""
|
|
64
|
-
return self.
|
|
64
|
+
return self._paginate(limit=limit, cursor=cursor)
|
|
65
|
+
|
|
66
|
+
def iterate(
|
|
67
|
+
self,
|
|
68
|
+
limit: int = 100,
|
|
69
|
+
) -> Iterable[list[RAWDatabase]]:
|
|
70
|
+
"""Iterate over all databases in CDF.
|
|
71
|
+
|
|
72
|
+
Args:
|
|
73
|
+
limit: Maximum number of items to return per page.
|
|
74
|
+
|
|
75
|
+
Returns:
|
|
76
|
+
Iterable of lists of RAWDatabase objects.
|
|
77
|
+
"""
|
|
78
|
+
return self._iterate(limit=limit)
|
|
65
79
|
|
|
66
80
|
def list(self, limit: int | None = None) -> list[RAWDatabase]:
|
|
67
81
|
"""List all databases in CDF.
|
|
@@ -95,7 +109,7 @@ class RawTablesAPI(CDFResourceAPI[RAWTable, RAWTable, RAWTable]):
|
|
|
95
109
|
},
|
|
96
110
|
)
|
|
97
111
|
|
|
98
|
-
def
|
|
112
|
+
def _validate_page_response(self, response: SuccessResponse2 | ItemsSuccessResponse2) -> PagedResponse[RAWTable]:
|
|
99
113
|
"""Parse a page response. Note: db_name must be injected separately."""
|
|
100
114
|
return PagedResponse[RAWTable].model_validate_json(response.body)
|
|
101
115
|
|
|
@@ -137,7 +151,7 @@ class RawTablesAPI(CDFResourceAPI[RAWTable, RAWTable, RAWTable]):
|
|
|
137
151
|
endpoint = f"/raw/dbs/{db_name}/tables/delete"
|
|
138
152
|
self._request_no_response(list(group), "delete", endpoint=endpoint)
|
|
139
153
|
|
|
140
|
-
def
|
|
154
|
+
def paginate(
|
|
141
155
|
self,
|
|
142
156
|
db_name: str,
|
|
143
157
|
limit: int = 100,
|
|
@@ -153,7 +167,23 @@ class RawTablesAPI(CDFResourceAPI[RAWTable, RAWTable, RAWTable]):
|
|
|
153
167
|
Returns:
|
|
154
168
|
PagedResponse of RAWTable objects.
|
|
155
169
|
"""
|
|
156
|
-
return self.
|
|
170
|
+
return self._paginate(cursor=cursor, limit=limit, endpoint_path=f"/raw/dbs/{db_name}/tables")
|
|
171
|
+
|
|
172
|
+
def iterate(
|
|
173
|
+
self,
|
|
174
|
+
db_name: str,
|
|
175
|
+
limit: int = 100,
|
|
176
|
+
) -> Iterable[list[RAWTable]]:
|
|
177
|
+
"""Iterate over all tables in a database in CDF.
|
|
178
|
+
|
|
179
|
+
Args:
|
|
180
|
+
db_name: The name of the database to list tables from.
|
|
181
|
+
limit: Maximum number of items to return per page.
|
|
182
|
+
|
|
183
|
+
Returns:
|
|
184
|
+
Iterable of lists of RAWTable objects.
|
|
185
|
+
"""
|
|
186
|
+
return self._iterate(limit=limit, endpoint_path=f"/raw/dbs/{db_name}/tables")
|
|
157
187
|
|
|
158
188
|
def list(self, db_name: str, limit: int | None = None) -> list[RAWTable]:
|
|
159
189
|
"""List all tables in a database in CDF.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
|
+
from typing import Literal
|
|
3
|
+
|
|
4
|
+
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
|
|
6
|
+
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
|
|
7
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalId
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.securitycategory import (
|
|
9
|
+
SecurityCategoryRequest,
|
|
10
|
+
SecurityCategoryResponse,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class SecurityCategoriesAPI(CDFResourceAPI[InternalId, SecurityCategoryRequest, SecurityCategoryResponse]):
|
|
15
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
16
|
+
super().__init__(
|
|
17
|
+
http_client=http_client,
|
|
18
|
+
method_endpoint_map={
|
|
19
|
+
"create": Endpoint(method="POST", path="/securitycategories", item_limit=1000),
|
|
20
|
+
"delete": Endpoint(method="POST", path="/securitycategories/delete", item_limit=1000),
|
|
21
|
+
"list": Endpoint(method="GET", path="/securitycategories", item_limit=1000),
|
|
22
|
+
},
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
def _validate_page_response(
|
|
26
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
27
|
+
) -> PagedResponse[SecurityCategoryResponse]:
|
|
28
|
+
return PagedResponse[SecurityCategoryResponse].model_validate_json(response.body)
|
|
29
|
+
|
|
30
|
+
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalId]:
|
|
31
|
+
return ResponseItems[InternalId].model_validate_json(response.body)
|
|
32
|
+
|
|
33
|
+
def create(self, items: Sequence[SecurityCategoryRequest]) -> list[SecurityCategoryResponse]:
|
|
34
|
+
"""Create security categories in CDF.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
items: List of SecurityCategoryRequest objects to create.
|
|
38
|
+
Returns:
|
|
39
|
+
List of created SecurityCategoryResponse objects.
|
|
40
|
+
"""
|
|
41
|
+
return self._request_item_response(items, "create")
|
|
42
|
+
|
|
43
|
+
def delete(self, items: Sequence[InternalId]) -> None:
|
|
44
|
+
"""Delete security categories from CDF.
|
|
45
|
+
|
|
46
|
+
Args:
|
|
47
|
+
items: List of InternalId objects to delete.
|
|
48
|
+
"""
|
|
49
|
+
self._request_no_response(items, "delete")
|
|
50
|
+
|
|
51
|
+
def paginate(
|
|
52
|
+
self,
|
|
53
|
+
sort: Literal["ASC", "DESC"] = "ASC",
|
|
54
|
+
limit: int = 100,
|
|
55
|
+
cursor: str | None = None,
|
|
56
|
+
) -> PagedResponse[SecurityCategoryResponse]:
|
|
57
|
+
"""Iterate over all security categories in CDF.
|
|
58
|
+
|
|
59
|
+
Args:
|
|
60
|
+
sort: Sort descending or ascending.
|
|
61
|
+
limit: Maximum number of items to return.
|
|
62
|
+
cursor: Cursor for pagination.
|
|
63
|
+
|
|
64
|
+
Returns:
|
|
65
|
+
PagedResponse of SecurityCategoryResponse objects.
|
|
66
|
+
"""
|
|
67
|
+
return self._paginate(cursor=cursor, limit=limit, params={"sort": sort})
|
|
68
|
+
|
|
69
|
+
def iterate(
|
|
70
|
+
self,
|
|
71
|
+
sort: Literal["ASC", "DESC"] = "ASC",
|
|
72
|
+
limit: int = 100,
|
|
73
|
+
) -> Iterable[list[SecurityCategoryResponse]]:
|
|
74
|
+
"""Iterate over all security categories in CDF.
|
|
75
|
+
|
|
76
|
+
Args:
|
|
77
|
+
sort: Sort descending or ascending.
|
|
78
|
+
limit: Maximum number of items to return per page.
|
|
79
|
+
|
|
80
|
+
Returns:
|
|
81
|
+
Iterable of lists of SecurityCategoryResponse objects.
|
|
82
|
+
"""
|
|
83
|
+
return self._iterate(limit=limit, params={"sort": sort})
|
|
84
|
+
|
|
85
|
+
def list(
|
|
86
|
+
self,
|
|
87
|
+
limit: int | None = 100,
|
|
88
|
+
) -> list[SecurityCategoryResponse]:
|
|
89
|
+
"""List all security categories in CDF.
|
|
90
|
+
|
|
91
|
+
Returns:
|
|
92
|
+
List of SecurityCategoryResponse objects.
|
|
93
|
+
"""
|
|
94
|
+
return self._list(limit=limit)
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
|
+
from typing import Literal
|
|
3
|
+
|
|
4
|
+
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
|
|
5
|
+
from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
|
|
6
|
+
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
|
|
7
|
+
from cognite_toolkit._cdf_tk.client.request_classes.filters import ClassicFilter
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.sequence import SequenceRequest, SequenceResponse
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SequencesAPI(CDFResourceAPI[InternalOrExternalId, SequenceRequest, SequenceResponse]):
|
|
13
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
14
|
+
super().__init__(
|
|
15
|
+
http_client=http_client,
|
|
16
|
+
method_endpoint_map={
|
|
17
|
+
"create": Endpoint(method="POST", path="/sequences", item_limit=1000, concurrency_max_workers=1),
|
|
18
|
+
"retrieve": Endpoint(
|
|
19
|
+
method="POST", path="/sequences/byids", item_limit=1000, concurrency_max_workers=1
|
|
20
|
+
),
|
|
21
|
+
"update": Endpoint(method="POST", path="/sequences/update", item_limit=1000, concurrency_max_workers=1),
|
|
22
|
+
"delete": Endpoint(method="POST", path="/sequences/delete", item_limit=1000, concurrency_max_workers=1),
|
|
23
|
+
"list": Endpoint(method="POST", path="/sequences/list", item_limit=1000),
|
|
24
|
+
},
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
def _validate_page_response(
|
|
28
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
29
|
+
) -> PagedResponse[SequenceResponse]:
|
|
30
|
+
return PagedResponse[SequenceResponse].model_validate_json(response.body)
|
|
31
|
+
|
|
32
|
+
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
|
|
33
|
+
return ResponseItems[InternalOrExternalId].model_validate_json(response.body)
|
|
34
|
+
|
|
35
|
+
def create(self, items: Sequence[SequenceRequest]) -> list[SequenceResponse]:
|
|
36
|
+
"""Create sequences in CDF.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
items: List of SequenceRequest objects to create.
|
|
40
|
+
Returns:
|
|
41
|
+
List of created SequenceResponse objects.
|
|
42
|
+
"""
|
|
43
|
+
return self._request_item_response(items, "create")
|
|
44
|
+
|
|
45
|
+
def retrieve(
|
|
46
|
+
self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False
|
|
47
|
+
) -> list[SequenceResponse]:
|
|
48
|
+
"""Retrieve sequences from CDF.
|
|
49
|
+
|
|
50
|
+
Args:
|
|
51
|
+
items: List of InternalOrExternalId objects to retrieve.
|
|
52
|
+
ignore_unknown_ids: Whether to ignore unknown IDs.
|
|
53
|
+
Returns:
|
|
54
|
+
List of retrieved SequenceResponse objects.
|
|
55
|
+
"""
|
|
56
|
+
return self._request_item_response(
|
|
57
|
+
items, method="retrieve", extra_body={"ignoreUnknownIds": ignore_unknown_ids}
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
def update(
|
|
61
|
+
self, items: Sequence[SequenceRequest], mode: Literal["patch", "replace"] = "replace"
|
|
62
|
+
) -> list[SequenceResponse]:
|
|
63
|
+
"""Update sequences in CDF.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
items: List of SequenceRequest objects to update.
|
|
67
|
+
mode: Update mode, either "patch" or "replace".
|
|
68
|
+
|
|
69
|
+
Returns:
|
|
70
|
+
List of updated SequenceResponse objects.
|
|
71
|
+
"""
|
|
72
|
+
return self._update(items, mode=mode)
|
|
73
|
+
|
|
74
|
+
def delete(self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False) -> None:
|
|
75
|
+
"""Delete sequences from CDF.
|
|
76
|
+
|
|
77
|
+
Args:
|
|
78
|
+
items: List of InternalOrExternalId objects to delete.
|
|
79
|
+
ignore_unknown_ids: Whether to ignore unknown IDs.
|
|
80
|
+
"""
|
|
81
|
+
self._request_no_response(items, "delete", extra_body={"ignoreUnknownIds": ignore_unknown_ids})
|
|
82
|
+
|
|
83
|
+
def paginate(
|
|
84
|
+
self,
|
|
85
|
+
filter: ClassicFilter | None = None,
|
|
86
|
+
limit: int = 100,
|
|
87
|
+
cursor: str | None = None,
|
|
88
|
+
) -> PagedResponse[SequenceResponse]:
|
|
89
|
+
"""Iterate over all sequences in CDF.
|
|
90
|
+
|
|
91
|
+
Args:
|
|
92
|
+
filter: Filter by data set IDs and/or asset subtree IDs.
|
|
93
|
+
limit: Maximum number of items to return.
|
|
94
|
+
cursor: Cursor for pagination.
|
|
95
|
+
|
|
96
|
+
Returns:
|
|
97
|
+
PagedResponse of SequenceResponse objects.
|
|
98
|
+
"""
|
|
99
|
+
return self._paginate(
|
|
100
|
+
cursor=cursor,
|
|
101
|
+
limit=limit,
|
|
102
|
+
body={"filter": filter.dump() if filter else None},
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
def iterate(
|
|
106
|
+
self,
|
|
107
|
+
filter: ClassicFilter | None = None,
|
|
108
|
+
limit: int = 100,
|
|
109
|
+
) -> Iterable[list[SequenceResponse]]:
|
|
110
|
+
"""Iterate over all sequences in CDF.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
filter: Filter by data set IDs and/or asset subtree IDs.
|
|
114
|
+
limit: Maximum number of items to return per page.
|
|
115
|
+
|
|
116
|
+
Returns:
|
|
117
|
+
Iterable of lists of SequenceResponse objects.
|
|
118
|
+
"""
|
|
119
|
+
return self._iterate(
|
|
120
|
+
limit=limit,
|
|
121
|
+
body={"filter": filter.dump() if filter else None},
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
def list(
|
|
125
|
+
self,
|
|
126
|
+
limit: int | None = 100,
|
|
127
|
+
) -> list[SequenceResponse]:
|
|
128
|
+
"""List all sequences in CDF.
|
|
129
|
+
|
|
130
|
+
Returns:
|
|
131
|
+
List of SequenceResponse objects.
|
|
132
|
+
"""
|
|
133
|
+
return self._list(limit=limit)
|