cognite-neat 0.123.35__tar.gz → 0.123.37__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.37/.github/CODEOWNERS +2 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.github/workflows/code-quality.yaml +8 -4
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.github/workflows/release.yaml +34 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/PKG-INFO +3 -4
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/README.md +1 -2
- cognite_neat-0.123.37/cognite/neat/_data_model/models/conceptual/_base.py +18 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/conceptual/_properties.py +104 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/dms/__init__.py +69 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/dms/_constants.py +46 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/dms/_constraints.py +30 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/dms/_container.py +152 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/dms/_data_types.py +167 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/dms/_indexes.py +26 -0
- cognite_neat-0.123.37/cognite/neat/_data_model/models/dms/_references.py +22 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/entities/__init__.py +3 -0
- cognite_neat-0.123.37/cognite/neat/_issues.py +33 -0
- cognite_neat-0.123.37/cognite/neat/_utils/text.py +40 -0
- cognite_neat-0.123.37/cognite/neat/_utils/validation.py +81 -0
- cognite_neat-0.123.37/cognite/neat/_version.py +2 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/_constants.py +2 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/exporters/__init__.py +1 -2
- cognite_neat-0.123.35/cognite/neat/v0/core/_data_model/exporters/_data_model2ontology.py → cognite_neat-0.123.37/cognite/neat/v0/core/_data_model/exporters/_data_model2semantic_model.py +81 -88
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/physical/_exporter.py +10 -1
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/index.md +1 -1
- cognite_neat-0.123.37/last_changelog_entry.md +4 -0
- cognite_neat-0.123.37/last_git_message.txt +24 -0
- cognite_neat-0.123.37/last_version.txt +1 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/pyproject.toml +1 -2
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/test-pyodide.js +1 -0
- cognite_neat-0.123.37/tests/tests_data_model/test_models/test_conceptual/test_property.py +36 -0
- cognite_neat-0.123.37/tests/tests_unit_v1/test_data_model/test_models/test_dms/test_containers.py +261 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2dms.py +26 -0
- cognite_neat-0.123.37/tests/v0/tests_unit/test_rules/test_exporters/test_rules2ontology.py +44 -0
- cognite_neat-0.123.37/tests/v0/tests_unit/test_store/__init__.py +0 -0
- cognite_neat-0.123.37/tests/v0/tests_unit/test_utils/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/uv.lock +1 -1
- cognite_neat-0.123.35/.github/CODEOWNERS +0 -2
- cognite_neat-0.123.35/cognite/neat/_data_model/models/dms/__init__.py +0 -10
- cognite_neat-0.123.35/cognite/neat/_data_model/models/dms/_constants.py +0 -2
- cognite_neat-0.123.35/cognite/neat/_version.py +0 -2
- cognite_neat-0.123.35/last_changelog_entry.md +0 -4
- cognite_neat-0.123.35/last_git_message.txt +0 -18
- cognite_neat-0.123.35/last_version.txt +0 -1
- cognite_neat-0.123.35/tests/v0/tests_unit/test_rules/test_exporters/test_rules2ontology.py +0 -28
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.coveragerc +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.gemini/styleguide.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.github/pull_request_template.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.github/renovate.json +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.gitignore +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.pre-commit-config.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/.readthedocs.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/CODE_OF_CONDUCT.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/CONTRIBUTING.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/LICENSE +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cdf.toml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/codecov.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/_constants.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/_identifiers.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/__init__.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/_utils → cognite_neat-0.123.37/cognite/neat/_data_model/models/conceptual}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/dms/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/dms/_space.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/entities/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/entities/_constants.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/entities/_data_types.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/entities/_identifiers.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_data_model/models/entities/_parser.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0 → cognite_neat-0.123.37/cognite/neat/_utils}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_utils/auxiliary.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_utils/http_client/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_utils/http_client/_client.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_utils/http_client/_config.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_utils/http_client/_data_classes.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_utils/http_client/_tracker.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/_utils/useful_types.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/py.typed +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0/core → cognite_neat-0.123.37/cognite/neat/v0}/__init__.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0/core/_client/_api → cognite_neat-0.123.37/cognite/neat/v0/core}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/__init__.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0/core/_client/data_classes → cognite_neat-0.123.37/cognite/neat/v0/core/_client/_api}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/_api/data_modeling_loaders.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/_api/neat_instances.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/_api/schema.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/_api/statistics.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/_api_client.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0/core/_data_model → cognite_neat-0.123.37/cognite/neat/v0/core/_client/data_classes}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/data_classes/data_modeling.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/data_classes/neat_sequence.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/data_classes/schema.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/data_classes/statistics.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_client/testing.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_config.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_constants.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0/core/_instances → cognite_neat-0.123.37/cognite/neat/v0/core/_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/_shared.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/analysis/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/analysis/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/catalog/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/catalog/classic_model.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/exporters/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/exporters/_data_model2dms.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/exporters/_data_model2excel.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/exporters/_data_model2instance_template.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/exporters/_data_model2yaml.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_base_file_reader.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_dict2data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_dms2data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_graph2data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_rdf/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_rdf/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_rdf/_shared.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/_base_unverified.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/_base_verified.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/_import_contexts.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/_types.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/conceptual/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/conceptual/_unverified.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/conceptual/_validation.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/conceptual/_verified.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/data_types.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/_constants.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/_loaders.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/_multi_value.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/_restrictions.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/_single_value.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/_types.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/entities/_wrapped.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/mapping/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/mapping/_classic2core.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/mapping/_classic2core.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/physical/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/physical/_unverified.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/physical/_validation.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/models/physical/_verified.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/transformers/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/transformers/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/transformers/_converters.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/transformers/_mapping.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/transformers/_union_conceptual.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_data_model/transformers/_verification.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0/core/_instances/extractors/_classic_cdf → cognite_neat-0.123.37/cognite/neat/v0/core/_instances}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/_shared.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/_tracking/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/_tracking/base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/_tracking/log.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/examples/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_base.py +0 -0
- {cognite_neat-0.123.35/cognite/neat/v0/core/_utils → cognite_neat-0.123.37/cognite/neat/v0/core/_instances/extractors/_classic_cdf}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_events.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_files.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_dict.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_dms.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_dms_graph.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_mock_graph_generator.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_raw.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/extractors/_rdf_file.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/loaders/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/loaders/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/loaders/_rdf2dms.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/loaders/_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/queries/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/queries/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/queries/_queries.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/queries/_select.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/queries/_update.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/transformers/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/transformers/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/transformers/_classic_cdf.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/transformers/_prune_graph.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/transformers/_rdfpath.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_instances/transformers/_value_type.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/_contextmanagers.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/_factory.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/errors/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/errors/_external.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/errors/_general.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/errors/_properties.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/errors/_resources.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/errors/_wrapper.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/formatters.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/warnings/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/warnings/_external.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/warnings/_general.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/warnings/_models.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/warnings/_properties.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/warnings/_resources.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_issues/warnings/user_modeling.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_shared.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_store/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_store/_data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_store/_instance.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_store/_provenance.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_store/exceptions.py +0 -0
- {cognite_neat-0.123.35/tests → cognite_neat-0.123.37/cognite/neat/v0/core/_utils}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/auth.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/auxiliary.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/collection_.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/graph_transformations_report.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/io_.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/rdf_.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/reader/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/reader/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/spreadsheet.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/tarjan.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/text.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/time_.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/upload.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/core/_utils/xml_.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/plugins/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/plugins/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/plugins/_data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/plugins/_issues.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/plugins/_manager.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_base.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_collector.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_drop.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_experimental.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_explore.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_fix.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_inspect.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_mapping.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_plugin.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_prepare.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_read.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_set.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_show.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_state/README.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_state.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_subset.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_template.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_to.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/_wizard.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/engine/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/engine/_import.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/engine/_interface.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/engine/_load.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/cognite/neat/v0/session/exceptions.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/dev.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/aml-dm.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/aml-instances-full.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/authorship.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/base-components.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/change_validate_step.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/container_spec.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/core_extension.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/core_extension_excel.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/data-exploration.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/data-model-nordic44.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dm-classes.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dm-object-shapes.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dm-prefixes.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/execution-history.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/export_dms_config.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/export_dms_executed.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/export_dms_workflow.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/features.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/graph-etl-flow.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/high-level-io.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/instances-nordic44.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/instances-sheet.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/logo.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/metadata-sheet.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/multi-hop.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/neat-high-level.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/neat-two_flows.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/neat_shift_tab.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/neat_tab.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/prefixes-sheet.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/run_workflow.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/step-configurables.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/step-metrics.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/validate_workflow.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/wf-overview.gif +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/work-in-progress.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/workflow-context.jpg +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/data-modeling-principles.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/conceptual/overview.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/conceptual/reference.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/data_model.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/physical/enum.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/physical/overview.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/physical/properties.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/physical/reference.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/physical/views.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/excel_data_modeling/units.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/gettingstarted/installation.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/gettingstarted/why-neat.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/base.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/drop.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/fix.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/inspect.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/mapping.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/prepare.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/read.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/set.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/show.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/subset.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/template.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/NeatSession/to.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/issues/base.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/issues/errors.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/issues/user_model_warnings.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/issues/warnings.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/reference/overview.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/cold_start.ipynb +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/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.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/docs/tutorials/introduction/introduction.ipynb +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/mkdocs.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/clean_space.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/core_classic_mapping.xlsx +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/create_classic_core_mapping_yaml.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/dependency_profiler.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/docs_generate_reference.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/docs_generate_unit.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/generate_steps_md.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/.gitignore +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/README.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/config.dev.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/manual_test_dms_importer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/migration.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/oxi_remote/README.md +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/oxi_remote/docker-compose.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/test_lookup_table.csv +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/scripts/windfarm_to_toolkit.py +0 -0
- {cognite_neat-0.123.35/tests/tests_data_model → cognite_neat-0.123.37/tests}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/tests_data_model/test_models → cognite_neat-0.123.37/tests/tests_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/tests_data_model/test_models/test_entities → cognite_neat-0.123.37/tests/tests_data_model/test_models}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/tests_unit → cognite_neat-0.123.37/tests/tests_data_model/test_models/test_conceptual}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/tests_unit/test_data_model → cognite_neat-0.123.37/tests/tests_data_model/test_models/test_entities}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/tests_data_model/test_models/test_entities/test_base_entities.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/tests_data_model/test_models/test_entities/test_data_type.py +0 -0
- {cognite_neat-0.123.35/tests/tests_unit/test_data_model/test_models → cognite_neat-0.123.37/tests/tests_unit}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/tests_unit/test_data_model/test_models/test_dms → cognite_neat-0.123.37/tests/tests_unit/test_data_model}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/tests_unit/test_data_model/test_models/test_entities → cognite_neat-0.123.37/tests/tests_unit/test_data_model/test_models}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/tests_unit/test_utils → cognite_neat-0.123.37/tests/tests_unit/test_data_model/test_models/test_dms}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/tests_unit/test_data_model/test_models/test_dms/test_resources.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_end_to_end → cognite_neat-0.123.37/tests/tests_unit/test_data_model/test_models/test_entities}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/tests_unit/test_data_model/test_models/test_entities/test_identifiers.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration → cognite_neat-0.123.37/tests/tests_unit/test_utils}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/tests_unit/test_utils/test_auxiliary.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/tests_unit_v1/test_data_model/test_models/test_entities/test_parser.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/tests_unit_v1/test_utils/test_http_client.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/config.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/conftest.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_api → cognite_neat-0.123.37/tests/v0/tests_end_to_end}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml_new_endpoint.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_end_to_end/test_rules_flow.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_graph → cognite_neat-0.123.37/tests/v0/tests_integration}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/conftest.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_graph/test_loaders → cognite_neat-0.123.37/tests/v0/tests_integration/test_api}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_api/test_conversion.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_api/test_validate_rules.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_client_available.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_neat_client → cognite_neat-0.123.37/tests/v0/tests_integration/test_graph}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_rules → cognite_neat-0.123.37/tests/v0/tests_integration/test_graph/test_loaders}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_rules/test_exporters → cognite_neat-0.123.37/tests/v0/tests_integration/test_neat_client}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_neat_client/test_statistics.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_rules/test_importers → cognite_neat-0.123.37/tests/v0/tests_integration/test_rules}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_session → cognite_neat-0.123.37/tests/v0/tests_integration/test_rules/test_exporters}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_rules/test_exporters/test_dms_exporters.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_integration/test_utils → cognite_neat-0.123.37/tests/v0/tests_integration/test_rules/test_importers}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit → cognite_neat-0.123.37/tests/v0/tests_integration/test_session}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_create_enterprise.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_data_model_prepare_fix.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_data_model_to.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_graph_flow.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_read/test_read_cdm.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_session/test_read.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_graph → cognite_neat-0.123.37/tests/v0/tests_integration/test_utils}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_integration/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_graph/test_extractors → cognite_neat-0.123.37/tests/v0/tests_unit}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_graph/test_loaders → cognite_neat-0.123.37/tests/v0/tests_unit/test_graph}/__init__.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_graph/test_transformers → cognite_neat-0.123.37/tests/v0/tests_unit/test_graph/test_extractors}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_asset_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_graph_read.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_issues → cognite_neat-0.123.37/tests/v0/tests_unit/test_graph/test_loaders}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_loaders/test_rdf2dms.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_loaders/test_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_provenance.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_neat_client → cognite_neat-0.123.37/tests/v0/tests_unit/test_graph/test_transformers}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_prune_graph.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_rules → cognite_neat-0.123.37/tests/v0/tests_unit/test_issues}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_issues/test_formatters.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_issues/test_issue_behavior.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_issues/test_issues_metatests.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_rules/test_exporters → cognite_neat-0.123.37/tests/v0/tests_unit/test_neat_client}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_neat_client/test_instances.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_neat_client/test_loaders.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_neat_client/test_schema.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_neat_package_metadata.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_plugins.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_rules/test_importers → cognite_neat-0.123.37/tests/v0/tests_unit/test_rules}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_analysis.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_rules/test_models → cognite_neat-0.123.37/tests/v0/tests_unit/test_rules/test_exporters}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_exporters/test_exporters_meta.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2excel.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_exporters/test_rules2yaml.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_rules/test_transformers → cognite_neat-0.123.37/tests/v0/tests_unit/test_rules/test_importers}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_importers/constants.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_importers/test_dms_importer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_importers/test_excel_importer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_importers/test_graph_data_model_importer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_importers/test_inference_importer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_importers/test_owl_importer.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_importers/test_subinference_importer.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_session → cognite_neat-0.123.37/tests/v0/tests_unit/test_rules/test_models}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_asset_rules.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_base_rules.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_conceptual_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_data_types.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_dms_schema.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_entities.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_physical_data_model.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_restrictions.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/test_wrapped_entities.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_models/utils.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_store → cognite_neat-0.123.37/tests/v0/tests_unit/test_rules/test_transformers}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_transformers/test_converters.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_transformers/test_mapping.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_transformers/test_transformer_meta.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_rules/test_transformers/test_union_conceptual.py +0 -0
- {cognite_neat-0.123.35/tests/v0/tests_unit/test_utils → cognite_neat-0.123.37/tests/v0/tests_unit/test_session}/__init__.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_session/test_flows.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_session/test_meta.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_session/test_plugin.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_session/test_read.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_session/test_to_yaml.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_store/test_select_queries.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_store/tests_rules_store.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_utils/test_auxiliary.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_utils/test_cdf_classes.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_utils/test_rdf.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_utils/test_tarjan.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_utils/test_text.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/tests_unit/test_utils/test_utils.py +0 -0
- {cognite_neat-0.123.35 → cognite_neat-0.123.37}/tests/v0/utils.py +0 -0
|
@@ -45,7 +45,6 @@ jobs:
|
|
|
45
45
|
|
|
46
46
|
checks:
|
|
47
47
|
runs-on: ubuntu-latest
|
|
48
|
-
environment: dev
|
|
49
48
|
strategy:
|
|
50
49
|
fail-fast: false
|
|
51
50
|
matrix:
|
|
@@ -70,7 +69,7 @@ jobs:
|
|
|
70
69
|
- run: uv sync --all-extras
|
|
71
70
|
|
|
72
71
|
- name: Run unit tests
|
|
73
|
-
run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest tests/tests_unit
|
|
72
|
+
run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest tests/tests_unit tests/tests_unit_v1
|
|
74
73
|
|
|
75
74
|
build-docs:
|
|
76
75
|
runs-on: ubuntu-latest
|
|
@@ -92,9 +91,9 @@ jobs:
|
|
|
92
91
|
mkdocs build
|
|
93
92
|
|
|
94
93
|
|
|
94
|
+
|
|
95
95
|
coverage:
|
|
96
96
|
runs-on: ubuntu-latest
|
|
97
|
-
environment: dev
|
|
98
97
|
steps:
|
|
99
98
|
- uses: actions/checkout@v3
|
|
100
99
|
|
|
@@ -117,7 +116,7 @@ jobs:
|
|
|
117
116
|
CDF_PROJECT: ${{ vars.CDF_PROJECT }}
|
|
118
117
|
IDP_CLIENT_ID: ${{ vars.IDP_CLIENT_ID }}
|
|
119
118
|
IDP_CLIENT_SECRET: ${{ secrets.IDP_CLIENT_SECRET }}
|
|
120
|
-
IDP_TENANT_ID: ${{
|
|
119
|
+
IDP_TENANT_ID: ${{ vars.IDP_TENANT_ID }}
|
|
121
120
|
run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest --cov=cognite/ --cov-config=pyproject.toml --cov-report=xml:coverage.xml tests/
|
|
122
121
|
|
|
123
122
|
- name: Push coverage report to PR
|
|
@@ -126,6 +125,11 @@ jobs:
|
|
|
126
125
|
coverageFile: coverage.xml
|
|
127
126
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
128
127
|
thresholdAll: 0.8
|
|
128
|
+
- name: Upload coverage reports to Codecov
|
|
129
|
+
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
|
|
130
|
+
with:
|
|
131
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
132
|
+
slug: cognitedata/neat
|
|
129
133
|
|
|
130
134
|
validate-description:
|
|
131
135
|
name: Validate PR description
|
|
@@ -10,6 +10,40 @@ env:
|
|
|
10
10
|
PYTHON_VERSION: "3.11"
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
|
+
upload_coverage:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v3
|
|
17
|
+
|
|
18
|
+
- name: Install uv and set the python version
|
|
19
|
+
uses: astral-sh/setup-uv@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ env.PYTHON_VERSION }}
|
|
22
|
+
|
|
23
|
+
- name: Set up cache
|
|
24
|
+
uses: actions/cache@v4
|
|
25
|
+
with:
|
|
26
|
+
path: .venv
|
|
27
|
+
key: venv-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('uv.lock') }}
|
|
28
|
+
|
|
29
|
+
- run: uv sync --all-extras
|
|
30
|
+
|
|
31
|
+
- name: Create test coverage report
|
|
32
|
+
env:
|
|
33
|
+
CDF_CLUSTER: ${{ vars.CDF_CLUSTER }}
|
|
34
|
+
CDF_PROJECT: ${{ vars.CDF_PROJECT }}
|
|
35
|
+
IDP_CLIENT_ID: ${{ vars.IDP_CLIENT_ID }}
|
|
36
|
+
IDP_CLIENT_SECRET: ${{ secrets.IDP_CLIENT_SECRET }}
|
|
37
|
+
IDP_TENANT_ID: ${{ vars.IDP_TENANT_ID }}
|
|
38
|
+
run: export PYTHONPATH=$PYTHONPATH:$(pwd); uv run pytest --cov=cognite/ --cov-config=pyproject.toml --cov-report=xml:coverage.xml tests/
|
|
39
|
+
|
|
40
|
+
- name: Upload coverage reports to Codecov
|
|
41
|
+
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5
|
|
42
|
+
with:
|
|
43
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
44
|
+
slug: cognitedata/neat
|
|
45
|
+
|
|
46
|
+
|
|
13
47
|
release-to-pypi:
|
|
14
48
|
runs-on: ubuntu-latest
|
|
15
49
|
environment: CD
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.123.
|
|
3
|
+
Version: 0.123.37
|
|
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/
|
|
7
7
|
Project-URL: GitHub, https://github.com/cognitedata/neat
|
|
8
8
|
Project-URL: Changelog, https://github.com/cognitedata/neat/releases
|
|
9
|
-
Author-email: Nikola Vasiljevic <nikola.vasiljevic@cognite.com>, Anders Albert <anders.albert@cognite.com
|
|
9
|
+
Author-email: Nikola Vasiljevic <nikola.vasiljevic@cognite.com>, Anders Albert <anders.albert@cognite.com>
|
|
10
10
|
License-Expression: Apache-2.0
|
|
11
11
|
License-File: LICENSE
|
|
12
12
|
Requires-Python: >=3.10
|
|
@@ -96,16 +96,15 @@ The plot below shows the NEAT authorship from the start until present day.
|
|
|
96
96
|
#### Current authors
|
|
97
97
|
- [Nikola Vasiljević](www.linkedin.com/in/thisisnikola)
|
|
98
98
|
- [Anders Albert](https://www.linkedin.com/in/anders-albert-00790483/)
|
|
99
|
-
- [Rogerio Júnior](https://www.linkedin.com/in/rogerio-saboia-j%C3%BAnior-087118a7/)
|
|
100
99
|
|
|
101
100
|
#### Former authors
|
|
102
101
|
- [Aleksandrs Livincovs](https://www.linkedin.com/in/aleksandrslivincovs/)
|
|
103
102
|
- [Julia Graham](https://www.linkedin.com/in/julia-graham-959a78a7/)
|
|
103
|
+
- [Rogerio Júnior](https://www.linkedin.com/in/rogerio-saboia-j%C3%BAnior-087118a7/)
|
|
104
104
|
|
|
105
105
|
### Contributors
|
|
106
106
|
We are very grateful for the contributions made by:
|
|
107
107
|
|
|
108
|
-
|
|
109
108
|
- [Marie Solvik Lepoutre](https://www.linkedin.com/in/mslepoutre/), who improved RDF triples projections to Cognite Data Fusion
|
|
110
109
|
- [Bård Henning Tvedt](https://www.linkedin.com/in/bhtvedt/), who implemented IMF importer
|
|
111
110
|
- [Hassan Gomaa](https://www.linkedin.com/in/dr-hassan-gomaa-232638121/), who extended the DEXPI extractor
|
|
@@ -41,16 +41,15 @@ The plot below shows the NEAT authorship from the start until present day.
|
|
|
41
41
|
#### Current authors
|
|
42
42
|
- [Nikola Vasiljević](www.linkedin.com/in/thisisnikola)
|
|
43
43
|
- [Anders Albert](https://www.linkedin.com/in/anders-albert-00790483/)
|
|
44
|
-
- [Rogerio Júnior](https://www.linkedin.com/in/rogerio-saboia-j%C3%BAnior-087118a7/)
|
|
45
44
|
|
|
46
45
|
#### Former authors
|
|
47
46
|
- [Aleksandrs Livincovs](https://www.linkedin.com/in/aleksandrslivincovs/)
|
|
48
47
|
- [Julia Graham](https://www.linkedin.com/in/julia-graham-959a78a7/)
|
|
48
|
+
- [Rogerio Júnior](https://www.linkedin.com/in/rogerio-saboia-j%C3%BAnior-087118a7/)
|
|
49
49
|
|
|
50
50
|
### Contributors
|
|
51
51
|
We are very grateful for the contributions made by:
|
|
52
52
|
|
|
53
|
-
|
|
54
53
|
- [Marie Solvik Lepoutre](https://www.linkedin.com/in/mslepoutre/), who improved RDF triples projections to Cognite Data Fusion
|
|
55
54
|
- [Bård Henning Tvedt](https://www.linkedin.com/in/bhtvedt/), who implemented IMF importer
|
|
56
55
|
- [Hassan Gomaa](https://www.linkedin.com/in/dr-hassan-gomaa-232638121/), who extended the DEXPI extractor
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from pydantic import BaseModel, Field
|
|
2
|
+
from pydantic.alias_generators import to_camel
|
|
3
|
+
|
|
4
|
+
from cognite.neat._data_model._identifiers import URI
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class BaseModelObject(BaseModel, alias_generator=to_camel, extra="ignore", populate_by_name=True):
|
|
8
|
+
"""Base class for all object. This includes resources and nested objects."""
|
|
9
|
+
|
|
10
|
+
...
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ResourceMetadata(BaseModelObject):
|
|
14
|
+
name: str | None = Field(
|
|
15
|
+
None, description="Human readable / display name of resource being described.", max_length=1024
|
|
16
|
+
)
|
|
17
|
+
description: str | None = Field(None, description="The description of the resource.", max_length=255)
|
|
18
|
+
uri: URI | None = Field(None, description="The URI of the resource being described.")
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
3
|
+
from pydantic import Field, ValidationInfo, field_validator, model_validator
|
|
4
|
+
|
|
5
|
+
from cognite.neat._data_model.models.entities import URI, ConceptEntity, DataType, UnknownEntity
|
|
6
|
+
|
|
7
|
+
from ._base import ResourceMetadata
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Property(ResourceMetadata):
|
|
11
|
+
value_type: DataType | ConceptEntity | UnknownEntity = Field(
|
|
12
|
+
union_mode="left_to_right",
|
|
13
|
+
description="Value type that the property can hold. It takes either subset of XSD type or a class defined.",
|
|
14
|
+
)
|
|
15
|
+
min_count: int | None = Field(
|
|
16
|
+
default=None,
|
|
17
|
+
ge=0,
|
|
18
|
+
description="Minimum number of values that the property can hold. "
|
|
19
|
+
"If no value is provided, the default value is None meaning `0`, "
|
|
20
|
+
"which means that the property is optional.",
|
|
21
|
+
)
|
|
22
|
+
max_count: int | None = Field(
|
|
23
|
+
default=None,
|
|
24
|
+
ge=0,
|
|
25
|
+
description="Maximum number of values that the property can hold. "
|
|
26
|
+
"If no value is provided, the default value is None meaning `inf`, "
|
|
27
|
+
"which means that the property can hold any number of values (listable).",
|
|
28
|
+
)
|
|
29
|
+
default: Any | None = Field(alias="Default", default=None, description="Default value of the property.")
|
|
30
|
+
instance_reference: list[URI] | None = Field(
|
|
31
|
+
default=None,
|
|
32
|
+
description="The URI(s) in the graph to get the value of the property.",
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
@model_validator(mode="after")
|
|
36
|
+
def check_min_max_count(self) -> "Property":
|
|
37
|
+
if self.min_count is not None and self.max_count is not None:
|
|
38
|
+
if self.min_count > self.max_count:
|
|
39
|
+
raise ValueError("min_count must be less than or equal to max_count")
|
|
40
|
+
return self
|
|
41
|
+
|
|
42
|
+
@field_validator("default", mode="after")
|
|
43
|
+
def check_default_value_primitive_type(cls, value: Any, info: ValidationInfo) -> Any:
|
|
44
|
+
if not value:
|
|
45
|
+
return value
|
|
46
|
+
|
|
47
|
+
value_type = info.data.get("value_type")
|
|
48
|
+
if not isinstance(value_type, DataType):
|
|
49
|
+
raise ValueError("Setting default value is only supported for primitive value types.")
|
|
50
|
+
return value
|
|
51
|
+
|
|
52
|
+
@field_validator("default", mode="after")
|
|
53
|
+
def check_default_value_python_type_exists(cls, value: Any, info: ValidationInfo) -> Any:
|
|
54
|
+
if not value:
|
|
55
|
+
return value
|
|
56
|
+
|
|
57
|
+
value_type = info.data.get("value_type")
|
|
58
|
+
|
|
59
|
+
if isinstance(value_type, DataType) and not hasattr(value_type, "python"):
|
|
60
|
+
raise ValueError(
|
|
61
|
+
f"DataType {value_type} does not have a python type defined."
|
|
62
|
+
" Setting default value for property is not possible."
|
|
63
|
+
)
|
|
64
|
+
return value
|
|
65
|
+
|
|
66
|
+
@field_validator("default", mode="after")
|
|
67
|
+
def check_default_value_not_list(cls, value: Any, info: ValidationInfo) -> Any:
|
|
68
|
+
if not value:
|
|
69
|
+
return value
|
|
70
|
+
|
|
71
|
+
if isinstance(value, list):
|
|
72
|
+
raise ValueError("Setting list as default value is not supported.")
|
|
73
|
+
return value
|
|
74
|
+
|
|
75
|
+
@field_validator("default", mode="after")
|
|
76
|
+
def check_default_value_single_valued(cls, value: Any, info: ValidationInfo) -> Any:
|
|
77
|
+
if not value:
|
|
78
|
+
return value
|
|
79
|
+
|
|
80
|
+
max_count = info.data.get("max_count")
|
|
81
|
+
|
|
82
|
+
if max_count is None or max_count > 1:
|
|
83
|
+
raise ValueError(
|
|
84
|
+
"Setting default value is only supported for single-valued properties."
|
|
85
|
+
f" Property has max_count={max_count or 'Inf'}."
|
|
86
|
+
)
|
|
87
|
+
return value
|
|
88
|
+
|
|
89
|
+
@field_validator("default", mode="after")
|
|
90
|
+
def check_default_value_type_match(cls, value: Any, info: ValidationInfo) -> Any:
|
|
91
|
+
if not value:
|
|
92
|
+
return value
|
|
93
|
+
|
|
94
|
+
value_type = info.data.get("value_type")
|
|
95
|
+
|
|
96
|
+
if (
|
|
97
|
+
isinstance(value_type, DataType)
|
|
98
|
+
and hasattr(value_type, "python")
|
|
99
|
+
and not isinstance(value, value_type.python)
|
|
100
|
+
):
|
|
101
|
+
raise ValueError(
|
|
102
|
+
f"Default value type is {type(value)}, which does not match expected value type {value_type.python}."
|
|
103
|
+
)
|
|
104
|
+
return value
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
from cognite.neat._data_model.models.dms._base import Resource, WriteableResource
|
|
2
|
+
from cognite.neat._data_model.models.dms._constraints import (
|
|
3
|
+
Constraint,
|
|
4
|
+
ConstraintDefinition,
|
|
5
|
+
RequiresConstraintDefinition,
|
|
6
|
+
UniquenessConstraintDefinition,
|
|
7
|
+
)
|
|
8
|
+
from cognite.neat._data_model.models.dms._container import (
|
|
9
|
+
Container,
|
|
10
|
+
ContainerPropertyDefinition,
|
|
11
|
+
ContainerRequest,
|
|
12
|
+
ContainerResponse,
|
|
13
|
+
)
|
|
14
|
+
from cognite.neat._data_model.models.dms._data_types import (
|
|
15
|
+
BooleanProperty,
|
|
16
|
+
DataType,
|
|
17
|
+
DateProperty,
|
|
18
|
+
DirectNodeRelation,
|
|
19
|
+
EnumProperty,
|
|
20
|
+
FileCDFExternalIdReference,
|
|
21
|
+
FloatProperty,
|
|
22
|
+
Int32Property,
|
|
23
|
+
Int64Property,
|
|
24
|
+
JSONProperty,
|
|
25
|
+
ListablePropertyTypeDefinition,
|
|
26
|
+
PropertyTypeDefinition,
|
|
27
|
+
SequenceCDFExternalIdReference,
|
|
28
|
+
TextProperty,
|
|
29
|
+
TimeseriesCDFExternalIdReference,
|
|
30
|
+
TimestampProperty,
|
|
31
|
+
)
|
|
32
|
+
from cognite.neat._data_model.models.dms._indexes import BtreeIndex, Index, IndexDefinition, InvertedIndex
|
|
33
|
+
from cognite.neat._data_model.models.dms._space import Space, SpaceRequest, SpaceResponse
|
|
34
|
+
|
|
35
|
+
__all__ = [
|
|
36
|
+
"BooleanProperty",
|
|
37
|
+
"BtreeIndex",
|
|
38
|
+
"Constraint",
|
|
39
|
+
"ConstraintDefinition",
|
|
40
|
+
"Container",
|
|
41
|
+
"ContainerPropertyDefinition",
|
|
42
|
+
"ContainerRequest",
|
|
43
|
+
"ContainerResponse",
|
|
44
|
+
"DataType",
|
|
45
|
+
"DateProperty",
|
|
46
|
+
"DirectNodeRelation",
|
|
47
|
+
"EnumProperty",
|
|
48
|
+
"FileCDFExternalIdReference",
|
|
49
|
+
"FloatProperty",
|
|
50
|
+
"Index",
|
|
51
|
+
"IndexDefinition",
|
|
52
|
+
"Int32Property",
|
|
53
|
+
"Int64Property",
|
|
54
|
+
"InvertedIndex",
|
|
55
|
+
"JSONProperty",
|
|
56
|
+
"ListablePropertyTypeDefinition",
|
|
57
|
+
"PropertyTypeDefinition",
|
|
58
|
+
"RequiresConstraintDefinition",
|
|
59
|
+
"Resource",
|
|
60
|
+
"SequenceCDFExternalIdReference",
|
|
61
|
+
"Space",
|
|
62
|
+
"SpaceRequest",
|
|
63
|
+
"SpaceResponse",
|
|
64
|
+
"TextProperty",
|
|
65
|
+
"TimeseriesCDFExternalIdReference",
|
|
66
|
+
"TimestampProperty",
|
|
67
|
+
"UniquenessConstraintDefinition",
|
|
68
|
+
"WriteableResource",
|
|
69
|
+
]
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
SPACE_FORMAT_PATTERN = r"^[a-zA-Z][a-zA-Z0-9_-]{0,41}[a-zA-Z0-9]?$"
|
|
2
|
+
DM_EXTERNAL_ID_PATTERN = r"^[a-zA-Z]([a-zA-Z0-9_]{0,253}[a-zA-Z0-9])?$"
|
|
3
|
+
CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN = r"^[a-zA-Z0-9][a-zA-Z0-9_-]{0,253}[a-zA-Z0-9]?$"
|
|
4
|
+
INSTANCE_ID_PATTERN = r"^[^\\x00]{1,256}$"
|
|
5
|
+
ENUM_VALUE_IDENTIFIER_PATTERN = r"^[_A-Za-z][_0-9A-Za-z]{0,127}$"
|
|
6
|
+
FORBIDDEN_ENUM_VALUES = frozenset({"true", "false", "null"})
|
|
7
|
+
FORBIDDEN_SPACES = frozenset(["space", "cdf", "dms", "pg3", "shared", "system", "node", "edge"])
|
|
8
|
+
FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS = frozenset(
|
|
9
|
+
[
|
|
10
|
+
"Query",
|
|
11
|
+
"Mutation",
|
|
12
|
+
"Subscription",
|
|
13
|
+
"String",
|
|
14
|
+
"Int32",
|
|
15
|
+
"Int64",
|
|
16
|
+
"Int",
|
|
17
|
+
"Float32",
|
|
18
|
+
"Float64",
|
|
19
|
+
"Float",
|
|
20
|
+
"Timestamp",
|
|
21
|
+
"JSONObject",
|
|
22
|
+
"Date",
|
|
23
|
+
"Numeric",
|
|
24
|
+
"Boolean",
|
|
25
|
+
"PageInfo",
|
|
26
|
+
"File",
|
|
27
|
+
"Sequence",
|
|
28
|
+
"TimeSeries",
|
|
29
|
+
]
|
|
30
|
+
)
|
|
31
|
+
FORBIDDEN_CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER = frozenset(
|
|
32
|
+
[
|
|
33
|
+
"space",
|
|
34
|
+
"externalId",
|
|
35
|
+
"createdTime",
|
|
36
|
+
"lastUpdatedTime",
|
|
37
|
+
"deletedTime",
|
|
38
|
+
"edge_id",
|
|
39
|
+
"node_id",
|
|
40
|
+
"project_id",
|
|
41
|
+
"property_group",
|
|
42
|
+
"seq",
|
|
43
|
+
"tg_table_name",
|
|
44
|
+
"extensions",
|
|
45
|
+
]
|
|
46
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from abc import ABC
|
|
2
|
+
from typing import Annotated, Literal
|
|
3
|
+
|
|
4
|
+
from pydantic import Field
|
|
5
|
+
|
|
6
|
+
from ._base import BaseModelObject
|
|
7
|
+
from ._references import ContainerReference
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ConstraintDefinition(BaseModelObject, ABC):
|
|
11
|
+
constraint_type: str
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class UniquenessConstraintDefinition(ConstraintDefinition):
|
|
15
|
+
constraint_type: Literal["uniqueness"] = "uniqueness"
|
|
16
|
+
properties: list[str] = Field(
|
|
17
|
+
description="List of properties included in the constraint.", min_length=1, max_length=10
|
|
18
|
+
)
|
|
19
|
+
by_space: bool | None = Field(default=None, description="Whether to make the constraint space-specific.")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class RequiresConstraintDefinition(ConstraintDefinition):
|
|
23
|
+
constraint_type: Literal["requires"] = "requires"
|
|
24
|
+
require: ContainerReference = Field(description="Reference to an existing container.")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Constraint = Annotated[
|
|
28
|
+
UniquenessConstraintDefinition | RequiresConstraintDefinition,
|
|
29
|
+
Field(discriminator="constraint_type"),
|
|
30
|
+
]
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from abc import ABC
|
|
3
|
+
from typing import Any, Literal
|
|
4
|
+
|
|
5
|
+
from pydantic import Field, field_validator
|
|
6
|
+
from pydantic_core.core_schema import ValidationInfo
|
|
7
|
+
|
|
8
|
+
from cognite.neat._utils.text import humanize_collection
|
|
9
|
+
|
|
10
|
+
from ._base import BaseModelObject, Resource, WriteableResource
|
|
11
|
+
from ._constants import (
|
|
12
|
+
CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN,
|
|
13
|
+
DM_EXTERNAL_ID_PATTERN,
|
|
14
|
+
FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS,
|
|
15
|
+
FORBIDDEN_CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER,
|
|
16
|
+
SPACE_FORMAT_PATTERN,
|
|
17
|
+
)
|
|
18
|
+
from ._constraints import Constraint
|
|
19
|
+
from ._data_types import DataType
|
|
20
|
+
from ._indexes import Index
|
|
21
|
+
|
|
22
|
+
KEY_PATTERN = re.compile(CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ContainerPropertyDefinition(BaseModelObject):
|
|
26
|
+
immutable: bool | None = Field(
|
|
27
|
+
default=None,
|
|
28
|
+
description="Should updates to this property be rejected after the initial population?",
|
|
29
|
+
)
|
|
30
|
+
nullable: bool | None = Field(
|
|
31
|
+
default=None,
|
|
32
|
+
description="Does this property need to be set to a value, or not?",
|
|
33
|
+
)
|
|
34
|
+
auto_increment: bool | None = Field(
|
|
35
|
+
default=None,
|
|
36
|
+
description="Increment the property based on its highest current value (max value).",
|
|
37
|
+
)
|
|
38
|
+
default_value: str | int | bool | dict[str, Any] | None = Field(
|
|
39
|
+
default=None,
|
|
40
|
+
description="Default value to use when you do not specify a value for the property.",
|
|
41
|
+
)
|
|
42
|
+
description: str | None = Field(
|
|
43
|
+
default=None,
|
|
44
|
+
description="Description of the content and suggested use for this property.",
|
|
45
|
+
max_length=1024,
|
|
46
|
+
)
|
|
47
|
+
name: str | None = Field(
|
|
48
|
+
default=None,
|
|
49
|
+
description="Readable property name.",
|
|
50
|
+
max_length=255,
|
|
51
|
+
)
|
|
52
|
+
type: DataType = Field(description="The type of data you can store in this property.")
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class Container(Resource, ABC):
|
|
56
|
+
space: str = Field(
|
|
57
|
+
description="The workspace for the container, a unique identifier for the space.",
|
|
58
|
+
min_length=1,
|
|
59
|
+
max_length=43,
|
|
60
|
+
pattern=SPACE_FORMAT_PATTERN,
|
|
61
|
+
)
|
|
62
|
+
external_id: str = Field(
|
|
63
|
+
description="External-id of the container.",
|
|
64
|
+
min_length=1,
|
|
65
|
+
max_length=255,
|
|
66
|
+
pattern=DM_EXTERNAL_ID_PATTERN,
|
|
67
|
+
)
|
|
68
|
+
name: str | None = Field(
|
|
69
|
+
default=None,
|
|
70
|
+
description="name for the container.",
|
|
71
|
+
max_length=255,
|
|
72
|
+
)
|
|
73
|
+
description: str | None = Field(
|
|
74
|
+
default=None,
|
|
75
|
+
description="Description of the container.",
|
|
76
|
+
max_length=1024,
|
|
77
|
+
)
|
|
78
|
+
used_for: Literal["node", "edge", "all"] | None = Field(
|
|
79
|
+
default=None,
|
|
80
|
+
description="Should this operation apply to nodes, edges or both.",
|
|
81
|
+
)
|
|
82
|
+
properties: dict[str, ContainerPropertyDefinition] = Field(
|
|
83
|
+
description="Set of properties to apply to the container.",
|
|
84
|
+
min_length=1,
|
|
85
|
+
)
|
|
86
|
+
constraints: dict[str, Constraint] | None = Field(
|
|
87
|
+
default=None,
|
|
88
|
+
description="Set of constraints to apply to the container.",
|
|
89
|
+
max_length=10,
|
|
90
|
+
)
|
|
91
|
+
indexes: dict[str, Index] | None = Field(
|
|
92
|
+
default=None,
|
|
93
|
+
description="Set of indexes to apply to the container.",
|
|
94
|
+
max_length=10,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
@field_validator("indexes", "constraints", mode="after")
|
|
98
|
+
def validate_key_length(cls, val: dict[str, Any] | None, info: ValidationInfo) -> dict[str, Any] | None:
|
|
99
|
+
"""Validate keys"""
|
|
100
|
+
if not isinstance(val, dict):
|
|
101
|
+
return val
|
|
102
|
+
invalid_keys = {key for key in val.keys() if not (1 <= len(key) <= 43)}
|
|
103
|
+
if invalid_keys:
|
|
104
|
+
raise ValueError(
|
|
105
|
+
f"{info.field_name} keys must be between 1 and 43 characters long. Invalid keys: "
|
|
106
|
+
f"{humanize_collection(invalid_keys)}"
|
|
107
|
+
)
|
|
108
|
+
return val
|
|
109
|
+
|
|
110
|
+
@field_validator("properties", mode="after")
|
|
111
|
+
def validate_property_keys(cls, val: dict[str, Any]) -> dict[str, Any]:
|
|
112
|
+
"""Validate property keys"""
|
|
113
|
+
if invalid_keys := {key for key in val if not KEY_PATTERN.match(key)}:
|
|
114
|
+
raise ValueError(
|
|
115
|
+
f"Property keys must match pattern '{CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER_PATTERN}'. "
|
|
116
|
+
f"Invalid keys: {humanize_collection(invalid_keys)}"
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
if forbidden_keys := set(val.keys()).intersection(FORBIDDEN_CONTAINER_AND_VIEW_PROPERTIES_IDENTIFIER):
|
|
120
|
+
raise ValueError(
|
|
121
|
+
f"Property keys cannot be any of the following reserved values: {humanize_collection(forbidden_keys)}"
|
|
122
|
+
)
|
|
123
|
+
return val
|
|
124
|
+
|
|
125
|
+
@field_validator("external_id")
|
|
126
|
+
def check_forbidden_external_id_value(cls, val: str) -> str:
|
|
127
|
+
"""Check the external_id not present in forbidden set"""
|
|
128
|
+
if val in FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS:
|
|
129
|
+
raise ValueError(
|
|
130
|
+
f"{val!r} is a reserved container External ID. Reserved External IDs are: "
|
|
131
|
+
f"{humanize_collection(FORBIDDEN_CONTAINER_AND_VIEW_EXTERNAL_IDS)}"
|
|
132
|
+
)
|
|
133
|
+
return val
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class ContainerRequest(Container): ...
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class ContainerResponse(Container, WriteableResource[ContainerRequest]):
|
|
140
|
+
created_time: int = Field(
|
|
141
|
+
description="When the container was created. The number of milliseconds since 00:00:00 "
|
|
142
|
+
"Thursday, 1 January 1970, "
|
|
143
|
+
"Coordinated Universal Time (UTC), minus leap seconds."
|
|
144
|
+
)
|
|
145
|
+
last_updated_time: int = Field(
|
|
146
|
+
description="When the container was last updated. The number of milliseconds since 00:00:00 Thursday, "
|
|
147
|
+
"1 January 1970, Coordinated Universal Time (UTC), minus leap seconds."
|
|
148
|
+
)
|
|
149
|
+
is_global: bool = Field(description="Whether the container is a global container.")
|
|
150
|
+
|
|
151
|
+
def as_request(self) -> "ContainerRequest":
|
|
152
|
+
return ContainerRequest.model_validate(self.model_dump(by_alias=True))
|