cognite-toolkit 0.7.30__py3-none-any.whl → 0.7.51__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.py +5 -6
- cognite_toolkit/_cdf_tk/apps/__init__.py +2 -0
- cognite_toolkit/_cdf_tk/apps/_core_app.py +7 -1
- cognite_toolkit/_cdf_tk/apps/_download_app.py +2 -2
- cognite_toolkit/_cdf_tk/apps/_dump_app.py +1 -1
- cognite_toolkit/_cdf_tk/apps/_import_app.py +41 -0
- cognite_toolkit/_cdf_tk/apps/_migrate_app.py +183 -8
- cognite_toolkit/_cdf_tk/builders/_function.py +81 -9
- cognite_toolkit/_cdf_tk/builders/_raw.py +1 -1
- cognite_toolkit/_cdf_tk/client/_resource_base.py +187 -0
- cognite_toolkit/_cdf_tk/client/_toolkit_client.py +44 -12
- cognite_toolkit/_cdf_tk/client/api/agents.py +107 -0
- cognite_toolkit/_cdf_tk/client/api/annotations.py +129 -0
- cognite_toolkit/_cdf_tk/client/api/assets.py +130 -0
- cognite_toolkit/_cdf_tk/client/api/containers.py +132 -0
- cognite_toolkit/_cdf_tk/client/api/data_models.py +137 -0
- cognite_toolkit/_cdf_tk/client/api/datasets.py +141 -0
- cognite_toolkit/_cdf_tk/client/api/events.py +129 -0
- cognite_toolkit/_cdf_tk/client/api/extraction_pipelines.py +148 -0
- cognite_toolkit/_cdf_tk/client/api/filemetadata.py +176 -0
- cognite_toolkit/_cdf_tk/client/api/function_schedules.py +115 -0
- cognite_toolkit/_cdf_tk/client/api/functions.py +113 -0
- cognite_toolkit/_cdf_tk/client/api/graphql_data_models.py +167 -0
- cognite_toolkit/_cdf_tk/client/api/groups.py +121 -0
- 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 +40 -35
- cognite_toolkit/_cdf_tk/client/api/instances.py +139 -0
- cognite_toolkit/_cdf_tk/client/api/labels.py +125 -0
- cognite_toolkit/_cdf_tk/client/api/{canvas.py → legacy/canvas.py} +16 -8
- cognite_toolkit/_cdf_tk/client/api/{charts.py → legacy/charts.py} +1 -1
- cognite_toolkit/_cdf_tk/client/api/{extended_data_modeling.py → legacy/extended_data_modeling.py} +1 -1
- cognite_toolkit/_cdf_tk/client/api/{extended_files.py → legacy/extended_files.py} +2 -2
- cognite_toolkit/_cdf_tk/client/api/{extended_functions.py → legacy/extended_functions.py} +9 -9
- cognite_toolkit/_cdf_tk/client/api/{extended_raw.py → legacy/extended_raw.py} +1 -1
- cognite_toolkit/_cdf_tk/client/api/{extended_timeseries.py → legacy/extended_timeseries.py} +5 -2
- cognite_toolkit/_cdf_tk/client/api/legacy/location_filters.py +112 -0
- cognite_toolkit/_cdf_tk/client/api/legacy/robotics/__init__.py +8 -0
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/capabilities.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/data_postprocessing.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/frames.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/locations.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/maps.py +1 -1
- cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/robots.py +2 -2
- cognite_toolkit/_cdf_tk/client/api/legacy/search_config.py +53 -0
- cognite_toolkit/_cdf_tk/client/api/location_filters.py +140 -75
- cognite_toolkit/_cdf_tk/client/api/migration.py +2 -3
- cognite_toolkit/_cdf_tk/client/api/project.py +9 -8
- cognite_toolkit/_cdf_tk/client/api/raw.py +204 -0
- cognite_toolkit/_cdf_tk/client/api/relationships.py +133 -0
- cognite_toolkit/_cdf_tk/client/api/robotics.py +19 -0
- cognite_toolkit/_cdf_tk/client/api/robotics_capabilities.py +127 -0
- cognite_toolkit/_cdf_tk/client/api/robotics_data_postprocessing.py +138 -0
- cognite_toolkit/_cdf_tk/client/api/robotics_frames.py +122 -0
- cognite_toolkit/_cdf_tk/client/api/robotics_locations.py +127 -0
- cognite_toolkit/_cdf_tk/client/api/robotics_maps.py +122 -0
- cognite_toolkit/_cdf_tk/client/api/robotics_robots.py +122 -0
- cognite_toolkit/_cdf_tk/client/api/search.py +2 -2
- cognite_toolkit/_cdf_tk/client/api/search_config.py +83 -31
- 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 +154 -0
- cognite_toolkit/_cdf_tk/client/api/simulators.py +8 -0
- cognite_toolkit/_cdf_tk/client/api/spaces.py +117 -0
- cognite_toolkit/_cdf_tk/client/api/streams.py +68 -56
- cognite_toolkit/_cdf_tk/client/api/three_d.py +385 -34
- cognite_toolkit/_cdf_tk/client/api/timeseries.py +137 -0
- 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/views.py +139 -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/__init__.py +10 -0
- cognite_toolkit/_cdf_tk/client/cdf_client/api.py +358 -0
- cognite_toolkit/_cdf_tk/client/cdf_client/responses.py +38 -0
- cognite_toolkit/_cdf_tk/{utils → client}/http_client/__init__.py +30 -0
- cognite_toolkit/_cdf_tk/{utils → client}/http_client/_client.py +26 -16
- cognite_toolkit/_cdf_tk/{utils → client}/http_client/_data_classes.py +18 -2
- cognite_toolkit/_cdf_tk/client/http_client/_data_classes2.py +151 -0
- cognite_toolkit/_cdf_tk/client/http_client/_exception.py +13 -0
- cognite_toolkit/_cdf_tk/client/http_client/_item_classes.py +118 -0
- cognite_toolkit/_cdf_tk/{utils → client}/http_client/_tracker.py +5 -2
- cognite_toolkit/_cdf_tk/client/request_classes/base.py +19 -0
- cognite_toolkit/_cdf_tk/client/request_classes/filters.py +113 -0
- cognite_toolkit/_cdf_tk/client/request_classes/graphql.py +28 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/__init__.py +0 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/agent.py +130 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/annotation.py +79 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/apm_config.py +128 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/asset.py +47 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/charts_data.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/cognite_file.py +53 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/__init__.py +168 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_constraints.py +37 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_container.py +50 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_data_model.py +73 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_data_types.py +116 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_indexes.py +26 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_instance.py +154 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_references.py +86 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_space.py +26 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_view.py +143 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_view_property.py +152 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/dataset.py +35 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/event.py +40 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/extraction_pipeline.py +59 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/filemetadata.py +52 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/function.py +53 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/function_schedule.py +65 -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 +63 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/group/scopes.py +166 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_destination.py +34 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_job.py +134 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_mapping.py +72 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/__init__.py +63 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_auth.py +63 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_base.py +26 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_certificate.py +20 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_eventhub.py +31 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_kafka.py +53 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_mqtt.py +36 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_rest.py +49 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/identifiers.py +59 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/infield.py +1 -1
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/instance_api.py +53 -14
- cognite_toolkit/_cdf_tk/client/resource_classes/label.py +27 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/legacy/__init__.py +0 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes/legacy}/canvas.py +48 -15
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes/legacy}/charts.py +1 -1
- cognite_toolkit/_cdf_tk/client/resource_classes/location_filter.py +84 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/raw.py +44 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/relationship.py +49 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/resource_view_mapping.py +38 -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 +65 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_robot.py +58 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/search_config.py +54 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/securitycategory.py +24 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/sequence.py +45 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/sequence_rows.py +56 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/simulator_model.py +50 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/streamlit_.py +71 -0
- cognite_toolkit/_cdf_tk/client/{data_classes → resource_classes}/streams.py +9 -26
- cognite_toolkit/_cdf_tk/client/resource_classes/three_d.py +135 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/timeseries.py +52 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/transformation.py +140 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/workflow.py +27 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/workflow_trigger.py +63 -0
- cognite_toolkit/_cdf_tk/client/resource_classes/workflow_version.py +155 -0
- cognite_toolkit/_cdf_tk/client/testing.py +54 -17
- cognite_toolkit/_cdf_tk/commands/__init__.py +1 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/command.py +103 -108
- cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +29 -16
- cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +38 -6
- cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +262 -36
- cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +1 -0
- cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +39 -38
- cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +227 -8
- cognite_toolkit/_cdf_tk/commands/_profile.py +1 -1
- cognite_toolkit/_cdf_tk/commands/_purge.py +14 -16
- cognite_toolkit/_cdf_tk/commands/_upload.py +1 -1
- cognite_toolkit/_cdf_tk/commands/build_cmd.py +12 -2
- cognite_toolkit/_cdf_tk/commands/build_v2/__init__.py +0 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/_module_parser.py +138 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/_modules_parser.py +163 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/build_cmd.py +228 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/build_parameters.py +71 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/data_classes/_modules.py +27 -0
- cognite_toolkit/_cdf_tk/commands/build_v2/data_classes/_resource.py +22 -0
- cognite_toolkit/_cdf_tk/commands/dump_resource.py +4 -4
- cognite_toolkit/_cdf_tk/commands/pull.py +97 -2
- cognite_toolkit/_cdf_tk/commands/run.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/__init__.py +16 -6
- cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +9 -5
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +2 -0
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +6 -2
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +70 -89
- 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 +34 -25
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +50 -59
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +14 -2
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +1 -1
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +4 -3
- 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 +5 -4
- 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 +15 -31
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +42 -47
- cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +49 -14
- cognite_toolkit/_cdf_tk/data_classes/__init__.py +3 -0
- cognite_toolkit/_cdf_tk/data_classes/_issues.py +36 -0
- cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +2 -1
- cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +1 -0
- cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +4 -0
- cognite_toolkit/_cdf_tk/feature_flags.py +8 -0
- cognite_toolkit/_cdf_tk/resource_classes/__init__.py +2 -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/resource_classes/simulator_model.py +17 -0
- cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +173 -5
- cognite_toolkit/_cdf_tk/storageio/_applications.py +53 -15
- cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +117 -107
- cognite_toolkit/_cdf_tk/storageio/_base.py +3 -1
- cognite_toolkit/_cdf_tk/storageio/_datapoints.py +7 -7
- cognite_toolkit/_cdf_tk/storageio/_file_content.py +65 -56
- cognite_toolkit/_cdf_tk/storageio/_instances.py +1 -1
- cognite_toolkit/_cdf_tk/storageio/_raw.py +1 -1
- cognite_toolkit/_cdf_tk/storageio/logger.py +162 -0
- cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +10 -1
- cognite_toolkit/_cdf_tk/storageio/selectors/_three_d.py +34 -0
- cognite_toolkit/_cdf_tk/tk_warnings/__init__.py +2 -0
- cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +20 -0
- cognite_toolkit/_cdf_tk/utils/__init__.py +11 -1
- cognite_toolkit/_cdf_tk/utils/cdf.py +1 -1
- cognite_toolkit/_cdf_tk/utils/interactive_select.py +53 -4
- cognite_toolkit/_cdf_tk/utils/modules.py +7 -0
- cognite_toolkit/_cdf_tk/utils/pip_validator.py +96 -0
- cognite_toolkit/_cdf_tk/utils/useful_types.py +4 -7
- cognite_toolkit/_cdf_tk/utils/useful_types2.py +14 -0
- cognite_toolkit/_cdf_tk/validation.py +4 -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.30.dist-info → cognite_toolkit-0.7.51.dist-info}/METADATA +13 -3
- cognite_toolkit-0.7.51.dist-info/RECORD +445 -0
- {cognite_toolkit-0.7.30.dist-info → cognite_toolkit-0.7.51.dist-info}/WHEEL +2 -2
- cognite_toolkit/_cdf_tk/client/api/robotics/__init__.py +0 -3
- cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +0 -17
- cognite_toolkit/_cdf_tk/client/data_classes/base.py +0 -87
- cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +0 -47
- cognite_toolkit/_cdf_tk/prototypes/import_app.py +0 -41
- cognite_toolkit/_cdf_tk/utils/http_client/_data_classes2.py +0 -187
- cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +0 -4
- cognite_toolkit-0.7.30.dist-info/RECORD +0 -316
- /cognite_toolkit/_cdf_tk/client/{data_classes → api/legacy}/__init__.py +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{dml.py → legacy/dml.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{fixed_transformations.py → legacy/fixed_transformations.py} +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/api.py +0 -0
- /cognite_toolkit/_cdf_tk/client/api/{robotics → legacy/robotics}/utlis.py +0 -0
- /cognite_toolkit/_cdf_tk/{prototypes/commands → client/request_classes}/__init__.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/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/{prototypes/commands/import_.py → commands/_import_cmd.py} +0 -0
- {cognite_toolkit-0.7.30.dist-info → cognite_toolkit-0.7.51.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"""Containers API for managing CDF data modeling containers.
|
|
2
|
+
|
|
3
|
+
Based on the API specification at:
|
|
4
|
+
https://api-docs.cognite.com/20230101/tag/Containers/operation/ApplyContainers
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from collections.abc import Iterable, Sequence
|
|
8
|
+
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, Endpoint, PagedResponse
|
|
10
|
+
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
|
|
11
|
+
from cognite_toolkit._cdf_tk.client.request_classes.filters import ContainerFilter
|
|
12
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.data_modeling import (
|
|
13
|
+
ContainerReference,
|
|
14
|
+
ContainerRequest,
|
|
15
|
+
ContainerResponse,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ContainersAPI(CDFResourceAPI[ContainerReference, ContainerRequest, ContainerResponse]):
|
|
20
|
+
"""API for managing CDF data modeling containers.
|
|
21
|
+
|
|
22
|
+
Containers use an apply/upsert pattern for create and update operations.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
26
|
+
super().__init__(
|
|
27
|
+
http_client=http_client,
|
|
28
|
+
method_endpoint_map={
|
|
29
|
+
"upsert": Endpoint(method="POST", path="/models/containers", item_limit=100),
|
|
30
|
+
"retrieve": Endpoint(method="POST", path="/models/containers/byids", item_limit=100),
|
|
31
|
+
"delete": Endpoint(method="POST", path="/models/containers/delete", item_limit=100),
|
|
32
|
+
"list": Endpoint(method="GET", path="/models/containers", item_limit=1000),
|
|
33
|
+
},
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
def _validate_page_response(
|
|
37
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
38
|
+
) -> PagedResponse[ContainerResponse]:
|
|
39
|
+
return PagedResponse[ContainerResponse].model_validate_json(response.body)
|
|
40
|
+
|
|
41
|
+
def create(self, items: Sequence[ContainerRequest]) -> list[ContainerResponse]:
|
|
42
|
+
"""Create (create or update) containers in CDF.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
items: List of ContainerRequest objects to apply.
|
|
46
|
+
|
|
47
|
+
Returns:
|
|
48
|
+
List of applied ContainerResponse objects.
|
|
49
|
+
"""
|
|
50
|
+
return self._request_item_response(items, "upsert")
|
|
51
|
+
|
|
52
|
+
def update(self, items: Sequence[ContainerRequest]) -> list[ContainerResponse]:
|
|
53
|
+
"""Update (create or update) containers in CDF.
|
|
54
|
+
|
|
55
|
+
Args:
|
|
56
|
+
items: List of ContainerRequest objects to apply.
|
|
57
|
+
Returns:
|
|
58
|
+
List of applied ContainerResponse objects.
|
|
59
|
+
"""
|
|
60
|
+
return self._request_item_response(items, "upsert")
|
|
61
|
+
|
|
62
|
+
def retrieve(self, items: Sequence[ContainerReference]) -> list[ContainerResponse]:
|
|
63
|
+
"""Retrieve containers from CDF.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
items: List of ContainerReference objects to retrieve.
|
|
67
|
+
|
|
68
|
+
Returns:
|
|
69
|
+
List of retrieved ContainerResponse objects.
|
|
70
|
+
"""
|
|
71
|
+
return self._request_item_response(items, method="retrieve")
|
|
72
|
+
|
|
73
|
+
def delete(self, items: Sequence[ContainerReference]) -> None:
|
|
74
|
+
"""Delete containers from CDF.
|
|
75
|
+
|
|
76
|
+
Args:
|
|
77
|
+
items: List of ContainerReference objects to delete.
|
|
78
|
+
"""
|
|
79
|
+
self._request_no_response(items, "delete")
|
|
80
|
+
|
|
81
|
+
def paginate(
|
|
82
|
+
self,
|
|
83
|
+
filter: ContainerFilter | None = None,
|
|
84
|
+
limit: int = 100,
|
|
85
|
+
cursor: str | None = None,
|
|
86
|
+
) -> PagedResponse[ContainerResponse]:
|
|
87
|
+
"""Get a page of containers from CDF.
|
|
88
|
+
|
|
89
|
+
Args:
|
|
90
|
+
filter: ContainerFilter to filter containers.
|
|
91
|
+
limit: Maximum number of containers to return.
|
|
92
|
+
cursor: Cursor for pagination.
|
|
93
|
+
|
|
94
|
+
Returns:
|
|
95
|
+
PagedResponse of ContainerResponse objects.
|
|
96
|
+
"""
|
|
97
|
+
return self._paginate(
|
|
98
|
+
cursor=cursor,
|
|
99
|
+
limit=limit,
|
|
100
|
+
params=filter.dump() if filter else None,
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
def iterate(
|
|
104
|
+
self,
|
|
105
|
+
filter: ContainerFilter | None = None,
|
|
106
|
+
limit: int | None = None,
|
|
107
|
+
) -> Iterable[list[ContainerResponse]]:
|
|
108
|
+
"""Iterate over all containers in CDF.
|
|
109
|
+
|
|
110
|
+
Args:
|
|
111
|
+
filter: ContainerFilter to filter containers.
|
|
112
|
+
limit: Maximum total number of containers to return.
|
|
113
|
+
|
|
114
|
+
Returns:
|
|
115
|
+
Iterable of lists of ContainerResponse objects.
|
|
116
|
+
"""
|
|
117
|
+
return self._iterate(
|
|
118
|
+
limit=limit,
|
|
119
|
+
params=filter.dump() if filter else None,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
def list(self, filter: ContainerFilter | None = None, limit: int | None = None) -> list[ContainerResponse]:
|
|
123
|
+
"""List all containers in CDF.
|
|
124
|
+
|
|
125
|
+
Args:
|
|
126
|
+
filter: ContainerFilter to filter containers.
|
|
127
|
+
limit: Maximum total number of containers to return.
|
|
128
|
+
|
|
129
|
+
Returns:
|
|
130
|
+
List of ContainerResponse objects.
|
|
131
|
+
"""
|
|
132
|
+
return self._list(limit=limit, params=filter.dump() if filter else None)
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"""Data Models API for managing CDF data models.
|
|
2
|
+
|
|
3
|
+
Based on the API specification at:
|
|
4
|
+
https://api-docs.cognite.com/20230101/tag/Data-models/operation/createDataModels
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from collections.abc import Iterable, Sequence
|
|
8
|
+
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.cdf_client import CDFResourceAPI, Endpoint, PagedResponse
|
|
10
|
+
from cognite_toolkit._cdf_tk.client.http_client import HTTPClient, ItemsSuccessResponse2, SuccessResponse2
|
|
11
|
+
from cognite_toolkit._cdf_tk.client.request_classes.filters import DataModelFilter
|
|
12
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.data_modeling import (
|
|
13
|
+
DataModelReference,
|
|
14
|
+
DataModelRequest,
|
|
15
|
+
DataModelResponse,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class DataModelsAPI(CDFResourceAPI[DataModelReference, DataModelRequest, DataModelResponse]):
|
|
20
|
+
"""API for managing CDF data models.
|
|
21
|
+
|
|
22
|
+
Data models use an apply/upsert pattern for create and update operations.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
26
|
+
super().__init__(
|
|
27
|
+
http_client=http_client,
|
|
28
|
+
method_endpoint_map={
|
|
29
|
+
"upsert": Endpoint(method="POST", path="/models/datamodels", item_limit=100),
|
|
30
|
+
"retrieve": Endpoint(method="POST", path="/models/datamodels/byids", item_limit=100),
|
|
31
|
+
"delete": Endpoint(method="POST", path="/models/datamodels/delete", item_limit=100),
|
|
32
|
+
"list": Endpoint(method="GET", path="/models/datamodels", item_limit=1000),
|
|
33
|
+
},
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
def _validate_page_response(
|
|
37
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
38
|
+
) -> PagedResponse[DataModelResponse]:
|
|
39
|
+
return PagedResponse[DataModelResponse].model_validate_json(response.body)
|
|
40
|
+
|
|
41
|
+
def create(self, items: Sequence[DataModelRequest]) -> list[DataModelResponse]:
|
|
42
|
+
"""Apply (create or update) data models in CDF.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
items: List of DataModelRequest objects to apply.
|
|
46
|
+
|
|
47
|
+
Returns:
|
|
48
|
+
List of applied DataModelResponse objects.
|
|
49
|
+
"""
|
|
50
|
+
return self._request_item_response(items, "upsert")
|
|
51
|
+
|
|
52
|
+
def update(self, items: Sequence[DataModelRequest]) -> list[DataModelResponse]:
|
|
53
|
+
"""Apply (create or update) data models in CDF.
|
|
54
|
+
|
|
55
|
+
Args:
|
|
56
|
+
items: List of DataModelRequest objects to apply.
|
|
57
|
+
Returns:
|
|
58
|
+
List of applied DataModelResponse objects.
|
|
59
|
+
"""
|
|
60
|
+
return self._request_item_response(items, "upsert")
|
|
61
|
+
|
|
62
|
+
def retrieve(self, items: Sequence[DataModelReference], inline_views: bool = False) -> list[DataModelResponse]:
|
|
63
|
+
"""Retrieve data models from CDF.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
items: List of DataModelReference objects to retrieve.
|
|
67
|
+
inline_views: Whether to include full view definitions in the response.
|
|
68
|
+
|
|
69
|
+
Returns:
|
|
70
|
+
List of retrieved DataModelResponse objects.
|
|
71
|
+
"""
|
|
72
|
+
return self._request_item_response(items, method="retrieve", extra_body={"inlineViews": inline_views})
|
|
73
|
+
|
|
74
|
+
def delete(self, items: Sequence[DataModelReference]) -> None:
|
|
75
|
+
"""Delete data models from CDF.
|
|
76
|
+
|
|
77
|
+
Args:
|
|
78
|
+
items: List of DataModelReference objects to delete.
|
|
79
|
+
"""
|
|
80
|
+
self._request_no_response(items, "delete")
|
|
81
|
+
|
|
82
|
+
def paginate(
|
|
83
|
+
self,
|
|
84
|
+
filter: DataModelFilter | None = None,
|
|
85
|
+
limit: int = 100,
|
|
86
|
+
cursor: str | None = None,
|
|
87
|
+
) -> PagedResponse[DataModelResponse]:
|
|
88
|
+
"""Get a page of data models from CDF.
|
|
89
|
+
|
|
90
|
+
Args:
|
|
91
|
+
filter: DataModelFilter to filter data models.
|
|
92
|
+
limit: Maximum number of data models to return.
|
|
93
|
+
cursor: Cursor for pagination.
|
|
94
|
+
|
|
95
|
+
Returns:
|
|
96
|
+
PagedResponse of DataModelResponse objects.
|
|
97
|
+
"""
|
|
98
|
+
return self._paginate(
|
|
99
|
+
cursor=cursor,
|
|
100
|
+
limit=limit,
|
|
101
|
+
params=filter.dump() if filter else None,
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
def iterate(
|
|
105
|
+
self,
|
|
106
|
+
filter: DataModelFilter | None = None,
|
|
107
|
+
limit: int | None = None,
|
|
108
|
+
) -> Iterable[list[DataModelResponse]]:
|
|
109
|
+
"""Iterate over all data models in CDF.
|
|
110
|
+
|
|
111
|
+
Args:
|
|
112
|
+
filter: DataModelFilter to filter data models.
|
|
113
|
+
limit: Maximum total number of data models to return.
|
|
114
|
+
|
|
115
|
+
Returns:
|
|
116
|
+
Iterable of lists of DataModelResponse objects.
|
|
117
|
+
"""
|
|
118
|
+
return self._iterate(
|
|
119
|
+
limit=limit,
|
|
120
|
+
params=filter.dump() if filter else None,
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
def list(
|
|
124
|
+
self,
|
|
125
|
+
filter: DataModelFilter | None = None,
|
|
126
|
+
limit: int | None = None,
|
|
127
|
+
) -> list[DataModelResponse]:
|
|
128
|
+
"""List all data models in CDF.
|
|
129
|
+
|
|
130
|
+
Args:
|
|
131
|
+
filter: DataModelFilter to filter data models.
|
|
132
|
+
limit: Maximum total number of data models to return.
|
|
133
|
+
|
|
134
|
+
Returns:
|
|
135
|
+
List of DataModelResponse objects.
|
|
136
|
+
"""
|
|
137
|
+
return self._list(limit=limit, params=filter.dump() if filter else None)
|
|
@@ -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)
|
|
@@ -0,0 +1,129 @@
|
|
|
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.event import EventRequest, EventResponse
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.resource_classes.identifiers import InternalOrExternalId
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class EventsAPI(CDFResourceAPI[InternalOrExternalId, EventRequest, EventResponse]):
|
|
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="/events", item_limit=1000, concurrency_max_workers=1),
|
|
18
|
+
"retrieve": Endpoint(method="POST", path="/events/byids", item_limit=1000, concurrency_max_workers=1),
|
|
19
|
+
"update": Endpoint(method="POST", path="/events/update", item_limit=1000, concurrency_max_workers=1),
|
|
20
|
+
"delete": Endpoint(method="POST", path="/events/delete", item_limit=1000, concurrency_max_workers=1),
|
|
21
|
+
"list": Endpoint(method="POST", path="/events/list", item_limit=1000),
|
|
22
|
+
},
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
def _validate_page_response(
|
|
26
|
+
self, response: SuccessResponse2 | ItemsSuccessResponse2
|
|
27
|
+
) -> PagedResponse[EventResponse]:
|
|
28
|
+
return PagedResponse[EventResponse].model_validate_json(response.body)
|
|
29
|
+
|
|
30
|
+
def _reference_response(self, response: SuccessResponse2) -> ResponseItems[InternalOrExternalId]:
|
|
31
|
+
return ResponseItems[InternalOrExternalId].model_validate_json(response.body)
|
|
32
|
+
|
|
33
|
+
def create(self, items: Sequence[EventRequest]) -> list[EventResponse]:
|
|
34
|
+
"""Create events in CDF.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
items: List of EventRequest objects to create.
|
|
38
|
+
Returns:
|
|
39
|
+
List of created EventResponse objects.
|
|
40
|
+
"""
|
|
41
|
+
return self._request_item_response(items, "create")
|
|
42
|
+
|
|
43
|
+
def retrieve(self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False) -> list[EventResponse]:
|
|
44
|
+
"""Retrieve events 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 EventResponse 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[EventRequest], mode: Literal["patch", "replace"] = "replace"
|
|
58
|
+
) -> list[EventResponse]:
|
|
59
|
+
"""Update events in CDF.
|
|
60
|
+
|
|
61
|
+
Args:
|
|
62
|
+
items: List of EventRequest objects to update.
|
|
63
|
+
mode: Update mode, either "patch" or "replace".
|
|
64
|
+
|
|
65
|
+
Returns:
|
|
66
|
+
List of updated EventResponse objects.
|
|
67
|
+
"""
|
|
68
|
+
return self._update(items, mode=mode)
|
|
69
|
+
|
|
70
|
+
def delete(self, items: Sequence[InternalOrExternalId], ignore_unknown_ids: bool = False) -> None:
|
|
71
|
+
"""Delete events from CDF.
|
|
72
|
+
|
|
73
|
+
Args:
|
|
74
|
+
items: List of InternalOrExternalId objects to delete.
|
|
75
|
+
ignore_unknown_ids: Whether to ignore unknown IDs.
|
|
76
|
+
"""
|
|
77
|
+
self._request_no_response(items, "delete", extra_body={"ignoreUnknownIds": ignore_unknown_ids})
|
|
78
|
+
|
|
79
|
+
def paginate(
|
|
80
|
+
self,
|
|
81
|
+
filter: ClassicFilter | None = None,
|
|
82
|
+
limit: int = 100,
|
|
83
|
+
cursor: str | None = None,
|
|
84
|
+
) -> PagedResponse[EventResponse]:
|
|
85
|
+
"""Iterate over all events in CDF.
|
|
86
|
+
|
|
87
|
+
Args:
|
|
88
|
+
filter: Filter by data set IDs and/or asset subtree IDs.
|
|
89
|
+
limit: Maximum number of items to return.
|
|
90
|
+
cursor: Cursor for pagination.
|
|
91
|
+
|
|
92
|
+
Returns:
|
|
93
|
+
PagedResponse of EventResponse objects.
|
|
94
|
+
"""
|
|
95
|
+
return self._paginate(
|
|
96
|
+
cursor=cursor,
|
|
97
|
+
limit=limit,
|
|
98
|
+
body={"filter": filter.dump() if filter else None},
|
|
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
|
+
"""
|
|
115
|
+
return self._iterate(
|
|
116
|
+
limit=limit,
|
|
117
|
+
body={"filter": filter.dump() if filter else None},
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
def list(
|
|
121
|
+
self,
|
|
122
|
+
limit: int | None = 100,
|
|
123
|
+
) -> list[EventResponse]:
|
|
124
|
+
"""List all events in CDF.
|
|
125
|
+
|
|
126
|
+
Returns:
|
|
127
|
+
List of EventResponse objects.
|
|
128
|
+
"""
|
|
129
|
+
return self._list(limit=limit)
|
|
@@ -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)
|