cognite-toolkit 0.7.48__tar.gz → 0.7.50__tar.gz
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-0.7.48 → cognite_toolkit-0.7.50}/PKG-INFO +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_function.py +81 -9
- cognite_toolkit-0.7.48/cognite_toolkit/_cdf_tk/client/resource_classes/base.py → cognite_toolkit-0.7.50/cognite_toolkit/_cdf_tk/client/_resource_base.py +24 -9
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/cdf_client/api.py +23 -24
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/http_client/__init__.py +5 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/http_client/_client.py +4 -2
- cognite_toolkit-0.7.50/cognite_toolkit/_cdf_tk/client/http_client/_data_classes2.py +118 -0
- cognite_toolkit-0.7.50/cognite_toolkit/_cdf_tk/client/http_client/_item_classes.py +118 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/agent.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/annotation.py +2 -2
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/apm_config.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/asset.py +2 -2
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/charts_data.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/cognite_file.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_constraints.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_container.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_data_model.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_data_types.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_indexes.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_instance.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_space.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_view.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_view_property.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/dataset.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/event.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/extraction_pipeline.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/filemetadata.py +2 -2
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/function.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/function_schedule.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/graphql_data_model.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/group/acls.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/group/capability.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/group/group.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/group/scopes.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_destination.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_job.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_mapping.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_auth.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_base.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_certificate.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_eventhub.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_kafka.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_mqtt.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/_rest.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/identifiers.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/infield.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/instance_api.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/label.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/location_filter.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/raw.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/relationship.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/resource_view_mapping.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_capability.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_common.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_data_post_processing.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_frame.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_location.py +2 -2
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_map.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/_robot.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/search_config.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/securitycategory.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/sequence.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/sequence_rows.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/simulator_model.py +2 -2
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/streamlit_.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/streams.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/three_d.py +9 -2
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/timeseries.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/transformation.py +3 -3
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/workflow.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/workflow_trigger.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/workflow_version.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/command.py +103 -108
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +6 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +115 -37
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +21 -38
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +3 -5
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_cmd.py +11 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +4 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/feature_flags.py +4 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/logger.py +0 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/tk_warnings/__init__.py +2 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +20 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/__init__.py +3 -0
- cognite_toolkit-0.7.50/cognite_toolkit/_cdf_tk/utils/pip_validator.py +96 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_resources/cdf.toml +1 -1
- cognite_toolkit-0.7.50/cognite_toolkit/_version.py +1 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/pyproject.toml +1 -1
- cognite_toolkit-0.7.48/cognite_toolkit/_cdf_tk/client/http_client/_data_classes2.py +0 -223
- cognite_toolkit-0.7.48/cognite_toolkit/_version.py +0 -1
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/README.md +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_auth_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_core_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_data_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_dev_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_download_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_dump_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_import_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_landing_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_migrate_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_modules_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_profile_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_purge.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_repo_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_run.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/apps/_upload_app.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_datamodels.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_file.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_location.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_raw.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_streamlit.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_transformation.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cdf_toml.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/_constants.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/_toolkit_client.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/agents.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/annotations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/assets.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/containers.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/data_models.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/datasets.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/events.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/extraction_pipelines.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/filemetadata.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/function_schedules.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/functions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/graphql_data_models.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/groups.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/hosted_extractor_destinations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/hosted_extractor_jobs.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/hosted_extractor_mappings.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/hosted_extractor_sources.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/hosted_extractors.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/infield.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/instances.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/labels.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/canvas.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/charts.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/dml.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/extended_data_modeling.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/extended_files.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/extended_functions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/extended_raw.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/extended_timeseries.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/fixed_transformations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/location_filters.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/api.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/capabilities.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/data_postprocessing.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/frames.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/locations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/maps.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/robots.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/robotics/utlis.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/legacy/search_config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/location_filters.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/lookup.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/migration.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/project.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/raw.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/relationships.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/robotics.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/robotics_capabilities.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/robotics_data_postprocessing.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/robotics_frames.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/robotics_locations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/robotics_maps.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/robotics_robots.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/search.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/search_config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/security_categories.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/sequences.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/simulator_models.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/simulators.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/spaces.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/streams.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/three_d.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/timeseries.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/token.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/transformations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/verify.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/views.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/workflow_triggers.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/workflow_versions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api/workflows.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/api_client.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/cdf_client/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/cdf_client/responses.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/http_client/_data_classes.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/http_client/_exception.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/http_client/_tracker.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/request_classes/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/request_classes/base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/request_classes/filters.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/request_classes/graphql.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/capabilities.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/data_modeling/_references.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/group/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/group/_constants.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/hosted_extractor_source/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/apm_config_v1.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/canvas.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/charts.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/extendable_cognite_file.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/extended_filemetadata.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/extended_filemetdata.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/extended_timeseries.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/functions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/graphql_data_models.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/instances.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/location_filters.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/migration.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/pending_instances_ids.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/project.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/raw.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/robotics.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/search_config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/sequences.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/legacy/streamlit_.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/resource_classes/robotics/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/testing.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/utils/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/utils/_concurrency.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/utils/_http_client.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_changes.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_cli_commands.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_download.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_import_cmd.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_profile.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_purge.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_questionary_style.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_upload.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_utils.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/_virtual_env.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/about.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/auth.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_v2/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_v2/_module_parser.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_v2/_modules_parser.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_v2/build_cmd.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_v2/build_parameters.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_v2/data_classes/_modules.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/build_v2/data_classes/_resource.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/clean.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/collect.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/deploy.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/dump_resource.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/init.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/modules.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/pull.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/repo.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/resources.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/commands/run.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/constants.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_base_cruds.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/agent.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_organization.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/group_scoped.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/hosted_extractors.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/relationship.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/simulators.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/three_d_model.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/workflow.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/cruds/_worker.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_build_files.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_build_variables.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_built_modules.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_built_resources.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_config_yaml.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_deploy_results.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_issues.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_module_resources.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_packages.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/data_classes/_yaml_comments.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/exceptions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/hints.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/plugins.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/protocols.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/agent.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/asset.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/authentication.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/cognitefile.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/containers.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/data_model.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/datapoint_subscription.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/dataset.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/event.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline_config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/filemetadata.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/function_schedule.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/functions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/graphql_model.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/groups.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_destination.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_job.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_mapping.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_source.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/infield_cdm_location_config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/infield_location_config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/infield_v1.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/instance.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/labels.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/location.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/migration.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/raw_database_table.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/relationship.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/robotics/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/robotics/capability.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/robotics/data_postprocessing.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/robotics/frame.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/robotics/location.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/robotics/map.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/search_config.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/securitycategories.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/sequence.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/simulator_model.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/space.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/streamlit_.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/streams.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/threedmodels.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/timeseries.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/transformation_destination.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/transformation_notification.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/transformation_schedule.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/transformations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/views.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/workflow.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/workflow_trigger.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_annotations.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_applications.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_data_classes.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_datapoints.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_file_content.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_instances.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/_raw.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/storageio/selectors/_three_d.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/tk_warnings/base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/tk_warnings/other.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/tracker.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/_auxiliary.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/aggregators.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/auth.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/auxiliary.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/cdf.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/cicd.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/cli_args.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/collection.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/diff_list.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/dtype_conversion.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/file.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/fileio/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/fileio/_base.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/fileio/_compression.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/fileio/_readers.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/fileio/_writers.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/graphql_parser.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/hashing.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/interactive_select.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/modules.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/producer_worker.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/progress_tracker.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/repository.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/sentry_utils.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/sql_parser.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/text.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/thread_safe_dict.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/useful_types.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/useful_types2.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/utils/validate_access.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/validation.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_repo_files/.env.tmpl +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_repo_files/.gitignore +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/config.dev.yaml +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/demo/__init__.py +0 -0
- {cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/demo/_base.py +0 -0
{cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/builders/_function.py
RENAMED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import shutil
|
|
2
|
+
import time
|
|
2
3
|
from collections.abc import Callable, Iterable, Sequence
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import Any
|
|
3
6
|
|
|
4
7
|
from cognite_toolkit._cdf_tk.builders import Builder
|
|
5
8
|
from cognite_toolkit._cdf_tk.cruds import FunctionCRUD
|
|
@@ -10,21 +13,74 @@ from cognite_toolkit._cdf_tk.data_classes import (
|
|
|
10
13
|
ModuleLocation,
|
|
11
14
|
)
|
|
12
15
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitFileExistsError, ToolkitNotADirectoryError, ToolkitValueError
|
|
16
|
+
from cognite_toolkit._cdf_tk.feature_flags import Flags
|
|
13
17
|
from cognite_toolkit._cdf_tk.tk_warnings import (
|
|
14
18
|
FileReadWarning,
|
|
19
|
+
FunctionRequirementsValidationWarning,
|
|
15
20
|
HighSeverityWarning,
|
|
16
21
|
LowSeverityWarning,
|
|
17
22
|
MediumSeverityWarning,
|
|
18
23
|
ToolkitWarning,
|
|
19
24
|
WarningList,
|
|
20
25
|
)
|
|
26
|
+
from cognite_toolkit._cdf_tk.utils import validate_requirements_with_pip
|
|
27
|
+
|
|
28
|
+
# Maximum number of error lines to display in warnings
|
|
29
|
+
_MAX_ERROR_LINES = 3
|
|
21
30
|
|
|
22
31
|
|
|
23
32
|
class FunctionBuilder(Builder):
|
|
24
33
|
_resource_folder = FunctionCRUD.folder_name
|
|
25
34
|
|
|
35
|
+
def __init__(self, build_dir: Path, warn: Callable[[ToolkitWarning], None]) -> None:
|
|
36
|
+
super().__init__(build_dir, warn=warn)
|
|
37
|
+
# Metrics for telemetry
|
|
38
|
+
self.validation_count = 0
|
|
39
|
+
self.validation_failures = 0
|
|
40
|
+
self.validation_credential_errors = 0
|
|
41
|
+
self.validation_time_ms = 0
|
|
42
|
+
|
|
43
|
+
def _validate_function_requirements(
|
|
44
|
+
self,
|
|
45
|
+
requirements_txt: Path,
|
|
46
|
+
raw_function: dict[str, Any],
|
|
47
|
+
filepath: Path,
|
|
48
|
+
external_id: str,
|
|
49
|
+
) -> FunctionRequirementsValidationWarning | None:
|
|
50
|
+
"""Validate function requirements.txt using pip dry-run."""
|
|
51
|
+
start_time = time.time()
|
|
52
|
+
validation_result = validate_requirements_with_pip(
|
|
53
|
+
requirements_txt_path=requirements_txt,
|
|
54
|
+
index_url=raw_function.get("indexUrl"),
|
|
55
|
+
extra_index_urls=raw_function.get("extraIndexUrls"),
|
|
56
|
+
)
|
|
57
|
+
elapsed_ms = int((time.time() - start_time) * 1000)
|
|
58
|
+
self.validation_count += 1
|
|
59
|
+
self.validation_time_ms += elapsed_ms
|
|
60
|
+
|
|
61
|
+
if validation_result.success:
|
|
62
|
+
return None
|
|
63
|
+
|
|
64
|
+
self.validation_failures += 1
|
|
65
|
+
if validation_result.is_credential_error:
|
|
66
|
+
self.validation_credential_errors += 1
|
|
67
|
+
|
|
68
|
+
error_detail = validation_result.error_message or "Unknown error"
|
|
69
|
+
relevant_lines = [line for line in error_detail.strip().split("\n") if line.strip()][-_MAX_ERROR_LINES:]
|
|
70
|
+
error_detail = "\n ".join(relevant_lines)
|
|
71
|
+
|
|
72
|
+
return FunctionRequirementsValidationWarning(
|
|
73
|
+
filepath=filepath,
|
|
74
|
+
function_external_id=external_id,
|
|
75
|
+
error_details=error_detail,
|
|
76
|
+
is_credential_error=validation_result.is_credential_error,
|
|
77
|
+
)
|
|
78
|
+
|
|
26
79
|
def build(
|
|
27
|
-
self,
|
|
80
|
+
self,
|
|
81
|
+
source_files: list[BuildSourceFile],
|
|
82
|
+
module: ModuleLocation,
|
|
83
|
+
console: Callable[[str], None] | None = None,
|
|
28
84
|
) -> Iterable[BuildDestinationFile | Sequence[ToolkitWarning]]:
|
|
29
85
|
for source_file in source_files:
|
|
30
86
|
if source_file.loaded is None:
|
|
@@ -55,7 +111,9 @@ class FunctionBuilder(Builder):
|
|
|
55
111
|
)
|
|
56
112
|
|
|
57
113
|
def validate_directory(
|
|
58
|
-
self,
|
|
114
|
+
self,
|
|
115
|
+
built_resources: BuiltResourceList,
|
|
116
|
+
module: ModuleLocation,
|
|
59
117
|
) -> WarningList[ToolkitWarning]:
|
|
60
118
|
warnings = WarningList[ToolkitWarning]()
|
|
61
119
|
has_config_files = any(resource.kind == FunctionCRUD.kind for resource in built_resources)
|
|
@@ -74,7 +132,7 @@ class FunctionBuilder(Builder):
|
|
|
74
132
|
f"was not found in {required_location.as_posix()!r}. "
|
|
75
133
|
f"The file {yaml_source_path.as_posix()!r} is currently "
|
|
76
134
|
f"considered part of the Function's artifacts and "
|
|
77
|
-
f"will not be processed by the Toolkit."
|
|
135
|
+
f"will not be processed by the Toolkit.",
|
|
78
136
|
)
|
|
79
137
|
warnings.append(warning)
|
|
80
138
|
return warnings
|
|
@@ -93,28 +151,42 @@ class FunctionBuilder(Builder):
|
|
|
93
151
|
warnings.append(
|
|
94
152
|
HighSeverityWarning(
|
|
95
153
|
f"Function in {source_file.source.path.as_posix()!r} has no externalId defined. "
|
|
96
|
-
f"This is used to match the function to the function directory."
|
|
97
|
-
)
|
|
154
|
+
f"This is used to match the function to the function directory.",
|
|
155
|
+
),
|
|
98
156
|
)
|
|
99
157
|
continue
|
|
100
158
|
if not function_path:
|
|
101
159
|
warnings.append(
|
|
102
160
|
MediumSeverityWarning(
|
|
103
|
-
f"Function {external_id} in {source_file.source.path.as_posix()!r} has no function_path defined."
|
|
104
|
-
)
|
|
161
|
+
f"Function {external_id} in {source_file.source.path.as_posix()!r} has no function_path defined.",
|
|
162
|
+
),
|
|
105
163
|
)
|
|
106
164
|
|
|
107
165
|
function_directory = source_file.source.path.with_name(external_id)
|
|
108
166
|
|
|
109
167
|
if not function_directory.is_dir():
|
|
110
168
|
raise ToolkitNotADirectoryError(
|
|
111
|
-
f"Function directory not found for externalId {external_id} defined in {source_file.source.path.as_posix()!r}."
|
|
169
|
+
f"Function directory not found for externalId {external_id} defined in {source_file.source.path.as_posix()!r}.",
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
# Validate requirements.txt if present and feature is enabled
|
|
173
|
+
if (
|
|
174
|
+
Flags.FUNCTION_REQUIREMENTS_VALIDATION.is_enabled()
|
|
175
|
+
and (requirements_txt := function_directory / "requirements.txt").exists()
|
|
176
|
+
):
|
|
177
|
+
warning = self._validate_function_requirements(
|
|
178
|
+
requirements_txt,
|
|
179
|
+
raw_function,
|
|
180
|
+
source_file.source.path,
|
|
181
|
+
external_id,
|
|
112
182
|
)
|
|
183
|
+
if warning:
|
|
184
|
+
warnings.append(warning)
|
|
113
185
|
|
|
114
186
|
destination = self.build_dir / self.resource_folder / external_id
|
|
115
187
|
if destination.exists():
|
|
116
188
|
raise ToolkitFileExistsError(
|
|
117
|
-
f"Function {external_id!r} is duplicated. If this is unexpected, ensure you have a clean build directory."
|
|
189
|
+
f"Function {external_id!r} is duplicated. If this is unexpected, ensure you have a clean build directory.",
|
|
118
190
|
)
|
|
119
191
|
shutil.copytree(function_directory, destination, ignore=shutil.ignore_patterns("__pycache__"))
|
|
120
192
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"""Base classes for Cognite Client resources and identifiers."""
|
|
2
|
+
|
|
1
3
|
import sys
|
|
2
4
|
import types
|
|
3
5
|
from abc import ABC, abstractmethod
|
|
@@ -43,11 +45,25 @@ class BaseModelObject(BaseModel):
|
|
|
43
45
|
return cls.model_validate(resource, by_alias=True)
|
|
44
46
|
|
|
45
47
|
|
|
46
|
-
class
|
|
48
|
+
class RequestItem(BaseModelObject, ABC):
|
|
49
|
+
"""A request item is any object that can be sent to the CDF API as part of a request."""
|
|
50
|
+
|
|
51
|
+
def __str__(self) -> str:
|
|
52
|
+
"""All request items must implement a string representation.
|
|
53
|
+
|
|
54
|
+
This is used to identify the item in error messages and logs.
|
|
55
|
+
"""
|
|
56
|
+
raise NotImplementedError()
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
T_RequestItem = TypeVar("T_RequestItem", bound=RequestItem)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class Identifier(RequestItem):
|
|
47
63
|
"""Base class for all identifier objects typically
|
|
48
|
-
{"externalId": "..."}, {"id": ...}, {"space": "...", "externalId: }."""
|
|
64
|
+
{"externalId": "..."}, {"id": ...}, {"space": "...", "externalId: "..."}."""
|
|
49
65
|
|
|
50
|
-
model_config = ConfigDict(alias_generator=to_camel, extra="ignore",
|
|
66
|
+
model_config = ConfigDict(alias_generator=to_camel, extra="ignore", frozen=True)
|
|
51
67
|
|
|
52
68
|
def dump(self, camel_case: bool = True, exclude_extra: bool = False) -> dict[str, Any]:
|
|
53
69
|
"""Dump the resource to a dictionary.
|
|
@@ -56,14 +72,11 @@ class Identifier(BaseModelObject):
|
|
|
56
72
|
"""
|
|
57
73
|
return self.model_dump(mode="json", by_alias=camel_case, exclude_unset=True)
|
|
58
74
|
|
|
59
|
-
def __str__(self) -> str:
|
|
60
|
-
raise NotImplementedError()
|
|
61
|
-
|
|
62
75
|
|
|
63
76
|
T_Identifier = TypeVar("T_Identifier", bound=Identifier)
|
|
64
77
|
|
|
65
78
|
|
|
66
|
-
class RequestResource(
|
|
79
|
+
class RequestResource(RequestItem, ABC):
|
|
67
80
|
@abstractmethod
|
|
68
81
|
def as_id(self) -> Identifier:
|
|
69
82
|
raise NotImplementedError()
|
|
@@ -75,7 +88,7 @@ class RequestResource(BaseModelObject, ABC):
|
|
|
75
88
|
T_RequestResource = TypeVar("T_RequestResource", bound=RequestResource)
|
|
76
89
|
|
|
77
90
|
|
|
78
|
-
class
|
|
91
|
+
class UpdatableRequestResource(RequestResource, ABC):
|
|
79
92
|
container_fields: ClassVar[frozenset[str]] = frozenset()
|
|
80
93
|
non_nullable_fields: ClassVar[frozenset[str]] = frozenset()
|
|
81
94
|
|
|
@@ -144,6 +157,8 @@ class ResponseResource(BaseModelObject, Generic[T_RequestResource], ABC):
|
|
|
144
157
|
"""Convert the response resource to a request resource."""
|
|
145
158
|
raise NotImplementedError()
|
|
146
159
|
|
|
160
|
+
# Todo remove when CogniteClient data classes are completely removed from the codebase
|
|
161
|
+
# and we only use the pydantic resource classes instead.from
|
|
147
162
|
def as_write(self) -> T_RequestResource:
|
|
148
163
|
"""Alias for as_request_resource to match protocol signature."""
|
|
149
164
|
return self.as_request_resource()
|
|
@@ -151,10 +166,10 @@ class ResponseResource(BaseModelObject, Generic[T_RequestResource], ABC):
|
|
|
151
166
|
|
|
152
167
|
T_ResponseResource = TypeVar("T_ResponseResource", bound=ResponseResource)
|
|
153
168
|
|
|
169
|
+
# Todo: Delete this class and use list[T_Resource] directly
|
|
154
170
|
T_Resource = TypeVar("T_Resource", bound=RequestResource | ResponseResource)
|
|
155
171
|
|
|
156
172
|
|
|
157
|
-
# Todo: Delete this class and use list[T_Resource] directly
|
|
158
173
|
class BaseResourceList(UserList[T_Resource]):
|
|
159
174
|
"""Base class for resource lists."""
|
|
160
175
|
|
{cognite_toolkit-0.7.48 → cognite_toolkit-0.7.50}/cognite_toolkit/_cdf_tk/client/cdf_client/api.py
RENAMED
|
@@ -9,10 +9,17 @@ from collections import defaultdict
|
|
|
9
9
|
from collections.abc import Callable, Iterable, Sequence
|
|
10
10
|
from dataclasses import dataclass
|
|
11
11
|
from functools import partial
|
|
12
|
-
from typing import Any, Generic, Literal, TypeAlias
|
|
12
|
+
from typing import Any, Generic, Literal, TypeAlias
|
|
13
13
|
|
|
14
|
-
from pydantic import
|
|
14
|
+
from pydantic import JsonValue
|
|
15
15
|
|
|
16
|
+
from cognite_toolkit._cdf_tk.client._resource_base import (
|
|
17
|
+
RequestItem,
|
|
18
|
+
T_Identifier,
|
|
19
|
+
T_RequestResource,
|
|
20
|
+
T_ResponseResource,
|
|
21
|
+
UpdatableRequestResource,
|
|
22
|
+
)
|
|
16
23
|
from cognite_toolkit._cdf_tk.client.http_client import (
|
|
17
24
|
HTTPClient,
|
|
18
25
|
ItemsRequest2,
|
|
@@ -20,18 +27,10 @@ from cognite_toolkit._cdf_tk.client.http_client import (
|
|
|
20
27
|
RequestMessage2,
|
|
21
28
|
SuccessResponse2,
|
|
22
29
|
)
|
|
23
|
-
from cognite_toolkit._cdf_tk.client.resource_classes.base import (
|
|
24
|
-
RequestUpdateable,
|
|
25
|
-
T_Identifier,
|
|
26
|
-
T_RequestResource,
|
|
27
|
-
T_ResponseResource,
|
|
28
|
-
)
|
|
29
30
|
from cognite_toolkit._cdf_tk.utils.collection import chunker_sequence
|
|
30
31
|
|
|
31
32
|
from .responses import PagedResponse
|
|
32
33
|
|
|
33
|
-
_T_BaseModel = TypeVar("_T_BaseModel", bound=BaseModel)
|
|
34
|
-
|
|
35
34
|
|
|
36
35
|
@dataclass(frozen=True)
|
|
37
36
|
class Endpoint:
|
|
@@ -67,13 +66,13 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
67
66
|
self._disable_gzip = disable_gzip
|
|
68
67
|
|
|
69
68
|
@classmethod
|
|
70
|
-
def _serialize_items(cls, items: Sequence[
|
|
69
|
+
def _serialize_items(cls, items: Sequence[RequestItem]) -> list[dict[str, JsonValue]]:
|
|
71
70
|
"""Serialize reference objects to JSON-compatible dicts."""
|
|
72
|
-
return [item.
|
|
71
|
+
return [item.dump() for item in items]
|
|
73
72
|
|
|
74
73
|
@classmethod
|
|
75
74
|
def _serialize_updates(
|
|
76
|
-
cls, items: Sequence[
|
|
75
|
+
cls, items: Sequence[UpdatableRequestResource], mode: Literal["patch", "replace"]
|
|
77
76
|
) -> list[dict[str, JsonValue]]:
|
|
78
77
|
"""Serialize updateable objects to JSON-compatible dicts."""
|
|
79
78
|
return [item.as_update(mode=mode) for item in items]
|
|
@@ -90,7 +89,7 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
90
89
|
return self._http_client.config.create_api_url(path)
|
|
91
90
|
|
|
92
91
|
def _update(
|
|
93
|
-
self, items: Sequence[
|
|
92
|
+
self, items: Sequence[UpdatableRequestResource], mode: Literal["patch", "replace"]
|
|
94
93
|
) -> list[T_ResponseResource]:
|
|
95
94
|
"""Update resources in chunks."""
|
|
96
95
|
response_items: list[T_ResponseResource] = []
|
|
@@ -102,7 +101,7 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
102
101
|
|
|
103
102
|
def _request_item_response(
|
|
104
103
|
self,
|
|
105
|
-
items: Sequence[
|
|
104
|
+
items: Sequence[RequestItem],
|
|
106
105
|
method: APIMethod,
|
|
107
106
|
params: dict[str, Any] | None = None,
|
|
108
107
|
extra_body: dict[str, Any] | None = None,
|
|
@@ -115,7 +114,7 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
115
114
|
|
|
116
115
|
def _request_no_response(
|
|
117
116
|
self,
|
|
118
|
-
items: Sequence[
|
|
117
|
+
items: Sequence[RequestItem],
|
|
119
118
|
method: APIMethod,
|
|
120
119
|
params: dict[str, Any] | None = None,
|
|
121
120
|
extra_body: dict[str, Any] | None = None,
|
|
@@ -126,9 +125,9 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
126
125
|
|
|
127
126
|
def _chunk_requests(
|
|
128
127
|
self,
|
|
129
|
-
items: Sequence[
|
|
128
|
+
items: Sequence[RequestItem],
|
|
130
129
|
method: APIMethod,
|
|
131
|
-
serialization: Callable[[Sequence[
|
|
130
|
+
serialization: Callable[[Sequence[RequestItem]], list[dict[str, JsonValue]]],
|
|
132
131
|
params: dict[str, Any] | None = None,
|
|
133
132
|
extra_body: dict[str, Any] | None = None,
|
|
134
133
|
endpoint_path: str | None = None,
|
|
@@ -163,7 +162,7 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
163
162
|
|
|
164
163
|
def _request_item_split_retries(
|
|
165
164
|
self,
|
|
166
|
-
items: Sequence[
|
|
165
|
+
items: Sequence[RequestItem],
|
|
167
166
|
method: APIMethod,
|
|
168
167
|
params: dict[str, Any] | None = None,
|
|
169
168
|
extra_body: dict[str, Any] | None = None,
|
|
@@ -188,7 +187,7 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
188
187
|
|
|
189
188
|
def _request_item_split_retries_no_response(
|
|
190
189
|
self,
|
|
191
|
-
items: Sequence[
|
|
190
|
+
items: Sequence[RequestItem],
|
|
192
191
|
method: APIMethod,
|
|
193
192
|
params: dict[str, Any] | None = None,
|
|
194
193
|
extra_body: dict[str, Any] | None = None,
|
|
@@ -209,7 +208,7 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
209
208
|
|
|
210
209
|
def _chunk_requests_items_split_retries(
|
|
211
210
|
self,
|
|
212
|
-
items: Sequence[
|
|
211
|
+
items: Sequence[RequestItem],
|
|
213
212
|
method: APIMethod,
|
|
214
213
|
params: dict[str, Any] | None = None,
|
|
215
214
|
extra_body: dict[str, Any] | None = None,
|
|
@@ -258,10 +257,10 @@ class CDFResourceAPI(Generic[T_Identifier, T_RequestResource, T_ResponseResource
|
|
|
258
257
|
|
|
259
258
|
@classmethod
|
|
260
259
|
def _group_items_by_text_field(
|
|
261
|
-
cls, items: Sequence[
|
|
262
|
-
) -> dict[tuple[str, ...], list[
|
|
260
|
+
cls, items: Sequence[RequestItem], *field_names: str
|
|
261
|
+
) -> dict[tuple[str, ...], list[RequestItem]]:
|
|
263
262
|
"""Group items by a text field."""
|
|
264
|
-
grouped_items: dict[tuple[str, ...], list[
|
|
263
|
+
grouped_items: dict[tuple[str, ...], list[RequestItem]] = defaultdict(list)
|
|
265
264
|
for item in items:
|
|
266
265
|
key = tuple(str(getattr(item, field_name)) for field_name in field_names)
|
|
267
266
|
grouped_items[key].append(item)
|
|
@@ -24,15 +24,17 @@ from ._data_classes2 import (
|
|
|
24
24
|
FailedRequest2,
|
|
25
25
|
FailedResponse2,
|
|
26
26
|
HTTPResult2,
|
|
27
|
+
RequestMessage2,
|
|
28
|
+
SuccessResponse2,
|
|
29
|
+
)
|
|
30
|
+
from ._exception import ToolkitAPIError
|
|
31
|
+
from ._item_classes import (
|
|
27
32
|
ItemsFailedRequest2,
|
|
28
33
|
ItemsFailedResponse2,
|
|
29
34
|
ItemsRequest2,
|
|
30
35
|
ItemsResultMessage2,
|
|
31
36
|
ItemsSuccessResponse2,
|
|
32
|
-
RequestMessage2,
|
|
33
|
-
SuccessResponse2,
|
|
34
37
|
)
|
|
35
|
-
from ._exception import ToolkitAPIError
|
|
36
38
|
|
|
37
39
|
__all__ = [
|
|
38
40
|
"T_COVARIANT_ID",
|
|
@@ -27,14 +27,16 @@ from cognite_toolkit._cdf_tk.client.http_client._data_classes2 import (
|
|
|
27
27
|
FailedRequest2,
|
|
28
28
|
FailedResponse2,
|
|
29
29
|
HTTPResult2,
|
|
30
|
+
RequestMessage2,
|
|
31
|
+
SuccessResponse2,
|
|
32
|
+
)
|
|
33
|
+
from cognite_toolkit._cdf_tk.client.http_client._item_classes import (
|
|
30
34
|
ItemsFailedRequest2,
|
|
31
35
|
ItemsFailedResponse2,
|
|
32
36
|
ItemsRequest2,
|
|
33
37
|
ItemsResultList,
|
|
34
38
|
ItemsResultMessage2,
|
|
35
39
|
ItemsSuccessResponse2,
|
|
36
|
-
RequestMessage2,
|
|
37
|
-
SuccessResponse2,
|
|
38
40
|
)
|
|
39
41
|
from cognite_toolkit._cdf_tk.tk_warnings import HighSeverityWarning
|
|
40
42
|
from cognite_toolkit._cdf_tk.utils.auxiliary import get_current_toolkit_version, get_user_agent
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import gzip
|
|
2
|
+
from abc import ABC, abstractmethod
|
|
3
|
+
from typing import Any, Literal
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
from cognite.client import global_config
|
|
7
|
+
from pydantic import BaseModel, JsonValue, TypeAdapter, model_validator
|
|
8
|
+
|
|
9
|
+
from cognite_toolkit._cdf_tk.client.http_client._exception import ToolkitAPIError
|
|
10
|
+
from cognite_toolkit._cdf_tk.utils.useful_types import PrimitiveType
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class HTTPResult2(BaseModel):
|
|
14
|
+
def get_success_or_raise(self) -> "SuccessResponse2":
|
|
15
|
+
"""Raises an exception if any response in the list indicates a failure."""
|
|
16
|
+
if isinstance(self, SuccessResponse2):
|
|
17
|
+
return self
|
|
18
|
+
elif isinstance(self, FailedResponse2):
|
|
19
|
+
raise ToolkitAPIError(
|
|
20
|
+
f"Request failed with status code {self.status_code}: {self.error.message}",
|
|
21
|
+
missing=self.error.missing, # type: ignore[arg-type]
|
|
22
|
+
duplicated=self.error.duplicated, # type: ignore[arg-type]
|
|
23
|
+
)
|
|
24
|
+
elif isinstance(self, FailedRequest2):
|
|
25
|
+
raise ToolkitAPIError(f"Request failed with error: {self.error}")
|
|
26
|
+
else:
|
|
27
|
+
raise ToolkitAPIError("Unknown HTTPResult2 type")
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class FailedRequest2(HTTPResult2):
|
|
31
|
+
error: str
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class SuccessResponse2(HTTPResult2):
|
|
35
|
+
status_code: int
|
|
36
|
+
body: str
|
|
37
|
+
content: bytes
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
def body_json(self) -> dict[str, Any]:
|
|
41
|
+
"""Parse the response body as JSON."""
|
|
42
|
+
return TypeAdapter(dict[str, JsonValue]).validate_json(self.body)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ErrorDetails2(BaseModel):
|
|
46
|
+
"""This is the expected structure of error details in the CDF API"""
|
|
47
|
+
|
|
48
|
+
code: int
|
|
49
|
+
message: str
|
|
50
|
+
missing: list[JsonValue] | None = None
|
|
51
|
+
duplicated: list[JsonValue] | None = None
|
|
52
|
+
is_auto_retryable: bool | None = None
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_response(cls, response: httpx.Response) -> "ErrorDetails2":
|
|
56
|
+
"""Populate the error details from a httpx response."""
|
|
57
|
+
try:
|
|
58
|
+
res = TypeAdapter(dict[Literal["error"], ErrorDetails2]).validate_json(response.text)
|
|
59
|
+
except ValueError:
|
|
60
|
+
return cls(code=response.status_code, message=response.text)
|
|
61
|
+
return res["error"]
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class FailedResponse2(HTTPResult2):
|
|
65
|
+
status_code: int
|
|
66
|
+
body: str
|
|
67
|
+
error: ErrorDetails2
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class BaseRequestMessage(BaseModel, ABC):
|
|
71
|
+
endpoint_url: str
|
|
72
|
+
method: Literal["GET", "POST", "PATCH", "DELETE", "PUT"]
|
|
73
|
+
connect_attempt: int = 0
|
|
74
|
+
read_attempt: int = 0
|
|
75
|
+
status_attempt: int = 0
|
|
76
|
+
api_version: str | None = None
|
|
77
|
+
disable_gzip: bool = False
|
|
78
|
+
content_type: str = "application/json"
|
|
79
|
+
accept: str = "application/json"
|
|
80
|
+
|
|
81
|
+
parameters: dict[str, PrimitiveType] | None = None
|
|
82
|
+
|
|
83
|
+
@property
|
|
84
|
+
def total_attempts(self) -> int:
|
|
85
|
+
return self.connect_attempt + self.read_attempt + self.status_attempt
|
|
86
|
+
|
|
87
|
+
@property
|
|
88
|
+
@abstractmethod
|
|
89
|
+
def content(self) -> str | bytes | None: ...
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class RequestMessage2(BaseRequestMessage):
|
|
93
|
+
data_content: bytes | None = None
|
|
94
|
+
body_content: dict[str, JsonValue] | None = None
|
|
95
|
+
|
|
96
|
+
@model_validator(mode="before")
|
|
97
|
+
def check_data_or_body(cls, values: dict[str, Any]) -> dict[str, Any]:
|
|
98
|
+
if values.get("data_content") is not None and values.get("body_content") is not None:
|
|
99
|
+
raise ValueError("Only one of data_content or body_content can be set.")
|
|
100
|
+
return values
|
|
101
|
+
|
|
102
|
+
@property
|
|
103
|
+
def content(self) -> str | bytes | None:
|
|
104
|
+
data: str | bytes | None = None
|
|
105
|
+
if self.data_content is not None:
|
|
106
|
+
data = self.data_content
|
|
107
|
+
if not global_config.disable_gzip and not self.disable_gzip:
|
|
108
|
+
data = gzip.compress(data)
|
|
109
|
+
elif self.body_content is not None:
|
|
110
|
+
# We serialize using pydantic instead of json.dumps. This is because pydantic is faster
|
|
111
|
+
# and handles more complex types such as datetime, float('nan'), etc.
|
|
112
|
+
data = _BODY_SERIALIZER.dump_json(self.body_content)
|
|
113
|
+
if not global_config.disable_gzip and not self.disable_gzip and isinstance(data, bytes):
|
|
114
|
+
data = gzip.compress(data)
|
|
115
|
+
return data
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
_BODY_SERIALIZER = TypeAdapter(dict[str, JsonValue])
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"""Data classes for handling item-based requests and responses in the Cognite Toolkit HTTP client."""
|
|
2
|
+
|
|
3
|
+
import gzip
|
|
4
|
+
from collections import UserList
|
|
5
|
+
from collections.abc import Sequence
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
from cognite.client import global_config
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field, JsonValue
|
|
10
|
+
|
|
11
|
+
from cognite_toolkit._cdf_tk.client._resource_base import RequestItem
|
|
12
|
+
from cognite_toolkit._cdf_tk.client.http_client._data_classes2 import (
|
|
13
|
+
_BODY_SERIALIZER,
|
|
14
|
+
BaseRequestMessage,
|
|
15
|
+
ErrorDetails2,
|
|
16
|
+
)
|
|
17
|
+
from cognite_toolkit._cdf_tk.client.http_client._exception import ToolkitAPIError
|
|
18
|
+
from cognite_toolkit._cdf_tk.client.http_client._tracker import ItemsRequestTracker
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ItemsResultMessage2(BaseModel):
|
|
22
|
+
ids: list[str]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ItemsFailedRequest2(ItemsResultMessage2):
|
|
26
|
+
error_message: str
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class ItemsSuccessResponse2(ItemsResultMessage2):
|
|
30
|
+
status_code: int
|
|
31
|
+
body: str
|
|
32
|
+
content: bytes
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ItemsFailedResponse2(ItemsResultMessage2):
|
|
36
|
+
status_code: int
|
|
37
|
+
error: ErrorDetails2
|
|
38
|
+
body: str
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _set_default_tracker(data: dict[str, Any]) -> ItemsRequestTracker:
|
|
42
|
+
if "tracker" not in data or data["tracker"] is None:
|
|
43
|
+
return ItemsRequestTracker(data.get("max_failures_before_abort", 50))
|
|
44
|
+
return data["tracker"]
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class ItemsRequest2(BaseRequestMessage):
|
|
48
|
+
model_config = ConfigDict(arbitrary_types_allowed=True)
|
|
49
|
+
items: Sequence[RequestItem]
|
|
50
|
+
extra_body_fields: dict[str, JsonValue] | None = None
|
|
51
|
+
max_failures_before_abort: int = 50
|
|
52
|
+
tracker: ItemsRequestTracker = Field(init=False, default_factory=_set_default_tracker, exclude=True)
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def content(self) -> str | bytes | None:
|
|
56
|
+
body: dict[str, JsonValue] = {"items": [item.dump(camel_case=True) for item in self.items]}
|
|
57
|
+
if self.extra_body_fields:
|
|
58
|
+
body.update(self.extra_body_fields)
|
|
59
|
+
res = _BODY_SERIALIZER.dump_json(body)
|
|
60
|
+
if not global_config.disable_gzip and not self.disable_gzip and isinstance(res, bytes):
|
|
61
|
+
return gzip.compress(res)
|
|
62
|
+
return res
|
|
63
|
+
|
|
64
|
+
def split(self, status_attempts: int) -> list["ItemsRequest2"]:
|
|
65
|
+
"""Split the request into multiple requests with a single item each."""
|
|
66
|
+
mid = len(self.items) // 2
|
|
67
|
+
if mid == 0:
|
|
68
|
+
return [self]
|
|
69
|
+
self.tracker.register_failure()
|
|
70
|
+
messages: list[ItemsRequest2] = []
|
|
71
|
+
for part in (self.items[:mid], self.items[mid:]):
|
|
72
|
+
new_request = self.model_copy(update={"items": part, "status_attempt": status_attempts})
|
|
73
|
+
new_request.tracker = self.tracker
|
|
74
|
+
messages.append(new_request)
|
|
75
|
+
return messages
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class ItemResponse(BaseModel):
|
|
79
|
+
items: list[dict[str, JsonValue]]
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class ItemsResultList(UserList[ItemsResultMessage2]):
|
|
83
|
+
def __init__(self, collection: Sequence[ItemsResultMessage2] | None = None) -> None:
|
|
84
|
+
super().__init__(collection or [])
|
|
85
|
+
|
|
86
|
+
def raise_for_status(self) -> None:
|
|
87
|
+
"""Raises an exception if any response in the list indicates a failure."""
|
|
88
|
+
failed_responses = [resp for resp in self.data if isinstance(resp, ItemsFailedResponse2)]
|
|
89
|
+
failed_requests = [resp for resp in self.data if isinstance(resp, ItemsFailedRequest2)]
|
|
90
|
+
if not failed_responses and not failed_requests:
|
|
91
|
+
return
|
|
92
|
+
error_messages = "; ".join(f"Status {err.status_code}: {err.error.message}" for err in failed_responses)
|
|
93
|
+
if failed_requests:
|
|
94
|
+
if error_messages:
|
|
95
|
+
error_messages += "; "
|
|
96
|
+
error_messages += "; ".join(f"Request error: {err.error_message}" for err in failed_requests)
|
|
97
|
+
raise ToolkitAPIError(f"One or more requests failed: {error_messages}")
|
|
98
|
+
|
|
99
|
+
@property
|
|
100
|
+
def has_failed(self) -> bool:
|
|
101
|
+
"""Indicates whether any response in the list indicates a failure.
|
|
102
|
+
|
|
103
|
+
Returns:
|
|
104
|
+
bool: True if there are any failed responses or requests, False otherwise.
|
|
105
|
+
"""
|
|
106
|
+
for resp in self.data:
|
|
107
|
+
if isinstance(resp, ItemsFailedResponse2 | ItemsFailedRequest2):
|
|
108
|
+
return True
|
|
109
|
+
return False
|
|
110
|
+
|
|
111
|
+
def get_items(self) -> list[dict[str, JsonValue]]:
|
|
112
|
+
"""Get the items from all successful responses."""
|
|
113
|
+
items: list[dict[str, JsonValue]] = []
|
|
114
|
+
for resp in self.data:
|
|
115
|
+
if isinstance(resp, ItemsSuccessResponse2):
|
|
116
|
+
body_json = ItemResponse.model_validate_json(resp.body)
|
|
117
|
+
items.extend(body_json.items)
|
|
118
|
+
return items
|
|
@@ -2,7 +2,7 @@ from typing import Annotated, Any, Literal
|
|
|
2
2
|
|
|
3
3
|
from pydantic import BeforeValidator, Field
|
|
4
4
|
|
|
5
|
-
from cognite_toolkit._cdf_tk.client.
|
|
5
|
+
from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, RequestResource, ResponseResource
|
|
6
6
|
|
|
7
7
|
from .identifiers import ExternalId
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@ from typing import Any, Literal, TypeAlias
|
|
|
2
2
|
|
|
3
3
|
from pydantic import Field, JsonValue
|
|
4
4
|
|
|
5
|
-
from cognite_toolkit._cdf_tk.client.
|
|
5
|
+
from cognite_toolkit._cdf_tk.client._resource_base import BaseModelObject, ResponseResource, UpdatableRequestResource
|
|
6
6
|
|
|
7
7
|
from .identifiers import InternalId
|
|
8
8
|
|
|
@@ -39,7 +39,7 @@ class Annotation(BaseModelObject):
|
|
|
39
39
|
status: AnnotationStatus
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
class AnnotationRequest(Annotation,
|
|
42
|
+
class AnnotationRequest(Annotation, UpdatableRequestResource):
|
|
43
43
|
"""Request data class for annotations."""
|
|
44
44
|
|
|
45
45
|
# The 'id' field is not part of the request when creating a new resource,
|