cognite-toolkit 0.7.25__tar.gz → 0.7.27__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.25 → cognite_toolkit-0.7.27}/PKG-INFO +1 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_migrate_app.py +38 -11
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/__init__.py +2 -2
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/__init__.py +0 -2
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/data_mapper.py +144 -4
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/issues.py +12 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_base_cruds.py +5 -27
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_data_cruds.py +5 -7
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/classic.py +25 -3
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/fieldops.py +0 -3
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/migration.py +0 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/relationship.py +0 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/streams.py +0 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_worker.py +11 -6
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_applications.py +22 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/other.py +4 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/GitHub/.github/workflows/deploy.yaml +1 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/GitHub/.github/workflows/dry-run.yaml +1 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_resources/cdf.toml +1 -1
- cognite_toolkit-0.7.27/cognite_toolkit/_version.py +1 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/pyproject.toml +1 -1
- cognite_toolkit-0.7.25/cognite_toolkit/_cdf_tk/commands/_migrate/canvas.py +0 -201
- cognite_toolkit-0.7.25/cognite_toolkit/_version.py +0 -1
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/README.md +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_auth_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_core_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_data_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_dev_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_download_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_dump_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_landing_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_modules_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_profile_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_purge.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_repo_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_run.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_upload_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_datamodels.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_file.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_function.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_location.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_raw.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_streamlit.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/builders/_transformation.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cdf_toml.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/_constants.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/_toolkit_client.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/canvas.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/charts.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/dml.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_data_modeling.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_files.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_functions.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_raw.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/extended_timeseries.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/fixed_transformations.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/infield.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/location_filters.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/lookup.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/migration.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/project.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/api.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/capabilities.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/data_postprocessing.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/frames.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/locations.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/maps.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/robots.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/robotics/utlis.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/search.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/search_config.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/streams.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/three_d.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/token.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api/verify.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/api_client.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/config.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/api_classes.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/apm_config_v1.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/canvas.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/capabilities.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/charts.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/charts_data.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extendable_cognite_file.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetadata.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extended_filemetdata.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/extended_timeseries.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/functions.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/graphql_data_models.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/infield.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/instance_api.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/instances.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/location_filters.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/migration.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/pending_instances_ids.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/project.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/raw.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/robotics.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/search_config.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/sequences.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/streamlit_.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/streams.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/data_classes/three_d.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/testing.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/utils/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/utils/_concurrency.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/client/utils/_http_client.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_changes.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_cli_commands.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_download.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/command.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/conversion.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/creators.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/data_classes.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/data_model.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/default_mappings.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/migration_io.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/prepare.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_migrate/selectors.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_profile.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_purge.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_questionary_style.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_upload.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_utils.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/_virtual_env.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/about.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/auth.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/build_cmd.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/clean.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/collect.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/deploy.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/dump_resource.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/init.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/modules.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/pull.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/repo.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/resources.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/run.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/constants.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/agent.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/auth.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/configuration.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/data_organization.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/datamodel.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/extraction_pipeline.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/file.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/function.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/group_scoped.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/hosted_extractors.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/industrial_tool.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/location.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/raw.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/robotics.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/three_d_model.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/timeseries.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/transformation.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_resource_cruds/workflow.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_build_files.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_build_variables.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_built_modules.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_built_resources.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_config_yaml.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_deploy_results.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_module_directories.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_module_resources.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_module_toml.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_packages.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_tracking_info.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/data_classes/_yaml_comments.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/exceptions.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/feature_flags.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/hints.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/plugins.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/protocols.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/prototypes/commands/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/prototypes/commands/import_.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/prototypes/import_app.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/agent.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/agent_tools.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/asset.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/authentication.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/capabilities.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/cognitefile.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/container_field_definitions.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/containers.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/data_model.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/datapoint_subscription.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/dataset.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/event.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/extraction_pipeline_config.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/filemetadata.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/function_schedule.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/functions.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/graphql_model.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/groups.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_destination.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_job.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_mapping.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/hosted_extractor_source.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/infield_cdm_location_config.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/infield_location_config.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/infield_v1.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/instance.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/labels.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/location.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/migration.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/raw_database_table.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/relationship.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/capability.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/data_postprocessing.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/frame.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/location.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/robotics/map.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/search_config.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/securitycategories.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/sequence.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/space.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/streamlit_.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/streams.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/threedmodels.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/timeseries.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformation_destination.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformation_notification.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformation_schedule.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/transformations.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/view_field_definitions.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/views.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/workflow.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/workflow_trigger.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/resource_classes/workflow_version.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_annotations.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_asset_centric.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_data_classes.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_datapoints.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_file_content.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_instances.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/_raw.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_asset_centric.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_canvas.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_charts.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_datapoints.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_file_content.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_instances.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/storageio/selectors/_raw.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tk_warnings/fileread.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/tracker.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/_auxiliary.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/aggregators.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/auth.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/auxiliary.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/cdf.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/cicd.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/cli_args.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/collection.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/diff_list.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/dtype_conversion.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/file.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_base.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_compression.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_readers.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/fileio/_writers.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/graphql_parser.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/hashing.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_client.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_data_classes.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_exception.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/http_client/_tracker.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/interactive_select.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/modules.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/producer_worker.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/progress_tracker.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/repository.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/sentry_utils.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/sql_parser.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/text.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/thread_safe_dict.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/useful_types.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/utils/validate_access.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/validation.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/.env.tmpl +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/.gitignore +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/AzureDevOps/.devops/README.md +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/AzureDevOps/.devops/deploy-pipeline.yml +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_repo_files/AzureDevOps/.devops/dry-run-pipeline.yml +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/config.dev.yaml +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/demo/__init__.py +0 -0
- {cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/demo/_base.py +0 -0
{cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/apps/_migrate_app.py
RENAMED
|
@@ -8,17 +8,14 @@ from cognite.client.data_classes import Annotation
|
|
|
8
8
|
from cognite.client.data_classes.data_modeling import ContainerId
|
|
9
9
|
|
|
10
10
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
11
|
-
from cognite_toolkit._cdf_tk.commands import
|
|
12
|
-
MigrationCanvasCommand,
|
|
13
|
-
MigrationPrepareCommand,
|
|
14
|
-
)
|
|
11
|
+
from cognite_toolkit._cdf_tk.commands import MigrationPrepareCommand
|
|
15
12
|
from cognite_toolkit._cdf_tk.commands._migrate import MigrationCommand
|
|
16
13
|
from cognite_toolkit._cdf_tk.commands._migrate.creators import (
|
|
17
14
|
InfieldV2ConfigCreator,
|
|
18
15
|
InstanceSpaceCreator,
|
|
19
16
|
SourceSystemCreator,
|
|
20
17
|
)
|
|
21
|
-
from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import AssetCentricMapper, ChartMapper
|
|
18
|
+
from cognite_toolkit._cdf_tk.commands._migrate.data_mapper import AssetCentricMapper, CanvasMapper, ChartMapper
|
|
22
19
|
from cognite_toolkit._cdf_tk.commands._migrate.migration_io import (
|
|
23
20
|
AnnotationMigrationIO,
|
|
24
21
|
AssetCentricMigrationIO,
|
|
@@ -28,14 +25,15 @@ from cognite_toolkit._cdf_tk.commands._migrate.selectors import (
|
|
|
28
25
|
MigrateDataSetSelector,
|
|
29
26
|
MigrationCSVFileSelector,
|
|
30
27
|
)
|
|
31
|
-
from cognite_toolkit._cdf_tk.storageio import ChartIO
|
|
32
|
-
from cognite_toolkit._cdf_tk.storageio.selectors import ChartExternalIdSelector
|
|
28
|
+
from cognite_toolkit._cdf_tk.storageio import CanvasIO, ChartIO
|
|
29
|
+
from cognite_toolkit._cdf_tk.storageio.selectors import CanvasExternalIdSelector, ChartExternalIdSelector
|
|
33
30
|
from cognite_toolkit._cdf_tk.utils.auth import EnvironmentVariables
|
|
34
31
|
from cognite_toolkit._cdf_tk.utils.cli_args import parse_view_str
|
|
35
32
|
from cognite_toolkit._cdf_tk.utils.interactive_select import (
|
|
36
33
|
AssetInteractiveSelect,
|
|
37
34
|
DataModelingSelect,
|
|
38
35
|
FileMetadataInteractiveSelect,
|
|
36
|
+
InteractiveCanvasSelect,
|
|
39
37
|
InteractiveChartSelect,
|
|
40
38
|
ResourceViewMappingInteractiveSelect,
|
|
41
39
|
)
|
|
@@ -855,6 +853,23 @@ class MigrateApp(typer.Typer):
|
|
|
855
853
|
"performed to select the Canvas to migrate."
|
|
856
854
|
),
|
|
857
855
|
] = None,
|
|
856
|
+
skip_on_missing_ref: Annotated[
|
|
857
|
+
bool,
|
|
858
|
+
typer.Option(
|
|
859
|
+
"--skip-on-missing-ref",
|
|
860
|
+
"-s",
|
|
861
|
+
help="If set, the migration will skip Canvases that reference resources that have not been migrated to data modeling. "
|
|
862
|
+
"If not set, the migration will continue but the result will exclude the missing references.",
|
|
863
|
+
),
|
|
864
|
+
] = False,
|
|
865
|
+
log_dir: Annotated[
|
|
866
|
+
Path,
|
|
867
|
+
typer.Option(
|
|
868
|
+
"--log-dir",
|
|
869
|
+
"-l",
|
|
870
|
+
help="Path to the directory where migration logs will be stored.",
|
|
871
|
+
),
|
|
872
|
+
] = Path(f"migration_logs_{TODAY}"),
|
|
858
873
|
dry_run: Annotated[
|
|
859
874
|
bool,
|
|
860
875
|
typer.Option(
|
|
@@ -880,12 +895,24 @@ class MigrateApp(typer.Typer):
|
|
|
880
895
|
is populated with the mapping from Asset-Centric resources to the new data modeling resources.
|
|
881
896
|
"""
|
|
882
897
|
client = EnvironmentVariables.create_from_environment().get_client()
|
|
898
|
+
if external_id is None:
|
|
899
|
+
interactive = InteractiveCanvasSelect(client)
|
|
900
|
+
external_id = interactive.select_external_ids()
|
|
901
|
+
log_dir = questionary.path("Specify log directory for migration logs:", default=str(log_dir)).ask()
|
|
902
|
+
dry_run = questionary.confirm("Do you want to perform a dry run?", default=dry_run).ask()
|
|
903
|
+
verbose = questionary.confirm("Do you want verbose output?", default=verbose).ask()
|
|
904
|
+
if any(res is None for res in [log_dir, dry_run, verbose]):
|
|
905
|
+
raise typer.Abort()
|
|
906
|
+
log_dir = Path(log_dir)
|
|
883
907
|
|
|
884
|
-
cmd =
|
|
908
|
+
cmd = MigrationCommand()
|
|
909
|
+
selector = CanvasExternalIdSelector(external_ids=tuple(external_id))
|
|
885
910
|
cmd.run(
|
|
886
|
-
lambda: cmd.
|
|
887
|
-
|
|
888
|
-
|
|
911
|
+
lambda: cmd.migrate(
|
|
912
|
+
selected=selector,
|
|
913
|
+
data=CanvasIO(client, exclude_existing_version=True),
|
|
914
|
+
mapper=CanvasMapper(client, dry_run=dry_run, skip_on_missing_ref=skip_on_missing_ref),
|
|
915
|
+
log_dir=log_dir,
|
|
889
916
|
dry_run=dry_run,
|
|
890
917
|
verbose=verbose,
|
|
891
918
|
)
|
{cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/commands/__init__.py
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from ._download import DownloadCommand
|
|
2
2
|
from ._migrate import (
|
|
3
|
-
|
|
3
|
+
MigrationCommand,
|
|
4
4
|
MigrationPrepareCommand,
|
|
5
5
|
)
|
|
6
6
|
from ._profile import ProfileAssetCentricCommand, ProfileAssetCommand, ProfileRawCommand, ProfileTransformationCommand
|
|
@@ -30,7 +30,7 @@ __all__ = [
|
|
|
30
30
|
"DownloadCommand",
|
|
31
31
|
"DumpResourceCommand",
|
|
32
32
|
"InitCommand",
|
|
33
|
-
"
|
|
33
|
+
"MigrationCommand",
|
|
34
34
|
"MigrationPrepareCommand",
|
|
35
35
|
"ModulesCommand",
|
|
36
36
|
"ProfileAssetCentricCommand",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
-
from collections
|
|
2
|
+
from collections import defaultdict
|
|
3
|
+
from collections.abc import Callable, Sequence
|
|
3
4
|
from typing import Generic, cast
|
|
4
5
|
from uuid import uuid4
|
|
5
6
|
|
|
@@ -11,8 +12,15 @@ from cognite.client.data_classes.data_modeling import (
|
|
|
11
12
|
View,
|
|
12
13
|
ViewId,
|
|
13
14
|
)
|
|
15
|
+
from cognite.client.exceptions import CogniteException
|
|
14
16
|
|
|
15
17
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
18
|
+
from cognite_toolkit._cdf_tk.client.data_classes.canvas import (
|
|
19
|
+
ContainerReferenceApply,
|
|
20
|
+
FdmInstanceContainerReferenceApply,
|
|
21
|
+
IndustrialCanvas,
|
|
22
|
+
IndustrialCanvasApply,
|
|
23
|
+
)
|
|
16
24
|
from cognite_toolkit._cdf_tk.client.data_classes.charts import Chart, ChartWrite
|
|
17
25
|
from cognite_toolkit._cdf_tk.client.data_classes.charts_data import (
|
|
18
26
|
ChartCoreTimeseries,
|
|
@@ -23,13 +31,18 @@ from cognite_toolkit._cdf_tk.client.data_classes.migration import ResourceViewMa
|
|
|
23
31
|
from cognite_toolkit._cdf_tk.commands._migrate.conversion import DirectRelationCache, asset_centric_to_dm
|
|
24
32
|
from cognite_toolkit._cdf_tk.commands._migrate.data_classes import AssetCentricMapping
|
|
25
33
|
from cognite_toolkit._cdf_tk.commands._migrate.default_mappings import create_default_mappings
|
|
26
|
-
from cognite_toolkit._cdf_tk.commands._migrate.issues import
|
|
34
|
+
from cognite_toolkit._cdf_tk.commands._migrate.issues import (
|
|
35
|
+
CanvasMigrationIssue,
|
|
36
|
+
ChartMigrationIssue,
|
|
37
|
+
ConversionIssue,
|
|
38
|
+
MigrationIssue,
|
|
39
|
+
)
|
|
27
40
|
from cognite_toolkit._cdf_tk.commands._migrate.selectors import AssetCentricMigrationSelector
|
|
28
41
|
from cognite_toolkit._cdf_tk.constants import MISSING_INSTANCE_SPACE
|
|
29
|
-
from cognite_toolkit._cdf_tk.exceptions import ToolkitValueError
|
|
42
|
+
from cognite_toolkit._cdf_tk.exceptions import ToolkitMigrationError, ToolkitValueError
|
|
30
43
|
from cognite_toolkit._cdf_tk.protocols import T_ResourceRequest, T_ResourceResponse
|
|
31
44
|
from cognite_toolkit._cdf_tk.storageio._base import T_Selector
|
|
32
|
-
from cognite_toolkit._cdf_tk.storageio.selectors import ChartSelector
|
|
45
|
+
from cognite_toolkit._cdf_tk.storageio.selectors import CanvasSelector, ChartSelector
|
|
33
46
|
from cognite_toolkit._cdf_tk.utils import humanize_collection
|
|
34
47
|
from cognite_toolkit._cdf_tk.utils.useful_types import (
|
|
35
48
|
T_AssetCentricResourceExtended,
|
|
@@ -245,3 +258,130 @@ class ChartMapper(DataMapper[ChartSelector, Chart, ChartWrite]):
|
|
|
245
258
|
new_source_item = ChartSource(id=cast(str, core_ts_item.id), type=cast(str, core_ts_item.type))
|
|
246
259
|
updated_source_collection.append(new_source_item)
|
|
247
260
|
return updated_source_collection
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
class CanvasMapper(DataMapper[CanvasSelector, IndustrialCanvas, IndustrialCanvasApply]):
|
|
264
|
+
# Note sequences are not supported in Canvas, so we do not include them here.
|
|
265
|
+
asset_centric_resource_types = tuple(("asset", "event", "timeseries", "file"))
|
|
266
|
+
DEFAULT_ASSET_VIEW = ViewId("cdf_cdm", "CogniteAsset", "v1")
|
|
267
|
+
DEFAULT_EVENT_VIEW = ViewId("cdf_cdm", "CogniteActivity", "v1")
|
|
268
|
+
DEFAULT_FILE_VIEW = ViewId("cdf_cdm", "CogniteFile", "v1")
|
|
269
|
+
DEFAULT_TIMESERIES_VIEW = ViewId("cdf_cdm", "CogniteTimeSeries", "v1")
|
|
270
|
+
|
|
271
|
+
def __init__(self, client: ToolkitClient, dry_run: bool, skip_on_missing_ref: bool = False) -> None:
|
|
272
|
+
self.client = client
|
|
273
|
+
self.dry_run = dry_run
|
|
274
|
+
self.skip_on_missing_ref = skip_on_missing_ref
|
|
275
|
+
|
|
276
|
+
def map(self, source: Sequence[IndustrialCanvas]) -> Sequence[tuple[IndustrialCanvasApply | None, MigrationIssue]]:
|
|
277
|
+
self._populate_cache(source)
|
|
278
|
+
output: list[tuple[IndustrialCanvasApply | None, MigrationIssue]] = []
|
|
279
|
+
for item in source:
|
|
280
|
+
mapped_item, issue = self._map_single_item(item)
|
|
281
|
+
output.append((mapped_item, issue))
|
|
282
|
+
return output
|
|
283
|
+
|
|
284
|
+
@property
|
|
285
|
+
def lookup_methods(self) -> dict[str, Callable]:
|
|
286
|
+
return {
|
|
287
|
+
"asset": self.client.migration.lookup.assets,
|
|
288
|
+
"event": self.client.migration.lookup.events,
|
|
289
|
+
"timeseries": self.client.migration.lookup.time_series,
|
|
290
|
+
"file": self.client.migration.lookup.files,
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
def _populate_cache(self, source: Sequence[IndustrialCanvas]) -> None:
|
|
294
|
+
"""Populate the internal cache with references from the source canvases.
|
|
295
|
+
|
|
296
|
+
Note that the consumption views are also cached as part of the timeseries lookup.
|
|
297
|
+
"""
|
|
298
|
+
ids_by_type: dict[str, set[int]] = defaultdict(set)
|
|
299
|
+
for canvas in source:
|
|
300
|
+
for ref in canvas.container_references or []:
|
|
301
|
+
if ref.container_reference_type in self.asset_centric_resource_types:
|
|
302
|
+
ids_by_type[ref.container_reference_type].add(ref.resource_id)
|
|
303
|
+
|
|
304
|
+
for resource_type, lookup_method in self.lookup_methods.items():
|
|
305
|
+
ids = ids_by_type.get(resource_type)
|
|
306
|
+
if ids:
|
|
307
|
+
lookup_method(list(ids))
|
|
308
|
+
|
|
309
|
+
def _get_node_id(self, resource_id: int, resource_type: str) -> NodeId | None:
|
|
310
|
+
"""Look up the node ID for a given resource ID and type."""
|
|
311
|
+
try:
|
|
312
|
+
return self.lookup_methods[resource_type](resource_id)
|
|
313
|
+
except KeyError:
|
|
314
|
+
raise ToolkitValueError(f"Unsupported resource type '{resource_type}' for container reference migration.")
|
|
315
|
+
|
|
316
|
+
def _get_consumer_view_id(self, resource_id: int, resource_type: str) -> ViewId:
|
|
317
|
+
"""Look up the consumer view ID for a given resource ID and type."""
|
|
318
|
+
lookup_map = {
|
|
319
|
+
"asset": (self.client.migration.lookup.assets.consumer_view, self.DEFAULT_ASSET_VIEW),
|
|
320
|
+
"event": (self.client.migration.lookup.events.consumer_view, self.DEFAULT_EVENT_VIEW),
|
|
321
|
+
"timeseries": (self.client.migration.lookup.time_series.consumer_view, self.DEFAULT_TIMESERIES_VIEW),
|
|
322
|
+
"file": (self.client.migration.lookup.files.consumer_view, self.DEFAULT_FILE_VIEW),
|
|
323
|
+
}
|
|
324
|
+
if lookup_tuple := lookup_map.get(resource_type):
|
|
325
|
+
method, fallback = lookup_tuple
|
|
326
|
+
return method(resource_id) or fallback
|
|
327
|
+
|
|
328
|
+
raise ToolkitValueError(f"Unsupported resource type '{resource_type}' for container reference migration.")
|
|
329
|
+
|
|
330
|
+
def _map_single_item(self, canvas: IndustrialCanvas) -> tuple[IndustrialCanvasApply | None, CanvasMigrationIssue]:
|
|
331
|
+
update = canvas.as_write()
|
|
332
|
+
issue = CanvasMigrationIssue(canvas_external_id=canvas.canvas.external_id, canvas_name=canvas.canvas.name)
|
|
333
|
+
|
|
334
|
+
remaining_container_references: list[ContainerReferenceApply] = []
|
|
335
|
+
new_fdm_references: list[FdmInstanceContainerReferenceApply] = []
|
|
336
|
+
for ref in update.container_references or []:
|
|
337
|
+
if ref.container_reference_type not in self.asset_centric_resource_types:
|
|
338
|
+
remaining_container_references.append(ref)
|
|
339
|
+
continue
|
|
340
|
+
node_id = self._get_node_id(ref.resource_id, ref.container_reference_type)
|
|
341
|
+
if node_id is None:
|
|
342
|
+
issue.missing_reference_ids.append(ref.as_asset_centric_id())
|
|
343
|
+
else:
|
|
344
|
+
consumer_view = self._get_consumer_view_id(ref.resource_id, ref.container_reference_type)
|
|
345
|
+
fdm_ref = self.migrate_container_reference(ref, canvas.canvas.external_id, node_id, consumer_view)
|
|
346
|
+
new_fdm_references.append(fdm_ref)
|
|
347
|
+
if issue.missing_reference_ids and self.skip_on_missing_ref:
|
|
348
|
+
return None, issue
|
|
349
|
+
|
|
350
|
+
update.container_references = remaining_container_references
|
|
351
|
+
update.fdm_instance_container_references.extend(new_fdm_references)
|
|
352
|
+
if not self.dry_run:
|
|
353
|
+
backup = canvas.as_write().create_backup()
|
|
354
|
+
try:
|
|
355
|
+
self.client.canvas.industrial.create(backup)
|
|
356
|
+
except CogniteException as e:
|
|
357
|
+
raise ToolkitMigrationError(
|
|
358
|
+
f"Failed to create backup for canvas '{canvas.canvas.name}': {e!s}. "
|
|
359
|
+
) from e
|
|
360
|
+
|
|
361
|
+
return update, issue
|
|
362
|
+
|
|
363
|
+
@classmethod
|
|
364
|
+
def migrate_container_reference(
|
|
365
|
+
cls, reference: ContainerReferenceApply, canvas_external_id: str, instance_id: NodeId, consumer_view: ViewId
|
|
366
|
+
) -> FdmInstanceContainerReferenceApply:
|
|
367
|
+
"""Migrate a single container reference by replacing the asset-centric ID with the data model instance ID."""
|
|
368
|
+
new_id = str(uuid4())
|
|
369
|
+
new_external_id = f"{canvas_external_id}_{new_id}"
|
|
370
|
+
return FdmInstanceContainerReferenceApply(
|
|
371
|
+
external_id=new_external_id,
|
|
372
|
+
id_=new_id,
|
|
373
|
+
container_reference_type="fdmInstance",
|
|
374
|
+
instance_space=instance_id.space,
|
|
375
|
+
instance_external_id=instance_id.external_id,
|
|
376
|
+
view_space=consumer_view.space,
|
|
377
|
+
view_external_id=consumer_view.external_id,
|
|
378
|
+
view_version=consumer_view.version,
|
|
379
|
+
label=reference.label,
|
|
380
|
+
properties_=reference.properties_,
|
|
381
|
+
x=reference.x,
|
|
382
|
+
y=reference.y,
|
|
383
|
+
width=reference.width,
|
|
384
|
+
height=reference.height,
|
|
385
|
+
max_width=reference.max_width,
|
|
386
|
+
max_height=reference.max_height,
|
|
387
|
+
)
|
|
@@ -51,6 +51,18 @@ class ChartMigrationIssue(MigrationIssue):
|
|
|
51
51
|
)
|
|
52
52
|
|
|
53
53
|
|
|
54
|
+
class CanvasMigrationIssue(MigrationIssue):
|
|
55
|
+
type: ClassVar[str] = "canvasMigration"
|
|
56
|
+
canvas_external_id: str
|
|
57
|
+
canvas_name: str
|
|
58
|
+
missing_reference_ids: list[AssetCentricId] = Field(default_factory=list)
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def has_issues(self) -> bool:
|
|
62
|
+
"""Check if there are any issues recorded in this CanvasMigrationIssue."""
|
|
63
|
+
return bool(self.missing_reference_ids)
|
|
64
|
+
|
|
65
|
+
|
|
54
66
|
class ReadIssue(MigrationIssue):
|
|
55
67
|
"""Represents a read issue encountered during migration."""
|
|
56
68
|
|
{cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_base_cruds.py
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import sys
|
|
2
2
|
from abc import ABC, abstractmethod
|
|
3
|
-
from collections.abc import Hashable, Iterable, Sequence,
|
|
3
|
+
from collections.abc import Hashable, Iterable, Sequence, Sized
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import TYPE_CHECKING, Any, Generic, TypeVar
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ from cognite.client.utils.useful_types import SequenceNotStr
|
|
|
9
9
|
from rich.console import Console
|
|
10
10
|
|
|
11
11
|
from cognite_toolkit._cdf_tk.client import ToolkitClient
|
|
12
|
-
from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING,
|
|
12
|
+
from cognite_toolkit._cdf_tk.constants import BUILD_FOLDER_ENCODING, YAML_SUFFIX
|
|
13
13
|
from cognite_toolkit._cdf_tk.protocols import T_ResourceRequest, T_ResourceResponse
|
|
14
14
|
from cognite_toolkit._cdf_tk.resource_classes import ToolkitResource
|
|
15
15
|
from cognite_toolkit._cdf_tk.tk_warnings import ToolkitWarning
|
|
@@ -39,11 +39,9 @@ class Loader(ABC):
|
|
|
39
39
|
exclude_filetypes: A set of filetypes that should be excluded from the supported filetypes.
|
|
40
40
|
"""
|
|
41
41
|
|
|
42
|
-
filetypes: frozenset[str]
|
|
43
42
|
folder_name: str
|
|
44
43
|
kind: str
|
|
45
44
|
dependencies: "frozenset[type[ResourceCRUD]]" = frozenset()
|
|
46
|
-
exclude_filetypes: frozenset[str] = frozenset()
|
|
47
45
|
_doc_base_url: str = "https://api-docs.cognite.com/20230101/tag/"
|
|
48
46
|
_doc_url: str = ""
|
|
49
47
|
sub_folder_name: str | None = None
|
|
@@ -74,13 +72,12 @@ class Loader(ABC):
|
|
|
74
72
|
def doc_url(cls) -> str:
|
|
75
73
|
return cls._doc_base_url + cls._doc_url
|
|
76
74
|
|
|
77
|
-
def find_files(self, dir_or_file: Path | None = None
|
|
75
|
+
def find_files(self, dir_or_file: Path | None = None) -> list[Path]:
|
|
78
76
|
"""Find all files that are supported by this loader in the given directory or file.
|
|
79
77
|
|
|
80
78
|
Args:
|
|
81
79
|
dir_or_file (Path): The directory or file to search in. If no path is given,
|
|
82
80
|
the build directory is used.
|
|
83
|
-
include_formats (set[str]): A set of file formats to include. If not set, all formats are included.
|
|
84
81
|
|
|
85
82
|
Returns:
|
|
86
83
|
list[Path]: A sorted list of all files that are supported by this loader.
|
|
@@ -94,12 +91,7 @@ class Loader(ABC):
|
|
|
94
91
|
raise ValueError("Invalid file type")
|
|
95
92
|
return [dir_or_file]
|
|
96
93
|
elif dir_or_file.is_dir():
|
|
97
|
-
|
|
98
|
-
file
|
|
99
|
-
for file in dir_or_file.glob("**/*")
|
|
100
|
-
if self.is_supported_file(file) and (include_formats is None or file.suffix in include_formats)
|
|
101
|
-
]
|
|
102
|
-
return sorted(file_paths)
|
|
94
|
+
return sorted([file for file in dir_or_file.rglob("*") if self.is_supported_file(file)])
|
|
103
95
|
else:
|
|
104
96
|
return []
|
|
105
97
|
|
|
@@ -118,11 +110,7 @@ class Loader(ABC):
|
|
|
118
110
|
bool: True if the file is supported, False otherwise.
|
|
119
111
|
|
|
120
112
|
"""
|
|
121
|
-
|
|
122
|
-
return False
|
|
123
|
-
if cls.exclude_filetypes and file.suffix[1:] in cls.exclude_filetypes:
|
|
124
|
-
return False
|
|
125
|
-
return file.stem.casefold().endswith(cls.kind.casefold())
|
|
113
|
+
return file.suffix in YAML_SUFFIX and file.stem.casefold().endswith(cls.kind.casefold())
|
|
126
114
|
|
|
127
115
|
|
|
128
116
|
T_Loader = TypeVar("T_Loader", bound=Loader)
|
|
@@ -144,8 +132,6 @@ class ResourceCRUD(Loader, ABC, Generic[T_ID, T_ResourceRequest, T_ResourceRespo
|
|
|
144
132
|
yaml_cls: The File format for this resource. This is used to validate the user input.
|
|
145
133
|
support_drop: Whether the resource supports the drop flag.
|
|
146
134
|
support_update: Whether the resource supports the update operation.
|
|
147
|
-
filetypes: The filetypes that are supported by this crud. This should not be set in the subclass, it
|
|
148
|
-
should always be yaml and yml.
|
|
149
135
|
dependencies: A set of other resource cruds that must be loaded before this crud.
|
|
150
136
|
parent_resource: A set of other resource cruds that are parent resources to this resource. This is used
|
|
151
137
|
to determine if the iterate method should return any resources when filtering by parent ids.
|
|
@@ -158,7 +144,6 @@ class ResourceCRUD(Loader, ABC, Generic[T_ID, T_ResourceRequest, T_ResourceRespo
|
|
|
158
144
|
# Optional to set in the subclass
|
|
159
145
|
support_drop = True
|
|
160
146
|
support_update = True
|
|
161
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
162
147
|
dependencies: "frozenset[type[ResourceCRUD]]" = frozenset()
|
|
163
148
|
# For example, TransformationNotification and Schedule has Transformation as the parent resource
|
|
164
149
|
# This is used in the iterate method to ensure that nothing is returned if
|
|
@@ -437,10 +422,3 @@ class DataCRUD(Loader, ABC):
|
|
|
437
422
|
@abstractmethod
|
|
438
423
|
def upload(self, state: "BuildEnvironment", dry_run: bool) -> Iterable[tuple[str, int]]:
|
|
439
424
|
raise NotImplementedError
|
|
440
|
-
|
|
441
|
-
def _find_data_files(self, directory: Path) -> list[Path]:
|
|
442
|
-
return [
|
|
443
|
-
path
|
|
444
|
-
for path in directory.rglob("*")
|
|
445
|
-
if path.is_file() and path.name not in EXCL_FILES and self.is_supported_file(path)
|
|
446
|
-
]
|
{cognite_toolkit-0.7.25 → cognite_toolkit-0.7.27}/cognite_toolkit/_cdf_tk/cruds/_data_cruds.py
RENAMED
|
@@ -28,7 +28,6 @@ class DatapointsCRUD(DataCRUD):
|
|
|
28
28
|
item_name = "datapoints"
|
|
29
29
|
folder_name = "timeseries"
|
|
30
30
|
kind = "Datapoints"
|
|
31
|
-
filetypes = frozenset({"csv", "parquet"})
|
|
32
31
|
dependencies = frozenset({TimeSeriesCRUD})
|
|
33
32
|
_doc_url = "Time-series/operation/postMultiTimeSeriesDatapoints"
|
|
34
33
|
|
|
@@ -43,7 +42,9 @@ class DatapointsCRUD(DataCRUD):
|
|
|
43
42
|
resource_directories = state.built_resources[self.folder_name].get_resource_directories(self.folder_name)
|
|
44
43
|
|
|
45
44
|
for resource_dir in resource_directories:
|
|
46
|
-
for datafile in
|
|
45
|
+
for datafile in resource_dir.rglob("*"):
|
|
46
|
+
if not datafile.stem.casefold().endswith(self.kind.casefold()):
|
|
47
|
+
continue
|
|
47
48
|
if datafile.suffix == ".csv":
|
|
48
49
|
# The replacement is used to ensure that we read exactly the same file on Windows and Linux
|
|
49
50
|
file_content = datafile.read_bytes().replace(b"\r\n", b"\n").decode("utf-8")
|
|
@@ -52,7 +53,7 @@ class DatapointsCRUD(DataCRUD):
|
|
|
52
53
|
elif datafile.suffix == ".parquet":
|
|
53
54
|
data = pd.read_parquet(datafile, engine="pyarrow")
|
|
54
55
|
else:
|
|
55
|
-
|
|
56
|
+
continue
|
|
56
57
|
timeseries_ids = list(data.columns)
|
|
57
58
|
if len(timeseries_ids) == 1:
|
|
58
59
|
ts_str = timeseries_ids[0]
|
|
@@ -87,8 +88,6 @@ class FileCRUD(DataCRUD):
|
|
|
87
88
|
item_name = "file contents"
|
|
88
89
|
folder_name = "files"
|
|
89
90
|
kind = "File"
|
|
90
|
-
filetypes = frozenset()
|
|
91
|
-
exclude_filetype: frozenset[str] = frozenset({})
|
|
92
91
|
dependencies = frozenset({FileMetadataCRUD, CogniteFileCRUD})
|
|
93
92
|
_doc_url = "Files/operation/initFileUpload"
|
|
94
93
|
|
|
@@ -149,7 +148,6 @@ class FileCRUD(DataCRUD):
|
|
|
149
148
|
class RawFileCRUD(DataCRUD):
|
|
150
149
|
item_name = "rows"
|
|
151
150
|
folder_name = "raw"
|
|
152
|
-
filetypes = frozenset({"csv", "parquet"})
|
|
153
151
|
kind = "Raw"
|
|
154
152
|
dependencies = frozenset({RawTableCRUD})
|
|
155
153
|
_doc_url = "Raw/operation/postRows"
|
|
@@ -169,7 +167,7 @@ class RawFileCRUD(DataCRUD):
|
|
|
169
167
|
datafile = next(
|
|
170
168
|
(
|
|
171
169
|
resource.source.path.with_suffix(f".{file_type}")
|
|
172
|
-
for file_type in
|
|
170
|
+
for file_type in ["csv", "parquet"]
|
|
173
171
|
if (resource.source.path.with_suffix(f".{file_type}").exists())
|
|
174
172
|
),
|
|
175
173
|
None,
|
|
@@ -29,20 +29,23 @@ from cognite_toolkit._cdf_tk.client.data_classes.sequences import (
|
|
|
29
29
|
ToolkitSequenceRowsList,
|
|
30
30
|
ToolkitSequenceRowsWrite,
|
|
31
31
|
)
|
|
32
|
+
from cognite_toolkit._cdf_tk.constants import TABLE_FORMATS, YAML_SUFFIX
|
|
32
33
|
from cognite_toolkit._cdf_tk.cruds._base_cruds import ResourceCRUD
|
|
34
|
+
from cognite_toolkit._cdf_tk.feature_flags import Flags
|
|
33
35
|
from cognite_toolkit._cdf_tk.resource_classes import AssetYAML, EventYAML, SequenceRowYAML, SequenceYAML
|
|
34
|
-
from cognite_toolkit._cdf_tk.tk_warnings import LowSeverityWarning
|
|
36
|
+
from cognite_toolkit._cdf_tk.tk_warnings import LowSeverityWarning, ToolkitDeprecationWarning
|
|
35
37
|
from cognite_toolkit._cdf_tk.utils import load_yaml_inject_variables
|
|
36
38
|
from cognite_toolkit._cdf_tk.utils.diff_list import diff_list_hashable, diff_list_identifiable
|
|
37
39
|
from cognite_toolkit._cdf_tk.utils.file import read_csv
|
|
38
40
|
|
|
39
41
|
from .data_organization import DataSetsCRUD, LabelCRUD
|
|
40
42
|
|
|
43
|
+
_DEPRECATION_WARNING_ISSUED = False
|
|
44
|
+
|
|
41
45
|
|
|
42
46
|
@final
|
|
43
47
|
class AssetCRUD(ResourceCRUD[str, AssetWrite, Asset]):
|
|
44
48
|
folder_name = "classic"
|
|
45
|
-
filetypes = frozenset({"yaml", "yml", "csv", "parquet"})
|
|
46
49
|
resource_cls = Asset
|
|
47
50
|
resource_write_cls = AssetWrite
|
|
48
51
|
yaml_cls = AssetYAML
|
|
@@ -50,6 +53,26 @@ class AssetCRUD(ResourceCRUD[str, AssetWrite, Asset]):
|
|
|
50
53
|
dependencies = frozenset({DataSetsCRUD, LabelCRUD})
|
|
51
54
|
_doc_url = "Assets/operation/createAssets"
|
|
52
55
|
|
|
56
|
+
@classmethod
|
|
57
|
+
def is_supported_file(cls, file: Path) -> bool:
|
|
58
|
+
if Flags.v08.is_enabled():
|
|
59
|
+
return super().is_supported_file(file)
|
|
60
|
+
global _DEPRECATION_WARNING_ISSUED
|
|
61
|
+
if not file.stem.casefold().endswith(cls.kind.casefold()):
|
|
62
|
+
return False
|
|
63
|
+
if file.suffix in YAML_SUFFIX:
|
|
64
|
+
return True
|
|
65
|
+
if file.suffix in TABLE_FORMATS:
|
|
66
|
+
if not _DEPRECATION_WARNING_ISSUED:
|
|
67
|
+
ToolkitDeprecationWarning(
|
|
68
|
+
feature="deployment of asset from CSV or Parquet files",
|
|
69
|
+
alternative="data plugin and cdf data upload commands",
|
|
70
|
+
removal_version="0.8",
|
|
71
|
+
).print_warning()
|
|
72
|
+
_DEPRECATION_WARNING_ISSUED = True
|
|
73
|
+
return True
|
|
74
|
+
return False
|
|
75
|
+
|
|
53
76
|
@property
|
|
54
77
|
def display_name(self) -> str:
|
|
55
78
|
return "assets"
|
|
@@ -479,7 +502,6 @@ class SequenceRowCRUD(ResourceCRUD[str, ToolkitSequenceRowsWrite, ToolkitSequenc
|
|
|
479
502
|
@final
|
|
480
503
|
class EventCRUD(ResourceCRUD[str, EventWrite, Event]):
|
|
481
504
|
folder_name = "classic"
|
|
482
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
483
505
|
resource_cls = Event
|
|
484
506
|
resource_write_cls = EventWrite
|
|
485
507
|
yaml_cls = EventYAML
|
|
@@ -40,7 +40,6 @@ from .group_scoped import GroupResourceScopedCRUD
|
|
|
40
40
|
@final
|
|
41
41
|
class InfieldV1CRUD(ResourceCRUD[str, APMConfigWrite, APMConfig]):
|
|
42
42
|
folder_name = "cdf_applications"
|
|
43
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
44
43
|
resource_cls = APMConfig
|
|
45
44
|
resource_write_cls = APMConfigWrite
|
|
46
45
|
kind = "InfieldV1"
|
|
@@ -249,7 +248,6 @@ class InfieldV1CRUD(ResourceCRUD[str, APMConfigWrite, APMConfig]):
|
|
|
249
248
|
@final
|
|
250
249
|
class InFieldLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InfieldLocationConfig, InfieldLocationConfig]):
|
|
251
250
|
folder_name = "cdf_applications"
|
|
252
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
253
251
|
resource_cls = InfieldLocationConfig
|
|
254
252
|
resource_write_cls = InfieldLocationConfig
|
|
255
253
|
kind = "InFieldLocationConfig"
|
|
@@ -349,7 +347,6 @@ class InFieldLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InfieldLocationConf
|
|
|
349
347
|
@final
|
|
350
348
|
class InFieldCDMLocationConfigCRUD(ResourceCRUD[NodeIdentifier, InFieldCDMLocationConfig, InFieldCDMLocationConfig]):
|
|
351
349
|
folder_name = "cdf_applications"
|
|
352
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
353
350
|
resource_cls = InFieldCDMLocationConfig
|
|
354
351
|
resource_write_cls = InFieldCDMLocationConfig
|
|
355
352
|
kind = "InFieldCDMLocationConfig"
|
|
@@ -21,7 +21,6 @@ from .datamodel import SpaceCRUD, ViewCRUD
|
|
|
21
21
|
@final
|
|
22
22
|
class ResourceViewMappingCRUD(ResourceCRUD[str, ResourceViewMappingApply, ResourceViewMapping]):
|
|
23
23
|
folder_name = "migration"
|
|
24
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
25
24
|
resource_cls = ResourceViewMapping
|
|
26
25
|
resource_write_cls = ResourceViewMappingApply
|
|
27
26
|
kind = "ResourceViewMapping"
|
|
@@ -23,7 +23,6 @@ from .timeseries import TimeSeriesCRUD
|
|
|
23
23
|
@final
|
|
24
24
|
class RelationshipCRUD(ResourceCRUD[str, RelationshipWrite, Relationship]):
|
|
25
25
|
folder_name = "classic"
|
|
26
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
27
26
|
resource_cls = Relationship
|
|
28
27
|
resource_write_cls = RelationshipWrite
|
|
29
28
|
kind = "Relationship"
|
|
@@ -19,7 +19,6 @@ from .datamodel import ContainerCRUD
|
|
|
19
19
|
@final
|
|
20
20
|
class StreamCRUD(ResourceCRUD[str, StreamRequest, StreamResponse]):
|
|
21
21
|
folder_name = "streams"
|
|
22
|
-
filetypes = frozenset({"yaml", "yml"})
|
|
23
22
|
resource_cls = StreamResponse
|
|
24
23
|
resource_write_cls = StreamRequest
|
|
25
24
|
kind = "Streams"
|
|
@@ -14,6 +14,7 @@ from yaml import YAMLError
|
|
|
14
14
|
|
|
15
15
|
from cognite_toolkit._cdf_tk.constants import TABLE_FORMATS
|
|
16
16
|
from cognite_toolkit._cdf_tk.exceptions import ToolkitWrongResourceError, ToolkitYAMLFormatError
|
|
17
|
+
from cognite_toolkit._cdf_tk.feature_flags import Flags
|
|
17
18
|
from cognite_toolkit._cdf_tk.tk_warnings import EnvironmentVariableMissingWarning, catch_warnings
|
|
18
19
|
from cognite_toolkit._cdf_tk.utils import to_diff
|
|
19
20
|
|
|
@@ -47,12 +48,16 @@ class ResourceWorker(Generic[T_ID, T_ResourceRequest, T_ResourceResponse]):
|
|
|
47
48
|
) -> list[Path]:
|
|
48
49
|
filepaths = self.loader.find_files(directory)
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
if not Flags.v08.is_enabled():
|
|
52
|
+
for read_module in read_modules or []:
|
|
53
|
+
if resource_dir := read_module.resource_dir_path(self.loader.folder_name):
|
|
54
|
+
# As of 05/11/24, Asset support csv and parquet files in addition to YAML.
|
|
55
|
+
# These table formats are not built, i.e., no variable replacement is done,
|
|
56
|
+
# so we load them directly from the source module.
|
|
57
|
+
table_files = [
|
|
58
|
+
file for file in self.loader.find_files(resource_dir) if file.suffix in TABLE_FORMATS
|
|
59
|
+
]
|
|
60
|
+
filepaths.extend(table_files)
|
|
56
61
|
|
|
57
62
|
if not sort:
|
|
58
63
|
return filepaths
|