cognite-neat 0.123.43__tar.gz → 0.124.0__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.
Potentially problematic release.
This version of cognite-neat might be problematic. Click here for more details.
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/PKG-INFO +1 -1
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/__init__.py +12 -1
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_base.py +1 -1
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_constraints.py +5 -2
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_data_types.py +26 -10
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_indexes.py +6 -3
- cognite_neat-0.124.0/cognite/neat/_data_model/models/dms/_types.py +17 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_view_property.py +14 -25
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/__init__.py +2 -1
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/_parser.py +32 -0
- cognite_neat-0.124.0/cognite/neat/_session/_session.py +33 -0
- cognite_neat-0.124.0/cognite/neat/_session/_state_machine/__init__.py +23 -0
- cognite_neat-0.124.0/cognite/neat/_session/_state_machine/_base.py +27 -0
- cognite_neat-0.124.0/cognite/neat/_session/_state_machine/_states.py +150 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/validation.py +58 -28
- cognite_neat-0.124.0/cognite/neat/_version.py +2 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_store/_instance.py +33 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_base.py +2 -0
- cognite_neat-0.124.0/cognite/neat/v0/session/_diff.py +51 -0
- cognite_neat-0.124.0/last_changelog_entry.md +5 -0
- cognite_neat-0.124.0/last_git_message.txt +25 -0
- cognite_neat-0.124.0/last_version.txt +1 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/pyproject.toml +1 -1
- cognite_neat-0.124.0/tests/config.py +6 -0
- cognite_neat-0.124.0/tests/data/_misc/state_machine_diagram.md +68 -0
- cognite_neat-0.124.0/tests/data/_misc/state_machine_table.md +10 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit/test_data_model/test_models/test_dms/strategies.py +1 -0
- cognite_neat-0.124.0/tests/tests_unit/test_data_model/test_models/test_dms/test_containers.py +247 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit/test_data_model/test_models/test_dms/test_data_models.py +27 -27
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit/test_data_model/test_models/test_dms/test_views.py +64 -45
- cognite_neat-0.124.0/tests/tests_unit/test_session.py +125 -0
- cognite_neat-0.124.0/tests/tests_unit/test_utils/test_validation.py +94 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit_v1/test_data_model/test_models/test_dms/test_containers.py +25 -44
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit_v1/test_data_model/test_models/test_dms/test_spaces.py +3 -3
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit_v1/test_data_model/test_models/test_entities/test_parser.py +115 -1
- cognite_neat-0.124.0/tests/v0/tests_unit/test_session/test_diff.py +62 -0
- cognite_neat-0.124.0/tests/v0/tests_unit/test_store/test_instance_diff.py +93 -0
- cognite_neat-0.124.0/tests/v0/tests_unit/test_utils/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/uv.lock +1 -1
- cognite_neat-0.123.43/cognite/neat/_version.py +0 -2
- cognite_neat-0.123.43/last_changelog_entry.md +0 -4
- cognite_neat-0.123.43/last_git_message.txt +0 -16
- cognite_neat-0.123.43/last_version.txt +0 -1
- cognite_neat-0.123.43/tests/tests_unit/test_data_model/test_models/test_dms/test_containers.py +0 -83
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.coveragerc +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.gemini/styleguide.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.github/CODEOWNERS +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.github/pull_request_template.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.github/renovate.json +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.github/workflows/code-quality.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.github/workflows/release.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.gitignore +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.pre-commit-config.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/.readthedocs.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/CODE_OF_CONDUCT.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/CONTRIBUTING.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/LICENSE +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/README.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cdf.toml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/codecov.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/_constants.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/_identifiers.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/importers/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/importers/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/conceptual/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/conceptual/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/conceptual/_concept.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/conceptual/_data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/conceptual/_properties.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/conceptual/_property.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_constants.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_container.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_references.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_schema.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_space.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_views.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/_constants.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/_data_types.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/_identifiers.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_issues.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/_utils → cognite_neat-0.124.0/cognite/neat/_session}/__init__.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0 → cognite_neat-0.124.0/cognite/neat/_utils}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/auxiliary.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/http_client/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/http_client/_client.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/http_client/_config.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/http_client/_data_classes.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/http_client/_tracker.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/text.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_utils/useful_types.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/py.typed +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0/core → cognite_neat-0.124.0/cognite/neat/v0}/__init__.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0/core/_client/_api → cognite_neat-0.124.0/cognite/neat/v0/core}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/__init__.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0/core/_client/data_classes → cognite_neat-0.124.0/cognite/neat/v0/core/_client/_api}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/_api/data_modeling_loaders.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/_api/neat_instances.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/_api/schema.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/_api/statistics.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/_api_client.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0/core/_data_model → cognite_neat-0.124.0/cognite/neat/v0/core/_client/data_classes}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/data_classes/data_modeling.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/data_classes/neat_sequence.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/data_classes/schema.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/data_classes/statistics.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_client/testing.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_config.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_constants.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0/core/_instances → cognite_neat-0.124.0/cognite/neat/v0/core/_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/_constants.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/_shared.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/analysis/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/analysis/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/catalog/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/catalog/classic_model.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/exporters/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/exporters/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/exporters/_data_model2dms.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/exporters/_data_model2excel.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/exporters/_data_model2instance_template.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/exporters/_data_model2semantic_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/exporters/_data_model2yaml.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_base_file_reader.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_dict2data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_dms2data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_graph2data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_rdf/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_rdf/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_rdf/_shared.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/_base_unverified.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/_base_verified.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/_import_contexts.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/_types.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/conceptual/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/conceptual/_unverified.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/conceptual/_validation.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/conceptual/_verified.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/data_types.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/_constants.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/_loaders.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/_multi_value.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/_restrictions.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/_single_value.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/_types.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/entities/_wrapped.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/mapping/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/mapping/_classic2core.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/mapping/_classic2core.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/physical/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/physical/_exporter.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/physical/_unverified.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/physical/_validation.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/models/physical/_verified.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/transformers/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/transformers/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/transformers/_converters.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/transformers/_mapping.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/transformers/_union_conceptual.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_data_model/transformers/_verification.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0/core/_instances/extractors/_classic_cdf → cognite_neat-0.124.0/cognite/neat/v0/core/_instances}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/_shared.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/_tracking/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/_tracking/base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/_tracking/log.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/examples/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_base.py +0 -0
- {cognite_neat-0.123.43/cognite/neat/v0/core/_utils → cognite_neat-0.124.0/cognite/neat/v0/core/_instances/extractors/_classic_cdf}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_events.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_files.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_dict.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_dms.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_dms_graph.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_mock_graph_generator.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_raw.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/extractors/_rdf_file.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/loaders/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/loaders/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/loaders/_rdf2dms.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/loaders/_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/queries/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/queries/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/queries/_queries.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/queries/_select.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/queries/_update.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/transformers/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/transformers/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/transformers/_classic_cdf.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/transformers/_prune_graph.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/transformers/_rdfpath.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_instances/transformers/_value_type.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/_contextmanagers.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/_factory.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/errors/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/errors/_external.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/errors/_general.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/errors/_properties.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/errors/_resources.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/errors/_wrapper.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/formatters.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/warnings/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/warnings/_external.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/warnings/_general.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/warnings/_models.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/warnings/_properties.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/warnings/_resources.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_issues/warnings/user_modeling.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_shared.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_store/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_store/_data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_store/_provenance.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_store/exceptions.py +0 -0
- {cognite_neat-0.123.43/tests → cognite_neat-0.124.0/cognite/neat/v0/core/_utils}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/auth.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/auxiliary.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/collection_.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/graph_transformations_report.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/io_.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/rdf_.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/reader/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/reader/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/spreadsheet.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/tarjan.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/text.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/time_.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/upload.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/core/_utils/xml_.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/plugins/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/plugins/_base.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/plugins/_data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/plugins/_issues.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/plugins/_manager.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_collector.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_drop.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_experimental.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_explore.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_fix.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_inspect.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_mapping.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_plugin.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_prepare.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_read.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_set.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_show.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_state/README.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_state.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_subset.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_template.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_to.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/_wizard.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/engine/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/engine/_import.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/engine/_interface.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/engine/_load.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/v0/session/exceptions.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/dev.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/aml-dm.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/aml-instances-full.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/authorship.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/base-components.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/change_validate_step.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/container_spec.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/core_extension.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/core_extension_excel.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/data-exploration.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/data-model-nordic44.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dm-classes.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dm-object-shapes.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dm-prefixes.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/execution-history.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/export_dms_config.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/export_dms_executed.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/export_dms_workflow.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/features.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/graph-etl-flow.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/high-level-io.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/instances-nordic44.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/instances-sheet.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/logo.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/metadata-sheet.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/multi-hop.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/neat-high-level.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/neat-two_flows.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/neat_shift_tab.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/neat_tab.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/prefixes-sheet.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/run_workflow.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/step-configurables.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/step-metrics.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/validate_workflow.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/wf-overview.gif +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/work-in-progress.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/workflow-context.jpg +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/data-modeling-principles.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/conceptual/overview.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/conceptual/reference.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/data_model.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/physical/enum.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/physical/overview.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/physical/properties.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/physical/reference.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/physical/views.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/excel_data_modeling/units.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/gettingstarted/installation.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/gettingstarted/why-neat.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/index.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/base.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/drop.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/fix.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/inspect.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/mapping.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/prepare.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/read.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/set.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/show.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/subset.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/template.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/NeatSession/to.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/issues/base.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/issues/errors.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/issues/user_model_warnings.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/issues/warnings.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/reference/overview.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/cold_start.ipynb +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1_implements.html +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/docs/tutorials/introduction/introduction.ipynb +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/mkdocs.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/clean_space.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/core_classic_mapping.xlsx +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/create_classic_core_mapping_yaml.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/dependency_profiler.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/docs_generate_reference.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/docs_generate_unit.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/generate_steps_md.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/.gitignore +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/README.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/config.dev.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/manual_test_dms_importer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/migration.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/oxi_remote/README.md +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/oxi_remote/docker-compose.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/test_lookup_table.csv +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/scripts/windfarm_to_toolkit.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/test-pyodide.js +0 -0
- {cognite_neat-0.123.43/tests/tests_data_model → cognite_neat-0.124.0/tests}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/tests_data_model/test_models → cognite_neat-0.124.0/tests/tests_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/tests_data_model/test_models/test_conceptual → cognite_neat-0.124.0/tests/tests_data_model/test_models}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/tests_data_model/test_models/test_entities → cognite_neat-0.124.0/tests/tests_data_model/test_models/test_conceptual}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_data_model/test_models/test_conceptual/test_concept.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_data_model/test_models/test_conceptual/test_data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_data_model/test_models/test_conceptual/test_property.py +0 -0
- {cognite_neat-0.123.43/tests/tests_unit → cognite_neat-0.124.0/tests/tests_data_model/test_models/test_entities}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_data_model/test_models/test_entities/test_base_entities.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_data_model/test_models/test_entities/test_data_type.py +0 -0
- {cognite_neat-0.123.43/tests/tests_unit/test_data_model → cognite_neat-0.124.0/tests/tests_unit}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/tests_unit/test_data_model/test_models → cognite_neat-0.124.0/tests/tests_unit/test_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/tests_unit/test_data_model/test_models/test_dms → cognite_neat-0.124.0/tests/tests_unit/test_data_model/test_models}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/tests_unit/test_data_model/test_models/test_entities → cognite_neat-0.124.0/tests/tests_unit/test_data_model/test_models/test_dms}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit/test_data_model/test_models/test_dms/test_resources.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit/test_data_model/test_models/test_dms/test_space.py +0 -0
- {cognite_neat-0.123.43/tests/tests_unit/test_utils → cognite_neat-0.124.0/tests/tests_unit/test_data_model/test_models/test_entities}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit/test_data_model/test_models/test_entities/test_identifiers.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_end_to_end → cognite_neat-0.124.0/tests/tests_unit/test_utils}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit/test_utils/test_auxiliary.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/tests_unit_v1/test_utils/test_http_client.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/config.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/conftest.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration → cognite_neat-0.124.0/tests/v0/tests_end_to_end}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml_new_endpoint.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_end_to_end/test_rules_flow.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_api → cognite_neat-0.124.0/tests/v0/tests_integration}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/conftest.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_graph → cognite_neat-0.124.0/tests/v0/tests_integration/test_api}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_api/test_conversion.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_api/test_validate_rules.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_client_available.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_graph/test_loaders → cognite_neat-0.124.0/tests/v0/tests_integration/test_graph}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_neat_client → cognite_neat-0.124.0/tests/v0/tests_integration/test_graph/test_loaders}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_rules → cognite_neat-0.124.0/tests/v0/tests_integration/test_neat_client}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_neat_client/test_statistics.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_rules/test_exporters → cognite_neat-0.124.0/tests/v0/tests_integration/test_rules}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_rules/test_importers → cognite_neat-0.124.0/tests/v0/tests_integration/test_rules/test_exporters}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_rules/test_exporters/test_dms_exporters.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_session → cognite_neat-0.124.0/tests/v0/tests_integration/test_rules/test_importers}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_integration/test_utils → cognite_neat-0.124.0/tests/v0/tests_integration/test_session}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_create_enterprise.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_data_model_to.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_graph_flow.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_read/test_read_cdm.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_session/test_read.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit → cognite_neat-0.124.0/tests/v0/tests_integration/test_utils}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_integration/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_graph → cognite_neat-0.124.0/tests/v0/tests_unit}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_graph/test_extractors → cognite_neat-0.124.0/tests/v0/tests_unit/test_graph}/__init__.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_graph/test_loaders → cognite_neat-0.124.0/tests/v0/tests_unit/test_graph/test_extractors}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_asset_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_graph_read.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_graph/test_transformers → cognite_neat-0.124.0/tests/v0/tests_unit/test_graph/test_loaders}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_loaders/test_rdf2dms.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_loaders/test_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_provenance.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_issues → cognite_neat-0.124.0/tests/v0/tests_unit/test_graph/test_transformers}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_prune_graph.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_neat_client → cognite_neat-0.124.0/tests/v0/tests_unit/test_issues}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_issues/test_formatters.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_issues/test_issue_behavior.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_issues/test_issues_metatests.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_rules → cognite_neat-0.124.0/tests/v0/tests_unit/test_neat_client}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_neat_client/test_instances.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_neat_client/test_loaders.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_neat_client/test_schema.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_neat_package_metadata.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_plugins.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_rules/test_exporters → cognite_neat-0.124.0/tests/v0/tests_unit/test_rules}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_analysis.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_rules/test_importers → cognite_neat-0.124.0/tests/v0/tests_unit/test_rules/test_exporters}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_exporters/test_exporters_meta.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2dms.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2excel.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2ontology.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2yaml.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_rules/test_models → cognite_neat-0.124.0/tests/v0/tests_unit/test_rules/test_importers}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_importers/constants.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_importers/test_dms_importer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_importers/test_excel_importer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_importers/test_graph_data_model_importer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_importers/test_inference_importer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_importers/test_owl_importer.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_importers/test_subinference_importer.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_rules/test_transformers → cognite_neat-0.124.0/tests/v0/tests_unit/test_rules/test_models}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_asset_rules.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_base_rules.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_conceptual_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_data_types.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_dms_schema.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_entities.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_physical_data_model.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_restrictions.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/test_wrapped_entities.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_models/utils.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_session → cognite_neat-0.124.0/tests/v0/tests_unit/test_rules/test_transformers}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_transformers/test_converters.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_transformers/test_mapping.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_transformers/test_transformer_meta.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_rules/test_transformers/test_union_conceptual.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_store → cognite_neat-0.124.0/tests/v0/tests_unit/test_session}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_session/test_flows.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_session/test_meta.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_session/test_plugin.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_session/test_read.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_session/test_to_yaml.py +0 -0
- {cognite_neat-0.123.43/tests/v0/tests_unit/test_utils → cognite_neat-0.124.0/tests/v0/tests_unit/test_store}/__init__.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_store/test_select_queries.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_store/tests_rules_store.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_utils/test_auxiliary.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_utils/test_cdf_classes.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_utils/test_rdf.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_utils/test_tarjan.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_utils/test_text.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/tests_unit/test_utils/test_utils.py +0 -0
- {cognite_neat-0.123.43 → cognite_neat-0.124.0}/tests/v0/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.124.0
|
|
4
4
|
Summary: Knowledge graph transformation
|
|
5
5
|
Project-URL: Documentation, https://cognite-neat.readthedocs-hosted.com/
|
|
6
6
|
Project-URL: Homepage, https://cognite-neat.readthedocs-hosted.com/
|
{cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/__init__.py
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from cognite.neat._data_model.models.dms._base import Resource, WriteableResource
|
|
2
2
|
from cognite.neat._data_model.models.dms._constraints import (
|
|
3
3
|
Constraint,
|
|
4
|
+
ConstraintAdapter,
|
|
4
5
|
ConstraintDefinition,
|
|
5
6
|
RequiresConstraintDefinition,
|
|
6
7
|
UniquenessConstraintDefinition,
|
|
@@ -14,10 +15,14 @@ from cognite.neat._data_model.models.dms._container import (
|
|
|
14
15
|
from cognite.neat._data_model.models.dms._data_types import (
|
|
15
16
|
BooleanProperty,
|
|
16
17
|
DataType,
|
|
18
|
+
DataTypeAdapter,
|
|
17
19
|
DateProperty,
|
|
18
20
|
DirectNodeRelation,
|
|
19
21
|
EnumProperty,
|
|
22
|
+
EnumValue,
|
|
20
23
|
FileCDFExternalIdReference,
|
|
24
|
+
Float32Property,
|
|
25
|
+
Float64Property,
|
|
21
26
|
FloatProperty,
|
|
22
27
|
Int32Property,
|
|
23
28
|
Int64Property,
|
|
@@ -29,7 +34,7 @@ from cognite.neat._data_model.models.dms._data_types import (
|
|
|
29
34
|
TimeseriesCDFExternalIdReference,
|
|
30
35
|
TimestampProperty,
|
|
31
36
|
)
|
|
32
|
-
from cognite.neat._data_model.models.dms._indexes import BtreeIndex, Index, IndexDefinition, InvertedIndex
|
|
37
|
+
from cognite.neat._data_model.models.dms._indexes import BtreeIndex, Index, IndexAdapter, IndexDefinition, InvertedIndex
|
|
33
38
|
from cognite.neat._data_model.models.dms._space import Space, SpaceRequest, SpaceResponse
|
|
34
39
|
|
|
35
40
|
from ._data_model import DataModelRequest, DataModelResponse
|
|
@@ -68,6 +73,7 @@ __all__ = [
|
|
|
68
73
|
"BtreeIndex",
|
|
69
74
|
"ConnectionPropertyDefinition",
|
|
70
75
|
"Constraint",
|
|
76
|
+
"ConstraintAdapter",
|
|
71
77
|
"ConstraintDefinition",
|
|
72
78
|
"ConstraintOrIndexState",
|
|
73
79
|
"Container",
|
|
@@ -80,12 +86,17 @@ __all__ = [
|
|
|
80
86
|
"DataModelRequest",
|
|
81
87
|
"DataModelResponse",
|
|
82
88
|
"DataType",
|
|
89
|
+
"DataTypeAdapter",
|
|
83
90
|
"DateProperty",
|
|
84
91
|
"DirectNodeRelation",
|
|
85
92
|
"EnumProperty",
|
|
93
|
+
"EnumValue",
|
|
86
94
|
"FileCDFExternalIdReference",
|
|
95
|
+
"Float32Property",
|
|
96
|
+
"Float64Property",
|
|
87
97
|
"FloatProperty",
|
|
88
98
|
"Index",
|
|
99
|
+
"IndexAdapter",
|
|
89
100
|
"IndexDefinition",
|
|
90
101
|
"Int32Property",
|
|
91
102
|
"Int64Property",
|
|
@@ -20,7 +20,7 @@ class Resource(BaseModelObject):
|
|
|
20
20
|
T_Resource = TypeVar("T_Resource", bound=Resource)
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class WriteableResource(Generic[T_Resource],
|
|
23
|
+
class WriteableResource(Resource, Generic[T_Resource], ABC):
|
|
24
24
|
@abstractmethod
|
|
25
25
|
def as_request(self) -> T_Resource:
|
|
26
26
|
"""Convert the response model to a request model by removing read-only fields."""
|
{cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_constraints.py
RENAMED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
from abc import ABC
|
|
2
2
|
from typing import Annotated, Literal
|
|
3
3
|
|
|
4
|
-
from pydantic import Field
|
|
4
|
+
from pydantic import Field, TypeAdapter
|
|
5
5
|
|
|
6
6
|
from ._base import BaseModelObject
|
|
7
7
|
from ._references import ContainerReference
|
|
8
|
+
from ._types import Bool
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
class ConstraintDefinition(BaseModelObject, ABC):
|
|
@@ -16,7 +17,7 @@ class UniquenessConstraintDefinition(ConstraintDefinition):
|
|
|
16
17
|
properties: list[str] = Field(
|
|
17
18
|
description="List of properties included in the constraint.", min_length=1, max_length=10
|
|
18
19
|
)
|
|
19
|
-
by_space:
|
|
20
|
+
by_space: Bool | None = Field(default=None, description="Whether to make the constraint space-specific.")
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class RequiresConstraintDefinition(ConstraintDefinition):
|
|
@@ -28,3 +29,5 @@ Constraint = Annotated[
|
|
|
28
29
|
UniquenessConstraintDefinition | RequiresConstraintDefinition,
|
|
29
30
|
Field(discriminator="constraint_type"),
|
|
30
31
|
]
|
|
32
|
+
|
|
33
|
+
ConstraintAdapter: TypeAdapter[Constraint] = TypeAdapter(Constraint)
|
{cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_data_types.py
RENAMED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import re
|
|
1
2
|
from abc import ABC
|
|
2
3
|
from typing import Annotated, Literal
|
|
3
4
|
|
|
4
|
-
from pydantic import Field, field_validator
|
|
5
|
-
|
|
6
|
-
from cognite.neat._utils.text import humanize_collection
|
|
5
|
+
from pydantic import Field, TypeAdapter, field_validator
|
|
7
6
|
|
|
8
7
|
from ._base import BaseModelObject
|
|
9
8
|
from ._constants import ENUM_VALUE_IDENTIFIER_PATTERN, FORBIDDEN_ENUM_VALUES, INSTANCE_ID_PATTERN
|
|
@@ -111,6 +110,7 @@ class DirectNodeRelation(ListablePropertyTypeDefinition):
|
|
|
111
110
|
|
|
112
111
|
class EnumValue(BaseModelObject):
|
|
113
112
|
name: str | None = Field(
|
|
113
|
+
None,
|
|
114
114
|
max_length=255,
|
|
115
115
|
description="The name of the enum value.",
|
|
116
116
|
)
|
|
@@ -121,6 +121,9 @@ class EnumValue(BaseModelObject):
|
|
|
121
121
|
)
|
|
122
122
|
|
|
123
123
|
|
|
124
|
+
_ENUM_KEY = re.compile(ENUM_VALUE_IDENTIFIER_PATTERN)
|
|
125
|
+
|
|
126
|
+
|
|
124
127
|
class EnumProperty(PropertyTypeDefinition):
|
|
125
128
|
type: Literal["enum"] = "enum"
|
|
126
129
|
unknown_value: str | None = Field(
|
|
@@ -129,22 +132,33 @@ class EnumProperty(PropertyTypeDefinition):
|
|
|
129
132
|
"provide forward-compatibility, Specifying what value to use if the client does not "
|
|
130
133
|
"recognize the returned value. It is not possible to ingest the unknown value, "
|
|
131
134
|
"but it must be part of the allowed values.",
|
|
135
|
+
min_length=1,
|
|
136
|
+
max_length=128,
|
|
137
|
+
pattern=ENUM_VALUE_IDENTIFIER_PATTERN,
|
|
132
138
|
)
|
|
133
139
|
values: dict[str, EnumValue] = Field(
|
|
134
140
|
description="A set of all possible values for the enum property.",
|
|
135
141
|
min_length=1,
|
|
136
142
|
max_length=32,
|
|
137
|
-
pattern=ENUM_VALUE_IDENTIFIER_PATTERN,
|
|
138
143
|
)
|
|
139
144
|
|
|
140
145
|
@field_validator("values", mode="after")
|
|
141
146
|
def _valid_enum_value(cls, val: dict[str, EnumValue]) -> dict[str, EnumValue]:
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
errors: list[str] = []
|
|
148
|
+
for key in val.keys():
|
|
149
|
+
if not _ENUM_KEY.match(key):
|
|
150
|
+
errors.append(
|
|
151
|
+
f"Enum value {key!r} is not valid. Enum values must match "
|
|
152
|
+
f"the pattern: {ENUM_VALUE_IDENTIFIER_PATTERN}"
|
|
153
|
+
)
|
|
154
|
+
if len(key) > 128 or len(key) < 1:
|
|
155
|
+
errors.append(f"Enum value {key!r} must be between 1 and 128 characters long.")
|
|
156
|
+
if key.lower() in FORBIDDEN_ENUM_VALUES:
|
|
157
|
+
errors.append(
|
|
158
|
+
f"Enum value {key!r} cannot be any of the following reserved values: {FORBIDDEN_ENUM_VALUES}"
|
|
159
|
+
)
|
|
160
|
+
if errors:
|
|
161
|
+
raise ValueError(";".join(errors))
|
|
148
162
|
return val
|
|
149
163
|
|
|
150
164
|
|
|
@@ -165,3 +179,5 @@ DataType = Annotated[
|
|
|
165
179
|
| EnumProperty,
|
|
166
180
|
Field(discriminator="type"),
|
|
167
181
|
]
|
|
182
|
+
|
|
183
|
+
DataTypeAdapter: TypeAdapter[DataType] = TypeAdapter(DataType)
|
{cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_indexes.py
RENAMED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
from abc import ABC
|
|
2
2
|
from typing import Annotated, Literal
|
|
3
3
|
|
|
4
|
-
from pydantic import Field
|
|
4
|
+
from pydantic import Field, TypeAdapter
|
|
5
5
|
|
|
6
6
|
from ._base import BaseModelObject
|
|
7
|
+
from ._types import Bool
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class IndexDefinition(BaseModelObject, ABC):
|
|
@@ -13,8 +14,8 @@ class IndexDefinition(BaseModelObject, ABC):
|
|
|
13
14
|
|
|
14
15
|
class BtreeIndex(IndexDefinition):
|
|
15
16
|
index_type: Literal["btree"] = "btree"
|
|
16
|
-
by_space:
|
|
17
|
-
cursorable:
|
|
17
|
+
by_space: Bool | None = Field(default=None, description="Whether to make the index space-specific.")
|
|
18
|
+
cursorable: Bool | None = Field(
|
|
18
19
|
default=None, description="Whether the index can be used for cursor-based pagination."
|
|
19
20
|
)
|
|
20
21
|
|
|
@@ -24,3 +25,5 @@ class InvertedIndex(IndexDefinition):
|
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
Index = Annotated[BtreeIndex | InvertedIndex, Field(discriminator="index_type")]
|
|
28
|
+
|
|
29
|
+
IndexAdapter: TypeAdapter[Index] = TypeAdapter(Index)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from typing import Annotated, Any
|
|
2
|
+
|
|
3
|
+
from pydantic import BeforeValidator
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def str_as_bool(value: Any) -> Any:
|
|
7
|
+
if isinstance(value, str):
|
|
8
|
+
val = value.lower()
|
|
9
|
+
if val in {"true", "1", "yes"}:
|
|
10
|
+
return True
|
|
11
|
+
if val in {"false", "0", "no"}:
|
|
12
|
+
return False
|
|
13
|
+
# All other cases are handled by Pydantic's built-in bool validator
|
|
14
|
+
return value
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
Bool = Annotated[bool, BeforeValidator(str_as_bool, str)]
|
{cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/dms/_view_property.py
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from abc import ABC
|
|
2
2
|
from typing import Annotated, Literal
|
|
3
3
|
|
|
4
|
-
from pydantic import Field, Json
|
|
4
|
+
from pydantic import Field, Json, TypeAdapter
|
|
5
5
|
|
|
6
6
|
from ._base import BaseModelObject, Resource, WriteableResource
|
|
7
7
|
from ._constants import CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN
|
|
@@ -130,53 +130,40 @@ class ReverseDirectRelationProperty(ConnectionPropertyDefinition, ABC):
|
|
|
130
130
|
description="The node(s) containing the direct relation property can be read "
|
|
131
131
|
"through the view specified in 'source'."
|
|
132
132
|
)
|
|
133
|
+
through: ContainerDirectReference | ViewDirectReference = Field(
|
|
134
|
+
description="The view of the node containing the direct relation property."
|
|
135
|
+
)
|
|
133
136
|
|
|
134
137
|
|
|
135
138
|
class SingleReverseDirectRelationPropertyRequest(ReverseDirectRelationProperty):
|
|
136
139
|
connection_type: Literal["single_reverse_direct_relation"] = "single_reverse_direct_relation"
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
description="The view of the node containing the direct relation property."
|
|
142
|
-
)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class MultiReverseDirectRelationPropertyRequest(ReverseDirectRelationProperty):
|
|
143
|
+
connection_type: Literal["multi_reverse_direct_relation"] = "multi_reverse_direct_relation"
|
|
143
144
|
|
|
144
145
|
|
|
145
146
|
class SingleReverseDirectRelationPropertyResponse(
|
|
146
147
|
ReverseDirectRelationProperty, WriteableResource[SingleReverseDirectRelationPropertyRequest]
|
|
147
148
|
):
|
|
148
149
|
connection_type: Literal["single_reverse_direct_relation"] = "single_reverse_direct_relation"
|
|
149
|
-
|
|
150
|
-
description="
|
|
150
|
+
target_list: bool = Field(
|
|
151
|
+
description="Whether or not this reverse direct relation targets a list of direct relations.",
|
|
151
152
|
)
|
|
152
153
|
|
|
153
154
|
def as_request(self) -> SingleReverseDirectRelationPropertyRequest:
|
|
154
|
-
if isinstance(self.through, ViewDirectReference):
|
|
155
|
-
raise TypeError("Cannot convert to request when 'through' is a ViewDirectReference.")
|
|
156
155
|
return SingleReverseDirectRelationPropertyRequest.model_validate(self.model_dump(by_alias=True))
|
|
157
156
|
|
|
158
157
|
|
|
159
|
-
class MultiReverseDirectRelationPropertyRequest(ReverseDirectRelationProperty):
|
|
160
|
-
connection_type: Literal["multi_reverse_direct_relation"] = "multi_reverse_direct_relation"
|
|
161
|
-
# The API support through as either ViewDirectReference or ContainerDirectReference. However, in Neat
|
|
162
|
-
# we only use ContainerDirectReference. This is for simplicity and it improves performance as the server
|
|
163
|
-
# does not have to resolve the view to a container first.
|
|
164
|
-
through: ContainerDirectReference = Field(
|
|
165
|
-
description="The view of the node containing the direct relation property."
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
|
|
169
158
|
class MultiReverseDirectRelationPropertyResponse(
|
|
170
159
|
ReverseDirectRelationProperty, WriteableResource[MultiReverseDirectRelationPropertyRequest]
|
|
171
160
|
):
|
|
172
161
|
connection_type: Literal["multi_reverse_direct_relation"] = "multi_reverse_direct_relation"
|
|
173
|
-
|
|
174
|
-
description="
|
|
162
|
+
target_list: bool = Field(
|
|
163
|
+
description="Whether or not this reverse direct relation targets a list of direct relations.",
|
|
175
164
|
)
|
|
176
165
|
|
|
177
166
|
def as_request(self) -> MultiReverseDirectRelationPropertyRequest:
|
|
178
|
-
if isinstance(self.through, ViewDirectReference):
|
|
179
|
-
raise TypeError("Cannot convert to request when 'through' is a ViewDirectReference.")
|
|
180
167
|
return MultiReverseDirectRelationPropertyRequest.model_validate(self.model_dump(by_alias=True))
|
|
181
168
|
|
|
182
169
|
|
|
@@ -196,3 +183,5 @@ ViewResponseProperty = Annotated[
|
|
|
196
183
|
| ViewCorePropertyResponse,
|
|
197
184
|
Field(discriminator="connection_type"),
|
|
198
185
|
]
|
|
186
|
+
|
|
187
|
+
ViewRequestPropertyAdapter: TypeAdapter[ViewRequestProperty] = TypeAdapter(ViewRequestProperty)
|
{cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/__init__.py
RENAMED
|
@@ -19,7 +19,7 @@ from ._data_types import (
|
|
|
19
19
|
Timeseries,
|
|
20
20
|
)
|
|
21
21
|
from ._identifiers import URI, NameSpace
|
|
22
|
-
from ._parser import ParsedEntity, parse_entity
|
|
22
|
+
from ._parser import ParsedEntity, parse_entities, parse_entity
|
|
23
23
|
|
|
24
24
|
__all__ = [
|
|
25
25
|
"URI",
|
|
@@ -45,5 +45,6 @@ __all__ = [
|
|
|
45
45
|
"Undefined",
|
|
46
46
|
"Unknown",
|
|
47
47
|
"UnknownEntity",
|
|
48
|
+
"parse_entities",
|
|
48
49
|
"parse_entity",
|
|
49
50
|
]
|
{cognite_neat-0.123.43 → cognite_neat-0.124.0}/cognite/neat/_data_model/models/entities/_parser.py
RENAMED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import re
|
|
1
2
|
from dataclasses import dataclass
|
|
3
|
+
from typing import Literal
|
|
2
4
|
|
|
3
5
|
SPECIAL_CHARACTERS = ":()=,"
|
|
4
6
|
|
|
@@ -11,6 +13,18 @@ class ParsedEntity:
|
|
|
11
13
|
suffix: str
|
|
12
14
|
properties: dict[str, str]
|
|
13
15
|
|
|
16
|
+
def __str__(self) -> str:
|
|
17
|
+
props_str = ""
|
|
18
|
+
if self.properties:
|
|
19
|
+
joined = ",".join(f"{k}={v}" for k, v in sorted(self.properties.items(), key=lambda x: x[0]))
|
|
20
|
+
props_str = f"({joined})"
|
|
21
|
+
if self.prefix:
|
|
22
|
+
return f"{self.prefix}:{self.suffix}{props_str}"
|
|
23
|
+
return f"{self.suffix}{props_str}"
|
|
24
|
+
|
|
25
|
+
def __hash__(self) -> int:
|
|
26
|
+
return hash(str(self))
|
|
27
|
+
|
|
14
28
|
|
|
15
29
|
class _EntityParser:
|
|
16
30
|
"""A parser for entity strings in the format 'prefix:suffix(prop1=val1,prop2=val2)'."""
|
|
@@ -192,3 +206,21 @@ def parse_entity(entity_string: str) -> ParsedEntity:
|
|
|
192
206
|
"""
|
|
193
207
|
parser = _EntityParser(entity_string)
|
|
194
208
|
return parser.parse()
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def parse_entities(entities_str: str, separator: Literal[","] = ",") -> list[ParsedEntity] | None:
|
|
212
|
+
"""Parse a comma-separated string of entities.
|
|
213
|
+
|
|
214
|
+
Args:
|
|
215
|
+
entities_str: A comma-separated string of entities.
|
|
216
|
+
separator: The separator used to split entities.
|
|
217
|
+
A list of `ParsedEntity` objects or None if the input string is empty.
|
|
218
|
+
"""
|
|
219
|
+
if not entities_str.strip():
|
|
220
|
+
return None
|
|
221
|
+
if separator != ",":
|
|
222
|
+
raise ValueError("Only ',' is supported as a separator currently.")
|
|
223
|
+
# Regex to split on the separator but ignore separators within parentheses
|
|
224
|
+
pattern = rf"{separator}(?![^()]*\))"
|
|
225
|
+
parts = re.split(pattern, entities_str)
|
|
226
|
+
return [parse_entity(part.strip()) for part in parts if part.strip()]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from ._state_machine import EmptyState, ForbiddenState, State
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class NeatSession:
|
|
5
|
+
"""A session is an interface for neat operations. It works as
|
|
6
|
+
a manager for handling user interactions and orchestrating
|
|
7
|
+
the state machine for data model and instance operations.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
def __init__(self) -> None:
|
|
11
|
+
self.state: State = EmptyState()
|
|
12
|
+
|
|
13
|
+
def _execute_event(self, event: str) -> bool:
|
|
14
|
+
"""Place holder function for executing events and transitioning states.
|
|
15
|
+
It will be modified to include actual logic as we progress with v1 of neat.
|
|
16
|
+
|
|
17
|
+
"""
|
|
18
|
+
print(f"\n--- Executing event: '{event}' from {self.state} ---")
|
|
19
|
+
|
|
20
|
+
old_state = self.state
|
|
21
|
+
new_state = self.state.on_event(event)
|
|
22
|
+
|
|
23
|
+
# Handle ForbiddenState
|
|
24
|
+
if isinstance(new_state, ForbiddenState):
|
|
25
|
+
print(f"❌ Event '{event}' is FORBIDDEN from {old_state}")
|
|
26
|
+
# Return to previous state (as per your table logic)
|
|
27
|
+
self.state = new_state.on_event("undo")
|
|
28
|
+
print(f"↩️ Returned to: {self.state}")
|
|
29
|
+
return False
|
|
30
|
+
else:
|
|
31
|
+
self.state = new_state
|
|
32
|
+
print(f"✅ Transition successful: {old_state} → {self.state}")
|
|
33
|
+
return True
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from ._base import State
|
|
2
|
+
from ._states import (
|
|
3
|
+
ConceptualPhysicalState,
|
|
4
|
+
ConceptualState,
|
|
5
|
+
EmptyState,
|
|
6
|
+
ForbiddenState,
|
|
7
|
+
InstancesConceptualPhysicalState,
|
|
8
|
+
InstancesConceptualState,
|
|
9
|
+
InstancesState,
|
|
10
|
+
PhysicalState,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
"ConceptualPhysicalState",
|
|
15
|
+
"ConceptualState",
|
|
16
|
+
"EmptyState",
|
|
17
|
+
"ForbiddenState",
|
|
18
|
+
"InstancesConceptualPhysicalState",
|
|
19
|
+
"InstancesConceptualState",
|
|
20
|
+
"InstancesState",
|
|
21
|
+
"PhysicalState",
|
|
22
|
+
"State",
|
|
23
|
+
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class State(ABC):
|
|
5
|
+
def __init__(self) -> None:
|
|
6
|
+
# this will be reference to the actual store in the session
|
|
7
|
+
# used to store data models and instances, here only as a placeholder
|
|
8
|
+
self._store = None
|
|
9
|
+
|
|
10
|
+
@abstractmethod
|
|
11
|
+
def on_event(self, event: str) -> "State":
|
|
12
|
+
"""
|
|
13
|
+
Handle events that are delegated to this State.
|
|
14
|
+
"""
|
|
15
|
+
raise NotImplementedError("on_event() must be implemented by the subclass.")
|
|
16
|
+
|
|
17
|
+
def __repr__(self) -> str:
|
|
18
|
+
"""
|
|
19
|
+
Leverages the __str__ method to describe the State.
|
|
20
|
+
"""
|
|
21
|
+
return self.__str__()
|
|
22
|
+
|
|
23
|
+
def __str__(self) -> str:
|
|
24
|
+
"""
|
|
25
|
+
Returns the name of the State.
|
|
26
|
+
"""
|
|
27
|
+
return self.__class__.__name__
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
from ._base import State
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class EmptyState(State):
|
|
5
|
+
"""
|
|
6
|
+
The initial state with empty NEAT store.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
def on_event(self, event: str) -> State:
|
|
10
|
+
if event == "read_instances":
|
|
11
|
+
return InstancesState()
|
|
12
|
+
elif event == "read_conceptual":
|
|
13
|
+
return ConceptualState()
|
|
14
|
+
elif event == "read_physical":
|
|
15
|
+
return PhysicalState()
|
|
16
|
+
|
|
17
|
+
return ForbiddenState(self)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class InstancesState(State):
|
|
21
|
+
"""
|
|
22
|
+
State with instances loaded to the store.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
def on_event(self, event: str) -> State:
|
|
26
|
+
# One can keep on reading instances to stay in the same state
|
|
27
|
+
if event == "read_instances":
|
|
28
|
+
return InstancesState()
|
|
29
|
+
# We either read conceptual model or infer it from instances
|
|
30
|
+
# if read conceptual, we need to make sure that conceptual model is compatible with instances
|
|
31
|
+
elif event in ["infer_conceptual", "read_conceptual"]:
|
|
32
|
+
return InstancesConceptualState()
|
|
33
|
+
|
|
34
|
+
# transforming instances keeps us in the same state
|
|
35
|
+
elif event == "transform_instances":
|
|
36
|
+
return InstancesState()
|
|
37
|
+
# we should allow writing out instances in RDF format but not to CDF
|
|
38
|
+
elif event == "write_instances":
|
|
39
|
+
return InstancesState()
|
|
40
|
+
|
|
41
|
+
# all other operations are forbidden
|
|
42
|
+
return ForbiddenState(self)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ConceptualState(State):
|
|
46
|
+
"""
|
|
47
|
+
State with conceptual model loaded.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
def on_event(self, event: str) -> State:
|
|
51
|
+
# re-reading of model means transformation of
|
|
52
|
+
# the current model has been done outside of NeatSession
|
|
53
|
+
# requires checking that the new model is compatible with the existing
|
|
54
|
+
if event == "read_conceptual":
|
|
55
|
+
return ConceptualState()
|
|
56
|
+
|
|
57
|
+
# when reading: requires linking between models
|
|
58
|
+
# when converting: links are automatically created
|
|
59
|
+
elif event == "read_physical" or event == "convert_to_physical":
|
|
60
|
+
return ConceptualPhysicalState()
|
|
61
|
+
elif event == "transform_conceptual":
|
|
62
|
+
return ConceptualState()
|
|
63
|
+
elif event == "write_conceptual":
|
|
64
|
+
return ConceptualState()
|
|
65
|
+
|
|
66
|
+
return ForbiddenState(self)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class PhysicalState(State):
|
|
70
|
+
"""
|
|
71
|
+
State with physical model loaded.
|
|
72
|
+
"""
|
|
73
|
+
|
|
74
|
+
def on_event(self, event: str) -> State:
|
|
75
|
+
if event == "read_physical":
|
|
76
|
+
return PhysicalState()
|
|
77
|
+
elif event == "transform_physical":
|
|
78
|
+
return PhysicalState()
|
|
79
|
+
elif event == "write_physical":
|
|
80
|
+
return PhysicalState()
|
|
81
|
+
elif event == "convert_to_conceptual" or event == "read_conceptual":
|
|
82
|
+
return ConceptualPhysicalState()
|
|
83
|
+
|
|
84
|
+
return ForbiddenState(self)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class InstancesConceptualState(State):
|
|
88
|
+
"""
|
|
89
|
+
State with both instances and conceptual model loaded.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
def on_event(self, event: str) -> State:
|
|
93
|
+
if event == "read_conceptual":
|
|
94
|
+
return InstancesConceptualState()
|
|
95
|
+
elif event == "transform_conceptual":
|
|
96
|
+
return InstancesConceptualState()
|
|
97
|
+
elif event in ["write_instances", "write_conceptual"]:
|
|
98
|
+
return InstancesConceptualState()
|
|
99
|
+
elif event in ["read_physical", "convert_to_physical"]:
|
|
100
|
+
return InstancesConceptualPhysicalState()
|
|
101
|
+
|
|
102
|
+
return ForbiddenState(self)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class ConceptualPhysicalState(State):
|
|
106
|
+
"""
|
|
107
|
+
State with both conceptual and physical models loaded.
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
def on_event(self, event: str) -> State:
|
|
111
|
+
if event == "read_physical":
|
|
112
|
+
return ConceptualPhysicalState()
|
|
113
|
+
elif event == "transform_physical":
|
|
114
|
+
return ConceptualPhysicalState()
|
|
115
|
+
elif event in ["write_conceptual", "write_physical"]:
|
|
116
|
+
return ConceptualPhysicalState()
|
|
117
|
+
|
|
118
|
+
return ForbiddenState(self)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class InstancesConceptualPhysicalState(State):
|
|
122
|
+
"""
|
|
123
|
+
State with instances, conceptual, and physical models loaded.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
def on_event(self, event: str) -> State:
|
|
127
|
+
if event == "read_physical":
|
|
128
|
+
return InstancesConceptualPhysicalState()
|
|
129
|
+
elif event == "transform_physical":
|
|
130
|
+
return InstancesConceptualPhysicalState()
|
|
131
|
+
elif event in ["write_instances", "write_conceptual", "write_physical"]:
|
|
132
|
+
return InstancesConceptualPhysicalState()
|
|
133
|
+
|
|
134
|
+
return ForbiddenState(self)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class ForbiddenState(State):
|
|
138
|
+
"""
|
|
139
|
+
State representing forbidden transitions - returns to previous state.
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
def __init__(self, previous_state: State):
|
|
143
|
+
self.previous_state = previous_state
|
|
144
|
+
print(f"Forbidden action attempted. Returning to previous state: {previous_state}")
|
|
145
|
+
|
|
146
|
+
def on_event(self, event: str) -> State:
|
|
147
|
+
# only "undo" to trigger going back to previous state
|
|
148
|
+
if event.strip().lower() == "undo":
|
|
149
|
+
return self.previous_state
|
|
150
|
+
return self
|