cognite-toolkit 0.7.45__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 +30 -18
- cognite_toolkit/_cdf_tk/client/api/datasets.py +141 -0
- cognite_toolkit/_cdf_tk/client/api/events.py +31 -17
- cognite_toolkit/_cdf_tk/client/api/extraction_pipelines.py +148 -0
- cognite_toolkit/_cdf_tk/client/api/filemetadata.py +42 -16
- 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 +38 -8
- 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 +32 -6
- 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 +31 -17
- 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 +38 -40
- 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/_data_cruds.py +3 -3
- 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 +6 -3
- 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/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.45.dist-info → cognite_toolkit-0.7.46.dist-info}/METADATA +3 -3
- {cognite_toolkit-0.7.45.dist-info → cognite_toolkit-0.7.46.dist-info}/RECORD +189 -150
- {cognite_toolkit-0.7.45.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.45.dist-info → cognite_toolkit-0.7.46.dist-info}/entry_points.txt +0 -0
|
@@ -7,7 +7,7 @@ import typer
|
|
|
7
7
|
from questionary import Choice
|
|
8
8
|
from rich import print
|
|
9
9
|
|
|
10
|
-
from cognite_toolkit._cdf_tk.client.
|
|
10
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.raw import RawTable
|
|
11
11
|
from cognite_toolkit._cdf_tk.commands import DownloadCommand
|
|
12
12
|
from cognite_toolkit._cdf_tk.constants import DATA_DEFAULT_DIR
|
|
13
13
|
from cognite_toolkit._cdf_tk.feature_flags import Flags
|
|
@@ -6,7 +6,7 @@ from cognite.client.data_classes import WorkflowVersionId
|
|
|
6
6
|
from cognite.client.data_classes.data_modeling import DataModelId, ViewId
|
|
7
7
|
from rich import print
|
|
8
8
|
|
|
9
|
-
from cognite_toolkit._cdf_tk.client.
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.search_config import ViewId as SearchConfigViewId
|
|
10
10
|
from cognite_toolkit._cdf_tk.commands import DumpResourceCommand
|
|
11
11
|
from cognite_toolkit._cdf_tk.commands.dump_resource import (
|
|
12
12
|
AgentFinder,
|
|
@@ -3,7 +3,7 @@ from collections.abc import Callable, Iterable, Sequence
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
5
|
from cognite_toolkit._cdf_tk.builders import Builder
|
|
6
|
-
from cognite_toolkit._cdf_tk.client.
|
|
6
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.legacy.raw import RawDatabase
|
|
7
7
|
from cognite_toolkit._cdf_tk.cruds import RawDatabaseCRUD, RawTableCRUD, ResourceCRUD
|
|
8
8
|
from cognite_toolkit._cdf_tk.data_classes import (
|
|
9
9
|
BuildDestinationFile,
|
|
@@ -15,20 +15,28 @@ from cognite_toolkit._cdf_tk.client.api.legacy.robotics import RoboticsAPI
|
|
|
15
15
|
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient
|
|
16
16
|
|
|
17
17
|
from .api.assets import AssetsAPI
|
|
18
|
+
from .api.datasets import DataSetsAPI
|
|
18
19
|
from .api.events import EventsAPI
|
|
20
|
+
from .api.extraction_pipelines import ExtractionPipelinesAPI
|
|
19
21
|
from .api.filemetadata import FileMetadataAPI
|
|
22
|
+
from .api.hosted_extractors import HostedExtractorsAPI
|
|
20
23
|
from .api.infield import InfieldAPI
|
|
24
|
+
from .api.labels import LabelsAPI
|
|
21
25
|
from .api.lookup import LookUpGroup
|
|
22
26
|
from .api.migration import MigrationAPI
|
|
23
27
|
from .api.project import ProjectAPI
|
|
24
28
|
from .api.raw import RawAPI
|
|
25
29
|
from .api.search import SearchAPI
|
|
30
|
+
from .api.security_categories import SecurityCategoriesAPI
|
|
31
|
+
from .api.sequences import SequencesAPI
|
|
26
32
|
from .api.simulators import SimulatorsAPI
|
|
27
33
|
from .api.streams import StreamsAPI
|
|
28
34
|
from .api.three_d import ThreeDAPI
|
|
29
35
|
from .api.timeseries import TimeSeriesAPI
|
|
30
36
|
from .api.token import TokenAPI
|
|
37
|
+
from .api.transformations import TransformationsAPI
|
|
31
38
|
from .api.verify import VerifyAPI
|
|
39
|
+
from .api.workflows import WorkflowsAPI
|
|
32
40
|
from .config import ToolkitClientConfig
|
|
33
41
|
|
|
34
42
|
|
|
@@ -37,13 +45,21 @@ class ToolAPI:
|
|
|
37
45
|
|
|
38
46
|
def __init__(self, http_client: HTTPClient, console: Console) -> None:
|
|
39
47
|
self.http_client = http_client
|
|
40
|
-
self.three_d = ThreeDAPI(http_client, console)
|
|
41
48
|
self.assets = AssetsAPI(http_client)
|
|
42
|
-
self.
|
|
43
|
-
self.filemetadata = FileMetadataAPI(http_client)
|
|
49
|
+
self.datasets = DataSetsAPI(http_client)
|
|
44
50
|
self.events = EventsAPI(http_client)
|
|
51
|
+
self.extraction_pipelines = ExtractionPipelinesAPI(http_client)
|
|
52
|
+
self.hosted_extractors = HostedExtractorsAPI(http_client)
|
|
53
|
+
self.labels = LabelsAPI(http_client)
|
|
54
|
+
self.filemetadata = FileMetadataAPI(http_client)
|
|
45
55
|
self.raw = RawAPI(http_client)
|
|
56
|
+
self.security_categories = SecurityCategoriesAPI(http_client)
|
|
57
|
+
self.sequences = SequencesAPI(http_client)
|
|
46
58
|
self.simulators = SimulatorsAPI(http_client)
|
|
59
|
+
self.three_d = ThreeDAPI(http_client, console)
|
|
60
|
+
self.timeseries = TimeSeriesAPI(http_client)
|
|
61
|
+
self.transformations = TransformationsAPI(http_client)
|
|
62
|
+
self.workflows = WorkflowsAPI(http_client)
|
|
47
63
|
|
|
48
64
|
|
|
49
65
|
class ToolkitClient(CogniteClient):
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
from collections.abc import Sequence
|
|
2
|
-
from typing import
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
|
+
from typing import Literal
|
|
3
3
|
|
|
4
4
|
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
|
|
5
5
|
from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
|
|
6
|
-
from cognite_toolkit._cdf_tk.client.data_classes.asset import AssetRequest, AssetResponse
|
|
7
|
-
from cognite_toolkit._cdf_tk.client.data_classes.identifiers import InternalOrExternalId
|
|
8
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.asset import AssetRequest, AssetResponse
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class AssetsAPI(CDFResourceAPI[InternalOrExternalId, AssetRequest, AssetResponse]):
|
|
@@ -21,7 +22,9 @@ class AssetsAPI(CDFResourceAPI[InternalOrExternalId, AssetRequest, AssetResponse
|
|
|
21
22
|
},
|
|
22
23
|
)
|
|
23
24
|
|
|
24
|
-
def
|
|
25
|
+
def _validate_page_response(
|
|
26
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
27
|
+
) -> PagedResponse[AssetResponse]:
|
|
25
28
|
return PagedResponse[AssetResponse].model_validate_json(response.body)
|
|
26
29
|
|
|
27
30
|
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
|
|
@@ -78,11 +81,10 @@ class AssetsAPI(CDFResourceAPI[InternalOrExternalId, AssetRequest, AssetResponse
|
|
|
78
81
|
items, "delete", extra_body={"recursive": recursive, "ignoreUnknownIds": ignore_unknown_ids}
|
|
79
82
|
)
|
|
80
83
|
|
|
81
|
-
def
|
|
84
|
+
def paginate(
|
|
82
85
|
self,
|
|
83
86
|
aggregated_properties: bool = False,
|
|
84
|
-
|
|
85
|
-
asset_subtree_external_ids: list[str] | None = None,
|
|
87
|
+
filter: ClassicFilter | None = None,
|
|
86
88
|
limit: int = 100,
|
|
87
89
|
cursor: str | None = None,
|
|
88
90
|
) -> PagedResponse[AssetResponse]:
|
|
@@ -91,25 +93,35 @@ class AssetsAPI(CDFResourceAPI[InternalOrExternalId, AssetRequest, AssetResponse
|
|
|
91
93
|
Returns:
|
|
92
94
|
PagedResponse of AssetResponse objects.
|
|
93
95
|
"""
|
|
94
|
-
|
|
95
|
-
if asset_subtree_external_ids:
|
|
96
|
-
filter_["assetSubtreeExternalIds"] = [{"externalId": ext_id} for ext_id in asset_subtree_external_ids]
|
|
97
|
-
if data_set_external_ids:
|
|
98
|
-
filter_["dataSetIds"] = [{"externalId": ds_id} for ds_id in data_set_external_ids]
|
|
99
|
-
|
|
100
|
-
return self._iterate(
|
|
96
|
+
return self._paginate(
|
|
101
97
|
cursor=cursor,
|
|
102
98
|
limit=limit,
|
|
103
99
|
body={
|
|
104
100
|
"aggregatedProperties": ["childCount", "path", "depth"] if aggregated_properties else [],
|
|
105
|
-
"filter":
|
|
101
|
+
"filter": filter.dump() if filter else None,
|
|
106
102
|
},
|
|
107
103
|
)
|
|
108
104
|
|
|
109
|
-
def
|
|
105
|
+
def iterate(
|
|
110
106
|
self,
|
|
107
|
+
aggregated_properties: bool = False,
|
|
108
|
+
filter: ClassicFilter | None = None,
|
|
111
109
|
limit: int | None = 100,
|
|
112
|
-
) -> list[AssetResponse]:
|
|
110
|
+
) -> Iterable[list[AssetResponse]]:
|
|
111
|
+
"""Iterate over all assets in CDF.
|
|
112
|
+
|
|
113
|
+
Returns:
|
|
114
|
+
Sequence of AssetResponse objects.
|
|
115
|
+
"""
|
|
116
|
+
return self._iterate(
|
|
117
|
+
limit=limit,
|
|
118
|
+
body={
|
|
119
|
+
"aggregatedProperties": ["childCount", "path", "depth"] if aggregated_properties else [],
|
|
120
|
+
"filter": filter.dump() if filter else None,
|
|
121
|
+
},
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
def list(self, limit: int | None = 100) -> list[AssetResponse]:
|
|
113
125
|
"""List all asset references in CDF.
|
|
114
126
|
|
|
115
127
|
Returns:
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
|
+
from typing import Any, 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.dataset import DataSetRequest, DataSetResponse
|
|
8
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class DataSetsAPI(CDFResourceAPI[InternalOrExternalId, DataSetRequest, DataSetResponse]):
|
|
12
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
13
|
+
super().__init__(
|
|
14
|
+
http_client=http_client,
|
|
15
|
+
method_endpoint_map={
|
|
16
|
+
"create": Endpoint(method="POST", path="/datasets", item_limit=10, concurrency_max_workers=1),
|
|
17
|
+
"retrieve": Endpoint(method="POST", path="/datasets/byids", item_limit=1000, concurrency_max_workers=1),
|
|
18
|
+
"update": Endpoint(method="POST", path="/datasets/update", item_limit=1000, concurrency_max_workers=1),
|
|
19
|
+
"list": Endpoint(method="POST", path="/datasets/list", item_limit=1000),
|
|
20
|
+
},
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
def _validate_page_response(
|
|
24
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
25
|
+
) -> PagedResponse[DataSetResponse]:
|
|
26
|
+
return PagedResponse[DataSetResponse].model_validate_json(response.body)
|
|
27
|
+
|
|
28
|
+
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
|
|
29
|
+
return ResponseItems[InternalOrExternalId].model_validate_json(response.body)
|
|
30
|
+
|
|
31
|
+
def create(self, items: Sequence[DataSetRequest]) -> list[DataSetResponse]:
|
|
32
|
+
"""Create data sets in CDF.
|
|
33
|
+
|
|
34
|
+
Args:
|
|
35
|
+
items: List of DataSetRequest objects to create.
|
|
36
|
+
Returns:
|
|
37
|
+
List of created DataSetResponse objects.
|
|
38
|
+
"""
|
|
39
|
+
return self._request_item_response(items, "create")
|
|
40
|
+
|
|
41
|
+
def retrieve(
|
|
42
|
+
self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False
|
|
43
|
+
) -> list[DataSetResponse]:
|
|
44
|
+
"""Retrieve data sets from CDF.
|
|
45
|
+
|
|
46
|
+
Args:
|
|
47
|
+
items: List of InternalOrExternalId objects to retrieve.
|
|
48
|
+
ignore_unknown_ids: Whether to ignore unknown IDs.
|
|
49
|
+
Returns:
|
|
50
|
+
List of retrieved DataSetResponse objects.
|
|
51
|
+
"""
|
|
52
|
+
return self._request_item_response(
|
|
53
|
+
items, method="retrieve", extra_body={"ignoreUnknownIds": ignore_unknown_ids}
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
def update(
|
|
57
|
+
self, items: Sequence[DataSetRequest], mode: Literal["patch", "replace"] = "replace"
|
|
58
|
+
) -> list[DataSetResponse]:
|
|
59
|
+
"""Update data sets in CDF.
|
|
60
|
+
|
|
61
|
+
Args:
|
|
62
|
+
items: List of DataSetRequest objects to update.
|
|
63
|
+
mode: Update mode, either "patch" or "replace".
|
|
64
|
+
|
|
65
|
+
Returns:
|
|
66
|
+
List of updated DataSetResponse objects.
|
|
67
|
+
"""
|
|
68
|
+
return self._update(items, mode=mode)
|
|
69
|
+
|
|
70
|
+
def paginate(
|
|
71
|
+
self,
|
|
72
|
+
metadata: dict[str, str] | None = None,
|
|
73
|
+
external_id_prefix: str | None = None,
|
|
74
|
+
write_protected: bool | None = None,
|
|
75
|
+
limit: int = 100,
|
|
76
|
+
cursor: str | None = None,
|
|
77
|
+
) -> PagedResponse[DataSetResponse]:
|
|
78
|
+
"""Iterate over all data sets in CDF.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
metadata: Filter by metadata.
|
|
82
|
+
external_id_prefix: Filter by external ID prefix.
|
|
83
|
+
write_protected: Filter by write protection status.
|
|
84
|
+
limit: Maximum number of items to return.
|
|
85
|
+
cursor: Cursor for pagination.
|
|
86
|
+
|
|
87
|
+
Returns:
|
|
88
|
+
PagedResponse of DataSetResponse objects.
|
|
89
|
+
"""
|
|
90
|
+
filter_body: dict[str, Any] = {}
|
|
91
|
+
if metadata is not None:
|
|
92
|
+
filter_body["metadata"] = metadata
|
|
93
|
+
if external_id_prefix is not None:
|
|
94
|
+
filter_body["externalIdPrefix"] = external_id_prefix
|
|
95
|
+
if write_protected is not None:
|
|
96
|
+
filter_body["writeProtected"] = write_protected
|
|
97
|
+
|
|
98
|
+
return self._paginate(
|
|
99
|
+
cursor=cursor,
|
|
100
|
+
limit=limit,
|
|
101
|
+
body={"filter": filter_body} if filter_body else {},
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
def iterate(
|
|
105
|
+
self,
|
|
106
|
+
metadata: dict[str, str] | None = None,
|
|
107
|
+
external_id_prefix: str | None = None,
|
|
108
|
+
write_protected: bool | None = None,
|
|
109
|
+
limit: int = 100,
|
|
110
|
+
) -> Iterable[list[DataSetResponse]]:
|
|
111
|
+
"""Iterate over all data sets in CDF.
|
|
112
|
+
|
|
113
|
+
Args:
|
|
114
|
+
metadata: Filter by metadata.
|
|
115
|
+
external_id_prefix: Filter by external ID prefix.
|
|
116
|
+
write_protected: Filter by write protection status.
|
|
117
|
+
limit: Maximum number of items to return per page.
|
|
118
|
+
|
|
119
|
+
Returns:
|
|
120
|
+
Iterable of lists of DataSetResponse objects.
|
|
121
|
+
"""
|
|
122
|
+
filter_body: dict[str, Any] = {}
|
|
123
|
+
if metadata is not None:
|
|
124
|
+
filter_body["metadata"] = metadata
|
|
125
|
+
if external_id_prefix is not None:
|
|
126
|
+
filter_body["externalIdPrefix"] = external_id_prefix
|
|
127
|
+
if write_protected is not None:
|
|
128
|
+
filter_body["writeProtected"] = write_protected
|
|
129
|
+
|
|
130
|
+
return self._iterate(
|
|
131
|
+
limit=limit,
|
|
132
|
+
body={"filter": filter_body} if filter_body else {},
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
def list(self, limit: int | None = 100) -> list[DataSetResponse]:
|
|
136
|
+
"""List all data sets in CDF.
|
|
137
|
+
|
|
138
|
+
Returns:
|
|
139
|
+
List of DataSetResponse objects.
|
|
140
|
+
"""
|
|
141
|
+
return self._list(limit=limit)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
from collections.abc import Sequence
|
|
2
|
-
from typing import
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
|
+
from typing import Literal
|
|
3
3
|
|
|
4
4
|
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
|
|
5
5
|
from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
|
|
6
|
-
from cognite_toolkit._cdf_tk.client.data_classes.event import EventRequest, EventResponse
|
|
7
|
-
from cognite_toolkit._cdf_tk.client.data_classes.identifiers import InternalOrExternalId
|
|
8
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.event import EventRequest, EventResponse
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class EventsAPI(CDFResourceAPI[InternalOrExternalId, EventRequest, EventResponse]):
|
|
@@ -21,7 +22,9 @@ class EventsAPI(CDFResourceAPI[InternalOrExternalId, EventRequest, EventResponse
|
|
|
21
22
|
},
|
|
22
23
|
)
|
|
23
24
|
|
|
24
|
-
def
|
|
25
|
+
def _validate_page_response(
|
|
26
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
27
|
+
) -> PagedResponse[EventResponse]:
|
|
25
28
|
return PagedResponse[EventResponse].model_validate_json(response.body)
|
|
26
29
|
|
|
27
30
|
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
|
|
@@ -73,34 +76,45 @@ class EventsAPI(CDFResourceAPI[InternalOrExternalId, EventRequest, EventResponse
|
|
|
73
76
|
"""
|
|
74
77
|
self._request_no_response(items, "delete", extra_body={"ignoreUnknownIds": ignore_unknown_ids})
|
|
75
78
|
|
|
76
|
-
def
|
|
79
|
+
def paginate(
|
|
77
80
|
self,
|
|
78
|
-
|
|
79
|
-
asset_subtree_external_ids: list[str] | None = None,
|
|
81
|
+
filter: ClassicFilter | None = None,
|
|
80
82
|
limit: int = 100,
|
|
81
83
|
cursor: str | None = None,
|
|
82
84
|
) -> PagedResponse[EventResponse]:
|
|
83
85
|
"""Iterate over all events in CDF.
|
|
84
86
|
|
|
85
87
|
Args:
|
|
86
|
-
|
|
87
|
-
asset_subtree_external_ids: Filter by asset subtree external IDs.
|
|
88
|
+
filter: Filter by data set IDs and/or asset subtree IDs.
|
|
88
89
|
limit: Maximum number of items to return.
|
|
89
90
|
cursor: Cursor for pagination.
|
|
90
91
|
|
|
91
92
|
Returns:
|
|
92
93
|
PagedResponse of EventResponse objects.
|
|
93
94
|
"""
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
return self._paginate(
|
|
96
|
+
cursor=cursor,
|
|
97
|
+
limit=limit,
|
|
98
|
+
body={"filter": filter.dump() if filter else None},
|
|
99
|
+
)
|
|
99
100
|
|
|
101
|
+
def iterate(
|
|
102
|
+
self,
|
|
103
|
+
filter: ClassicFilter | None = None,
|
|
104
|
+
limit: int | None = 100,
|
|
105
|
+
) -> Iterable[list[EventResponse]]:
|
|
106
|
+
"""Iterate over all events in CDF.
|
|
107
|
+
|
|
108
|
+
Args:
|
|
109
|
+
filter: Filter by data set IDs and/or asset subtree IDs.
|
|
110
|
+
limit: Maximum number of items to return per page.
|
|
111
|
+
|
|
112
|
+
Returns:
|
|
113
|
+
Iterable of lists of EventResponse objects.
|
|
114
|
+
"""
|
|
100
115
|
return self._iterate(
|
|
101
|
-
cursor=cursor,
|
|
102
116
|
limit=limit,
|
|
103
|
-
body={"filter":
|
|
117
|
+
body={"filter": filter.dump() if filter else None},
|
|
104
118
|
)
|
|
105
119
|
|
|
106
120
|
def list(
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
|
+
from typing import Any, 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.extraction_pipeline import (
|
|
9
|
+
ExtractionPipelineRequest,
|
|
10
|
+
ExtractionPipelineResponse,
|
|
11
|
+
)
|
|
12
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ExtractionPipelinesAPI(
|
|
16
|
+
CDFResourceAPI[InternalOrExternalId, ExtractionPipelineRequest, ExtractionPipelineResponse]
|
|
17
|
+
):
|
|
18
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
19
|
+
super().__init__(
|
|
20
|
+
http_client=http_client,
|
|
21
|
+
method_endpoint_map={
|
|
22
|
+
"create": Endpoint(method="POST", path="/extpipes", item_limit=1000, concurrency_max_workers=1),
|
|
23
|
+
"retrieve": Endpoint(method="POST", path="/extpipes/byids", item_limit=1000, concurrency_max_workers=1),
|
|
24
|
+
"update": Endpoint(method="POST", path="/extpipes/update", item_limit=1000, concurrency_max_workers=1),
|
|
25
|
+
"delete": Endpoint(method="POST", path="/extpipes/delete", item_limit=1000, concurrency_max_workers=1),
|
|
26
|
+
"list": Endpoint(method="POST", path="/extpipes/list", item_limit=1000),
|
|
27
|
+
},
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
def _validate_page_response(
|
|
31
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
32
|
+
) -> PagedResponse[ExtractionPipelineResponse]:
|
|
33
|
+
return PagedResponse[ExtractionPipelineResponse].model_validate_json(response.body)
|
|
34
|
+
|
|
35
|
+
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
|
|
36
|
+
return ResponseItems[InternalOrExternalId].model_validate_json(response.body)
|
|
37
|
+
|
|
38
|
+
def create(self, items: Sequence[ExtractionPipelineRequest]) -> list[ExtractionPipelineResponse]:
|
|
39
|
+
"""Create extraction pipelines in CDF.
|
|
40
|
+
|
|
41
|
+
Args:
|
|
42
|
+
items: List of ExtractionPipelineRequest objects to create.
|
|
43
|
+
Returns:
|
|
44
|
+
List of created ExtractionPipelineResponse objects.
|
|
45
|
+
"""
|
|
46
|
+
return self._request_item_response(items, "create")
|
|
47
|
+
|
|
48
|
+
def retrieve(
|
|
49
|
+
self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False
|
|
50
|
+
) -> list[ExtractionPipelineResponse]:
|
|
51
|
+
"""Retrieve extraction pipelines from CDF.
|
|
52
|
+
|
|
53
|
+
Args:
|
|
54
|
+
items: List of InternalOrExternalId objects to retrieve.
|
|
55
|
+
ignore_unknown_ids: Whether to ignore unknown IDs.
|
|
56
|
+
Returns:
|
|
57
|
+
List of retrieved ExtractionPipelineResponse objects.
|
|
58
|
+
"""
|
|
59
|
+
return self._request_item_response(
|
|
60
|
+
items, method="retrieve", extra_body={"ignoreUnknownIds": ignore_unknown_ids}
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
def update(
|
|
64
|
+
self, items: Sequence[ExtractionPipelineRequest], mode: Literal["patch", "replace"] = "replace"
|
|
65
|
+
) -> list[ExtractionPipelineResponse]:
|
|
66
|
+
"""Update extraction pipelines in CDF.
|
|
67
|
+
|
|
68
|
+
Args:
|
|
69
|
+
items: List of ExtractionPipelineRequest objects to update.
|
|
70
|
+
mode: Update mode, either "patch" or "replace".
|
|
71
|
+
|
|
72
|
+
Returns:
|
|
73
|
+
List of updated ExtractionPipelineResponse objects.
|
|
74
|
+
"""
|
|
75
|
+
return self._update(items, mode=mode)
|
|
76
|
+
|
|
77
|
+
def delete(self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False) -> None:
|
|
78
|
+
"""Delete extraction pipelines from CDF.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
items: List of InternalOrExternalId objects to delete.
|
|
82
|
+
ignore_unknown_ids: Whether to ignore unknown IDs.
|
|
83
|
+
"""
|
|
84
|
+
self._request_no_response(items, "delete", extra_body={"ignoreUnknownIds": ignore_unknown_ids})
|
|
85
|
+
|
|
86
|
+
def paginate(
|
|
87
|
+
self,
|
|
88
|
+
filter: ClassicFilter | None = None,
|
|
89
|
+
external_id_prefix: str | None = None,
|
|
90
|
+
limit: int = 100,
|
|
91
|
+
cursor: str | None = None,
|
|
92
|
+
) -> PagedResponse[ExtractionPipelineResponse]:
|
|
93
|
+
"""Iterate over all extraction pipelines in CDF.
|
|
94
|
+
|
|
95
|
+
Args:
|
|
96
|
+
filter: Filter by data set IDs.
|
|
97
|
+
external_id_prefix: Filter by external ID prefix.
|
|
98
|
+
limit: Maximum number of items to return.
|
|
99
|
+
cursor: Cursor for pagination.
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
PagedResponse of ExtractionPipelineResponse objects.
|
|
103
|
+
"""
|
|
104
|
+
filter_body: dict[str, Any] = filter.dump() if filter else {}
|
|
105
|
+
if external_id_prefix is not None:
|
|
106
|
+
filter_body["externalIdPrefix"] = external_id_prefix
|
|
107
|
+
|
|
108
|
+
return self._paginate(
|
|
109
|
+
cursor=cursor,
|
|
110
|
+
limit=limit,
|
|
111
|
+
body={"filter": filter_body} if filter_body else None,
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
def iterate(
|
|
115
|
+
self,
|
|
116
|
+
filter: ClassicFilter | None = None,
|
|
117
|
+
external_id_prefix: str | None = None,
|
|
118
|
+
limit: int = 100,
|
|
119
|
+
) -> Iterable[list[ExtractionPipelineResponse]]:
|
|
120
|
+
"""Iterate over all extraction pipelines in CDF.
|
|
121
|
+
|
|
122
|
+
Args:
|
|
123
|
+
filter: Filter by data set IDs.
|
|
124
|
+
external_id_prefix: Filter by external ID prefix.
|
|
125
|
+
limit: Maximum number of items to return per page.
|
|
126
|
+
|
|
127
|
+
Returns:
|
|
128
|
+
Iterable of lists of ExtractionPipelineResponse objects.
|
|
129
|
+
"""
|
|
130
|
+
filter_body: dict[str, Any] = filter.dump() if filter else {}
|
|
131
|
+
if external_id_prefix is not None:
|
|
132
|
+
filter_body["externalIdPrefix"] = external_id_prefix
|
|
133
|
+
|
|
134
|
+
return self._iterate(
|
|
135
|
+
limit=limit,
|
|
136
|
+
body={"filter": filter_body} if filter_body else None,
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
def list(
|
|
140
|
+
self,
|
|
141
|
+
limit: int | None = 100,
|
|
142
|
+
) -> list[ExtractionPipelineResponse]:
|
|
143
|
+
"""List all extraction pipelines in CDF.
|
|
144
|
+
|
|
145
|
+
Returns:
|
|
146
|
+
List of ExtractionPipelineResponse objects.
|
|
147
|
+
"""
|
|
148
|
+
return self._list(limit=limit)
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
from collections.abc import Sequence
|
|
1
|
+
from collections.abc import Iterable, Sequence
|
|
2
2
|
from typing import Any, Literal
|
|
3
3
|
|
|
4
4
|
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, PagedResponse, ResponseItems
|
|
5
5
|
from cognite_toolkit._cdf_tk.client.cdf_client.api import Endpoint
|
|
6
|
-
from cognite_toolkit._cdf_tk.client.data_classes.filemetadata import FileMetadataRequest, FileMetadataResponse
|
|
7
|
-
from cognite_toolkit._cdf_tk.client.data_classes.identifiers import InternalOrExternalId
|
|
8
6
|
from cognite_toolkit._cdf_tk.client.http_client import (
|
|
9
7
|
HTTPClient,
|
|
10
8
|
ItemsSuccessResponse2,
|
|
11
9
|
RequestMessage2,
|
|
12
10
|
SuccessResponse2,
|
|
13
11
|
)
|
|
12
|
+
from cognite_toolkit._cdf_tk.client.request_classes.filters import ClassicFilter
|
|
13
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.filemetadata import FileMetadataRequest, FileMetadataResponse
|
|
14
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
class FileMetadataAPI(CDFResourceAPI[InternalOrExternalId, FileMetadataRequest, FileMetadataResponse]):
|
|
@@ -26,7 +27,9 @@ class FileMetadataAPI(CDFResourceAPI[InternalOrExternalId, FileMetadataRequest,
|
|
|
26
27
|
},
|
|
27
28
|
)
|
|
28
29
|
|
|
29
|
-
def
|
|
30
|
+
def _validate_page_response(
|
|
31
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
32
|
+
) -> PagedResponse[FileMetadataResponse]:
|
|
30
33
|
return PagedResponse[FileMetadataResponse].model_validate_json(response.body)
|
|
31
34
|
|
|
32
35
|
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
|
|
@@ -56,7 +59,7 @@ class FileMetadataAPI(CDFResourceAPI[InternalOrExternalId, FileMetadataRequest,
|
|
|
56
59
|
)
|
|
57
60
|
response = self._http_client.request_single_retries(request)
|
|
58
61
|
result = response.get_success_or_raise()
|
|
59
|
-
results.
|
|
62
|
+
results.append(FileMetadataResponse.model_validate_json(result.body))
|
|
60
63
|
return results
|
|
61
64
|
|
|
62
65
|
def retrieve(
|
|
@@ -97,10 +100,9 @@ class FileMetadataAPI(CDFResourceAPI[InternalOrExternalId, FileMetadataRequest,
|
|
|
97
100
|
"""
|
|
98
101
|
self._request_no_response(items, "delete", extra_body={"ignoreUnknownIds": ignore_unknown_ids})
|
|
99
102
|
|
|
100
|
-
def
|
|
103
|
+
def paginate(
|
|
101
104
|
self,
|
|
102
|
-
|
|
103
|
-
asset_subtree_external_ids: list[str] | None = None,
|
|
105
|
+
filter: ClassicFilter | None = None,
|
|
104
106
|
directory_prefix: str | None = None,
|
|
105
107
|
uploaded: bool | None = None,
|
|
106
108
|
limit: int = 100,
|
|
@@ -109,8 +111,7 @@ class FileMetadataAPI(CDFResourceAPI[InternalOrExternalId, FileMetadataRequest,
|
|
|
109
111
|
"""Iterate over file metadata in CDF.
|
|
110
112
|
|
|
111
113
|
Args:
|
|
112
|
-
|
|
113
|
-
asset_subtree_external_ids: Filter by asset subtree external IDs.
|
|
114
|
+
filter: Filter by data set IDs and/or asset subtree IDs.
|
|
114
115
|
directory_prefix: Filter by directory prefix.
|
|
115
116
|
uploaded: Filter by upload status.
|
|
116
117
|
limit: Maximum number of items to return per page.
|
|
@@ -119,22 +120,47 @@ class FileMetadataAPI(CDFResourceAPI[InternalOrExternalId, FileMetadataRequest,
|
|
|
119
120
|
Returns:
|
|
120
121
|
PagedResponse of FileMetadataResponse objects.
|
|
121
122
|
"""
|
|
122
|
-
filter_: dict[str, Any] = {}
|
|
123
|
-
if asset_subtree_external_ids:
|
|
124
|
-
filter_["assetSubtreeIds"] = [{"externalId": ext_id} for ext_id in asset_subtree_external_ids]
|
|
125
|
-
if data_set_external_ids:
|
|
126
|
-
filter_["dataSetIds"] = [{"externalId": ds_id} for ds_id in data_set_external_ids]
|
|
123
|
+
filter_: dict[str, Any] = filter.dump() if filter else {}
|
|
127
124
|
if directory_prefix is not None:
|
|
128
125
|
filter_["directoryPrefix"] = directory_prefix
|
|
129
126
|
if uploaded is not None:
|
|
130
127
|
filter_["uploaded"] = uploaded
|
|
131
128
|
|
|
132
|
-
return self.
|
|
129
|
+
return self._paginate(
|
|
133
130
|
cursor=cursor,
|
|
134
131
|
limit=limit,
|
|
135
132
|
body={"filter": filter_ or None},
|
|
136
133
|
)
|
|
137
134
|
|
|
135
|
+
def iterate(
|
|
136
|
+
self,
|
|
137
|
+
filter: ClassicFilter | None = None,
|
|
138
|
+
directory_prefix: str | None = None,
|
|
139
|
+
uploaded: bool | None = None,
|
|
140
|
+
limit: int | None = 100,
|
|
141
|
+
) -> Iterable[list[FileMetadataResponse]]:
|
|
142
|
+
"""Iterate over file metadata in CDF.
|
|
143
|
+
|
|
144
|
+
Args:
|
|
145
|
+
filter: Filter by data set IDs and/or asset subtree IDs.
|
|
146
|
+
directory_prefix: Filter by directory prefix.
|
|
147
|
+
uploaded: Filter by upload status.
|
|
148
|
+
limit: Maximum number of items to return per page.
|
|
149
|
+
|
|
150
|
+
Returns:
|
|
151
|
+
Iterable of lists of FileMetadataResponse objects.
|
|
152
|
+
"""
|
|
153
|
+
filter_: dict[str, Any] = filter.dump() if filter else {}
|
|
154
|
+
if directory_prefix is not None:
|
|
155
|
+
filter_["directoryPrefix"] = directory_prefix
|
|
156
|
+
if uploaded is not None:
|
|
157
|
+
filter_["uploaded"] = uploaded
|
|
158
|
+
|
|
159
|
+
return self._iterate(
|
|
160
|
+
limit=limit,
|
|
161
|
+
body={"filter": filter_ or None},
|
|
162
|
+
)
|
|
163
|
+
|
|
138
164
|
def list(
|
|
139
165
|
self,
|
|
140
166
|
limit: int | None = 100,
|