cognite-neat 0.123.14__tar.gz → 0.123.15__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.15/.gemini/styleguide.md +177 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/PKG-INFO +1 -1
- cognite_neat-0.123.15/cognite/neat/_version.py +2 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/conceptual/_validation.py +82 -97
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/transformers/__init__.py +2 -0
- cognite_neat-0.123.15/cognite/neat/core/_data_model/transformers/_union_conceptual.py +208 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/_base.py +5 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/warnings/_models.py +2 -2
- cognite_neat-0.123.15/last_changelog_entry.md +4 -0
- cognite_neat-0.123.15/last_git_message.txt +32 -0
- cognite_neat-0.123.15/last_version.txt +1 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/pyproject.toml +1 -1
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_importers/test_owl_importer.py +5 -14
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_conceptual_model.py +2 -2
- cognite_neat-0.123.15/tests/tests_unit/test_rules/test_transformers/test_union_conceptual.py +261 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/uv.lock +2 -2
- cognite_neat-0.123.14/cognite/neat/_version.py +0 -2
- cognite_neat-0.123.14/last_changelog_entry.md +0 -4
- cognite_neat-0.123.14/last_git_message.txt +0 -39
- cognite_neat-0.123.14/last_version.txt +0 -1
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.coveragerc +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.github/CODEOWNERS +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.github/pull_request_template.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.github/renovate.json +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.github/workflows/code-quality.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.github/workflows/release.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.gitignore +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.pre-commit-config.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/.readthedocs.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/CODE_OF_CONDUCT.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/CONTRIBUTING.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/LICENSE +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/README.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cdf.toml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/codecov.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/_api/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/_api/data_modeling_loaders.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/_api/neat_instances.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/_api/schema.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/_api/statistics.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/_api_client.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/data_classes/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/data_classes/data_modeling.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/data_classes/neat_sequence.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/data_classes/schema.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/data_classes/statistics.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_client/testing.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_config.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_constants.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/_constants.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/_shared.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/analysis/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/analysis/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/catalog/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/catalog/classic_model.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/exporters/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/exporters/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/exporters/_data_model2dms.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/exporters/_data_model2excel.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/exporters/_data_model2instance_template.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/exporters/_data_model2ontology.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/exporters/_data_model2yaml.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_base_file_reader.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_dict2data_model.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_dms2data_model.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_rdf/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_rdf/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_rdf/_inference2rdata_model.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_rdf/_owl2data_model.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_rdf/_shared.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/importers/_spreadsheet2data_model.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/_base_unverified.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/_base_verified.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/_types.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/conceptual/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/conceptual/_unverified.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/conceptual/_verified.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/data_types.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/entities/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/entities/_constants.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/entities/_loaders.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/entities/_multi_value.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/entities/_single_value.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/entities/_types.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/entities/_wrapped.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/mapping/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/mapping/_classic2core.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/mapping/_classic2core.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/physical/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/physical/_exporter.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/physical/_unverified.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/physical/_validation.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/models/physical/_verified.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/transformers/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/transformers/_converters.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/transformers/_mapping.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_data_model/transformers/_verification.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/_shared.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/_tracking/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/_tracking/base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/_tracking/log.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/examples/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_classic.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_events.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_files.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_relationships.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_sequences.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_dict.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_dms.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_dms_graph.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_mock_graph_generator.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_raw.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/extractors/_rdf_file.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/loaders/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/loaders/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/loaders/_rdf2dms.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/loaders/_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/queries/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/queries/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/queries/_queries.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/queries/_select.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/queries/_update.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/transformers/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/transformers/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/transformers/_classic_cdf.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/transformers/_prune_graph.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/transformers/_rdfpath.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_instances/transformers/_value_type.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/_contextmanagers.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/_factory.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/errors/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/errors/_external.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/errors/_general.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/errors/_properties.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/errors/_resources.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/errors/_wrapper.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/formatters.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/warnings/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/warnings/_external.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/warnings/_general.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/warnings/_properties.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/warnings/_resources.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_issues/warnings/user_modeling.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_shared.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_store/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_store/_data_model.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_store/_instance.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_store/_provenance.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_store/exceptions.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/auth.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/auxiliary.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/collection_.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/graph_transformations_report.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/io_.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/rdf_.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/reader/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/reader/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/spreadsheet.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/tarjan.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/text.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/time_.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/upload.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/core/_utils/xml_.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/plugins/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/plugins/_issues.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/plugins/_manager.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/plugins/data_model/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/plugins/data_model/importers/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/plugins/data_model/importers/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/py.typed +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_base.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_collector.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_drop.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_experimental.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_explore.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_fix.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_inspect.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_mapping.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_plugin.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_prepare.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_read.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_set.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_show.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_state/README.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_state.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_subset.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_template.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_to.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/_wizard.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/engine/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/engine/_import.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/engine/_interface.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/engine/_load.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/cognite/neat/session/exceptions.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/dev.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/DataModelCDF.PNG +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/DataModelInstancesCDF.PNG +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/DataModelInstancesVizCDF.PNG +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/aml-dm-cdf.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/aml-dm.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/aml-instances-cdf.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/aml-instances-full.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_dms_typed.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/asset_hierarchy_lift_pump_stations_populated_with_typed.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/authorship.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/base-components.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/bid_capacity_data_model.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/change_validate_step.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/connecting_metadata_dm.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/connecting_metadata_populated.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/connecting_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/container_spec.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/core_extension.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/core_extension_excel.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/core_extension_no_connection.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/core_extension_with_properties.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/data-exploration.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/data-model-nordic44.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dexpi-dm-cdf.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dexpi-dm-viz.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dexpi-graph-viz.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dexpi-instance-cdf.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dexpi-transformed-graph-viz.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dm-classes.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dm-object-shapes.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dm-prefixes.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dm-source-to-solution-mapping.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dm2cdf-asset.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/dm2cdf-mapping.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/execution-history.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/export_dms_config.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/export_dms_executed.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/export_dms_workflow.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/features.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/graph-etl-flow.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/high-level-io.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/instances-nordic44.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/instances-sheet.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/key-aspects-of-neat.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/knowledge-graph-viz-filtering.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/knowledge-graph-viz.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/life_cycle_analitic_solution_export_dms.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/life_cycle_converter_model_analytic_solution_model.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_soluteion_model.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/life_cycle_download_reference_model_analytic_solution_model_export.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/logo.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/metadata-sheet.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/multi-hop.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/neat-high-level.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/neat-two_flows.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/neat_shift_tab.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/neat_tab.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/prefixes-sheet.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/pump_hello_world_published.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf-in-nutshell.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf2cdf-graph-change.jpg +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf2cdf-graph-resurrect.jpg +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf2cdf-graph.jpg +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf2cdf-init-run-step1.jpg +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf2cdf-init-run-step2.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf2cdf-init-run.jpg +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/rdf2cdf-post-init.jpg +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/run_workflow.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/sheet2cdf-asset-hierarchy.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/sheet2cdf-running-workflow.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/sheet2cdf-transformation-rules-ui.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/sheet2cdf-upload-rules.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/sheet2cdf-workflow-steps.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/sheet2cdf-workflow.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/sheet2cdf-workflow.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/step-configurables.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/step-metrics.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/tutorial-notebooks-part-2_graph-capturing-sheet.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/validate_workflow.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/wf-ephemeral-mode.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/wf-overview.gif +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/wf-persistent-blocking-mode.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/wf-persistent-non-blocking.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/wf-start-mode-ui.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/wind_farm_classic_knowledge_graph.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/wind_farm_data_product_instances.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/work-in-progress.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/workflow-context.jpg +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/working_with_metadata_provenance.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/figs/working_with_metadata_published_dm.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/cdf-dms-architect-alice.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/dms-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/dms-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/dms-architect-rules-raw-filter-example.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/dms-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/dms-rebuild-olav.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/domain-expert-rules-template.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/expert-grid-emma.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/expert-wind-energy-jon.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/information-addition-svein-harald.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/information-analytics-olav-ref.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/information-analytics-olav.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/information-architect-david.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/rules/information-architect-rules-template.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-1-defining-data-model.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-1-download-rules-template.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-1-upload-gql-schema-to-cdf.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-2-graph-capturing-sheet.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-3-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-3-decommissioning.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-3-relationships.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-3-resurrection.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/artifacts/videos/tutorial-4-asset-hierarchy.mp4 +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/data-modeling-principles.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/conceptual/overview.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/conceptual/reference.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/data_model.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/physical/enum.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/physical/overview.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/physical/properties.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/physical/reference.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/physical/views.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/excel_data_modeling/units.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/gettingstarted/installation.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/gettingstarted/why-neat.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/index.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/base.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/drop.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/fix.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/inspect.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/mapping.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/prepare.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/read.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/set.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/show.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/subset.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/template.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/NeatSession/to.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/issues/base.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/issues/errors.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/issues/user_model_warnings.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/issues/warnings.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/reference/overview.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/cold_start.ipynb +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/figs/data-modeling-flow.png +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/files/wind_farm_prospecting_conceptual_data_model_expanded.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/files/wind_farm_prospecting_physical_data_model.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/from-conceptual-to-physical-via-CDM.ipynb +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_conceptual_wind_energy_WindFarmProspecting_v1.html +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/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.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/http_purl.org_cognite_neat_data-model_verified_physical_neat_playground_NeatHelloWorld_v1.html +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/my_first_model.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/data-modeling/physical-data-model.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/docs/tutorials/introduction/introduction.ipynb +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/mkdocs.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/clean_space.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/core_classic_mapping.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/create_classic_core_mapping_yaml.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/dependency_profiler.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/docs_generate_reference.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/docs_generate_unit.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/generate_steps_md.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/.gitignore +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/README.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/config.dev.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/neat_integration_runner/README.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/neat_integration_runner/auth/neat_cicd_testing.group.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/lift_pumps/classic/lift_pump_stations_root.Asset.csv +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/lift_pumps/data_sets/hierarchies.DataSet.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.csv +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/lift_pumps/raw/collections_pump.Table.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Asset.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/Measurement.Label.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/MetMast.Asset.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/PowerGeneratingUnit.Label.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/Utsira.Asset.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01.Asset.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-01_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02.Asset.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/WT-02_to_MetMast.Relationship.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/WindTurbine.Label.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/metMast.Label.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/planned_WT-01_2022-01-01.Event.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/classic/power_curve_manufacturer1.Sequence.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/data_sets/maintenance.DataSet.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/data_sets/source_ds.DataSet.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/data_sets/usecase_01.DataSet.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.FileMetadata.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/files/WT-01_datasheet.txt +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-01_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_forecast.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/integration_runner/modules/test_data/windfarm/timeseries/WT-02_production.TimeSeries.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/manual_test_dms_importer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/migration.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/oxi_remote/README.md +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/oxi_remote/docker-compose.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/test_lookup_table.csv +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/scripts/windfarm_to_toolkit.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/config.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/conftest.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_graph/aml-raw-graph.ttl +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_graph/aml_example.aml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_graph/car.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_graph/dexpi-raw-graph.ttl +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_graph/dexpi_example.xml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_graph/iodd_Piab-piCOMPACT10X-20230509-IODD1.1.xml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_graph/low-quality-graph.ttl +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/assets.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/events.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/files.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/labels.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/relationships.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/sequence_rows.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/sequences.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/asset_centric_cdf/timeseries.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_instances/classic_windfarm.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conceptual/broken_concepts.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conceptual/dangling-properties.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conceptual/info-arch-car-rules.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conceptual/info_with_cdm_ref.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conceptual/information-unknown-value-type.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conceptual/only_concepts.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conceptual/ontology.ttl +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conversion/single_concept.conceptual.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/conversion/single_concept.physical.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/non_neat/cognite_core_v1.zip +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/non_neat/referencing_core/MyDescribable.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/non_neat/referencing_core/MyDescribable.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/non_neat/referencing_core/enterprise.datamodel.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/non_neat/windturbine.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/partial-model/complete.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/partial-model/part1.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/partial-model/part2.ttl +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/partial-model/part3.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/car_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/car_dms_rules_deprecated.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/dm_raw_filter.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/dm_view_space_different.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/dms-unknown-value-type.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/isa_plus_cdm.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/missing-in-model-value.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/mixed-up-version.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/physical_singleton_issue.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/pump_example_duplicated_resources.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/pump_example_with_missing_cells.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/pump_example_with_missing_cells_raise_issues.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/1.Production.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/10.SimNode.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/12.SimSubNode.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/13.SimEdge.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/14.Property.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/15.Coordinate.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/16.Coordinates.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/17.ModelExecutionEnvironment.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/18.Coordinate.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/19.Coordinates.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/2.SimulationModel.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/20.SimEdge.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/21.ProductionTimeseries.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/22.SimNode.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/23.Production.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/24.SimSubNode.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/25.SimulationResultFile.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/26.InputProperty.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/28.OutputProperty.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/29.Property.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/3.strongly-coupled-model.datamodel.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/30.SimulationModel.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/31.SimNodeAndEdge.view.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/5.my.space.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/6.ModelExecutionEnvironment.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/7.ProductionTimeseries.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/8.SimNodeAndEdge.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical/strongly_connected_model/data_models/9.SimulationResultFile.container.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_invalid/inconsistent_container_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_invalid/invalid_metadata.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_invalid/invalid_property_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_invalid/missing_view_container_dms_rules.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_invalid/too_many_containers_per_view.xlsx +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_yamls/invalid_indices.expected_issues.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_yamls/invalid_indices.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_yamls/invalid_yaml.expected_issues.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_yamls/invalid_yaml.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_yamls/multiple_indices_on_property.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.expected_issues.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/data/_schema/physical_yamls/reverse_direct_relation_missing_target.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_end_to_end/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_end_to_end/test_rules_flow/test_cdm_extension_verification.yaml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_end_to_end/test_rules_flow/test_excel_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_end_to_end/test_rules_flow/test_ontology_importer_to_yaml.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_end_to_end/test_rules_flow/test_to_extension_transformer.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_end_to_end/test_rules_flow.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/conftest.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_api/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_api/test_conversion.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_api/test_validate_rules.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_client_available.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_graph/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_graph/test_loaders/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_neat_client/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_neat_client/test_cdf_loaders.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_neat_client/test_statistics.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_rules/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_rules/test_exporters/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_rules/test_exporters/test_dms_exporters.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_rules/test_importers/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_create_enterprise.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_dms_rules_entities.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_prefix_info_rules_entities.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_data_model_prepare_fix/test_standardize_space_and_version.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_data_model_prepare_fix.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_data_model_to/test_raw_filter.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_data_model_to.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_graph_flow/test_aml_to_dms.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_graph_flow/test_create_extension_template.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_graph_flow/test_dexpi_to_dms.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_ids_to_python.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_graph_flow/test_snapshot_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_graph_flow/test_uplift_workflow_to_python.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_graph_flow.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_read/test_read_model_referencing_core.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_session/test_read.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_utils/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_integration/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_asset_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_dms_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_dms_graph_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_events_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_files_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_labels_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_raw_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_relationship_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_sequences_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_extractors/test_timeseries_extractor.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_graph_read.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_loaders/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_loaders/test_dms_loader.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_loaders/test_rdf2dms.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_loaders/test_rdf_to_instance_space.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_provenance.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_asset_depth_transformer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_asset_event_connector_transformer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_asset_file_connector_transformer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_asset_relationship_connector_transformer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_asset_sequence_connector_transformer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_asset_ts_connector_transformer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_attach_property_from_target2source.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_connection_to_literal.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_make_connection_on_exact_match.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_prune_graph.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_graph/test_transformers/test_split_multi_value_property_transformer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_issues/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_issues/test_formatters.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_issues/test_issue_behavior.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_issues/test_issues_metatests.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_neat_client/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_neat_client/test_instances.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_neat_client/test_loaders.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_neat_client/test_schema.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_neat_package_metadata.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_plugins.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_analysis.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_exporters/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_exporters/test_exporters_meta.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_exporters/test_rules2dms.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_exporters/test_rules2excel.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_exporters/test_rules2ontology.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_exporters/test_rules2yaml.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_importers/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_importers/constants.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_importers/test_dms_importer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_importers/test_excel_importer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_importers/test_inference_importer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_importers/test_subinference_importer.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_asset_rules.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_base_rules.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_data_types.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_dms_schema.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_entities.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_input_rules.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_physical_data_model.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/test_wrapped_entities.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_models/utils.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_transformers/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_transformers/test_converters.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_transformers/test_mapping.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_rules/test_transformers/test_transformer_meta.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_session/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_session/test_flows.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_session/test_meta.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_session/test_plugin.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_session/test_read.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_session/test_to_yaml.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_store/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_store/test_select_queries.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_store/tests_rules_store/test_import_export.yml +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_store/tests_rules_store.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/__init__.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/test_auxiliary.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/test_cdf_classes.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/test_rdf.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/test_reader.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/test_tarjan.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/test_text.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/tests_unit/test_utils/test_utils.py +0 -0
- {cognite_neat-0.123.14 → cognite_neat-0.123.15}/tests/utils.py +0 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Cognite Python Style Guide
|
|
2
|
+
|
|
3
|
+
## Key Principles
|
|
4
|
+
|
|
5
|
+
- **Strong Typing**: Use type hints extensively with pyright. Avoid `Any` when possible
|
|
6
|
+
- **Type Safety**: Use dataclasses and Pydantic models for complex data
|
|
7
|
+
structures instead of untyped dictionaries
|
|
8
|
+
- **IO Safety**: Always use typed data structures for file operations and data parsing
|
|
9
|
+
- **Readability**: Code should be immediately understandable
|
|
10
|
+
- **Maintainability**: Write code that is easy to modify and extend
|
|
11
|
+
- **Consistency**: Follow established patterns across the codebase
|
|
12
|
+
|
|
13
|
+
## Principles on doing pull request reviews
|
|
14
|
+
|
|
15
|
+
- **Main point first.** Start with the key feedback or required action.
|
|
16
|
+
- **Be concise.** Use short, direct comments. Avoid unnecessary explanations.
|
|
17
|
+
- **Actionable suggestions.** If something needs fixing, state exactly what and how.
|
|
18
|
+
- **One issue per comment.** Separate unrelated feedback for clarity.
|
|
19
|
+
- **Code, not prose.** Prefer code snippets or examples over long text.
|
|
20
|
+
- **Background only if needed.** Add context only if the main point isn't obvious.
|
|
21
|
+
|
|
22
|
+
## How to do pull request summaries
|
|
23
|
+
|
|
24
|
+
- **Short recap.** Summarize the main point of the PR in one or two sentences.
|
|
25
|
+
- **Don't repeat the PR description.** Only add new or clarifying information.
|
|
26
|
+
- **Be brief unless needed.** Only write a longer summary if the PR description
|
|
27
|
+
is missing crucial details.
|
|
28
|
+
- **Extend, don't duplicate.** If more detail is needed, clearly state what is
|
|
29
|
+
missing from the PR description and add only the necessary context.
|
|
30
|
+
|
|
31
|
+
## Line Length and Formatting
|
|
32
|
+
|
|
33
|
+
- **Maximum line length**: 120 characters (configured in ruff)
|
|
34
|
+
- **Target Python version**: 3.10+
|
|
35
|
+
- **Indentation**: 4 spaces per level
|
|
36
|
+
|
|
37
|
+
## Type Hints
|
|
38
|
+
|
|
39
|
+
- **Required**: All functions, methods, and class attributes must have type hints
|
|
40
|
+
- **Avoid `Any`**: Use specific types whenever possible
|
|
41
|
+
- **Complex data**: Use dataclasses or Pydantic models instead of `dict[str, Any]`
|
|
42
|
+
- **File operations**: Always parse file content into typed structures
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
# Good - typed data structure
|
|
46
|
+
@dataclass
|
|
47
|
+
class Config:
|
|
48
|
+
model_name: str
|
|
49
|
+
temperature: float
|
|
50
|
+
max_tokens: int
|
|
51
|
+
|
|
52
|
+
def load_config(path: Path) -> Config:
|
|
53
|
+
data = json.loads(path.read_text())
|
|
54
|
+
return Config(**data)
|
|
55
|
+
|
|
56
|
+
# Bad - untyped dictionary
|
|
57
|
+
def load_config(path: Path) -> dict[str, Any]:
|
|
58
|
+
return json.loads(path.read_text())
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Imports
|
|
62
|
+
|
|
63
|
+
- **Group imports**: Standard library, third-party, local application
|
|
64
|
+
- **Absolute imports**: Always use absolute imports for clarity
|
|
65
|
+
- **Sort alphabetically** within groups
|
|
66
|
+
- **Type checking imports**: Use `TYPE_CHECKING` for type-only imports
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
import json
|
|
70
|
+
import logging
|
|
71
|
+
from pathlib import Path
|
|
72
|
+
from typing import TYPE_CHECKING
|
|
73
|
+
|
|
74
|
+
from cognite.client import CogniteClient
|
|
75
|
+
from pydantic import BaseModel
|
|
76
|
+
|
|
77
|
+
from cog_ai.common.types import ModelConfig
|
|
78
|
+
|
|
79
|
+
if TYPE_CHECKING:
|
|
80
|
+
from cog_ai.tools.query.types import QueryCompletion
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Naming Conventions
|
|
84
|
+
|
|
85
|
+
- **Variables/functions**: `snake_case`
|
|
86
|
+
- **Constants**: `UPPER_SNAKE_CASE`
|
|
87
|
+
- **Classes**: `PascalCase`
|
|
88
|
+
- **Modules**: `snake_case`
|
|
89
|
+
- **Private members**: Single leading underscore `_private`
|
|
90
|
+
|
|
91
|
+
## Docstrings
|
|
92
|
+
|
|
93
|
+
Use concise docstrings with Args/Returns format. Based on repository patterns:
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
def render_header(header: str) -> str:
|
|
97
|
+
"""
|
|
98
|
+
Renders a (markdown) heading.
|
|
99
|
+
|
|
100
|
+
Args:
|
|
101
|
+
header (str): header
|
|
102
|
+
|
|
103
|
+
Returns:
|
|
104
|
+
str: The rendered header
|
|
105
|
+
"""
|
|
106
|
+
return f"{header}\n{'=' * len(header)}\n"
|
|
107
|
+
|
|
108
|
+
def walk_sdk_documentation(content: Tag, parser: Parser[T]) -> Iterable[T]:
|
|
109
|
+
"""Parse the content of a file and yields documents. The parser controls how
|
|
110
|
+
the sections are transformed into documents."""
|
|
111
|
+
# Implementation here
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Docstring patterns**:
|
|
115
|
+
|
|
116
|
+
- Start with a concise description
|
|
117
|
+
- Use `Args:` and `Returns:` for complex functions
|
|
118
|
+
- Omit obvious parameter descriptions
|
|
119
|
+
- Keep descriptions brief and factual
|
|
120
|
+
- Ok for `__init__` methods to omit docstring
|
|
121
|
+
|
|
122
|
+
## Error Handling
|
|
123
|
+
|
|
124
|
+
- **Specific exceptions**: Avoid broad `Exception` catches
|
|
125
|
+
- **Graceful handling**: Provide meaningful error messages
|
|
126
|
+
- **Type safety**: Return `None` or use Union types for fallible operations
|
|
127
|
+
|
|
128
|
+
```python
|
|
129
|
+
def load_llm_response(response: str) -> dict[str, Any] | None:
|
|
130
|
+
try:
|
|
131
|
+
return json.loads(response)
|
|
132
|
+
except (TypeError, json.JSONDecodeError) as e:
|
|
133
|
+
log.warning(f"Failed json load response from LLM: {e}")
|
|
134
|
+
return None
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Tooling
|
|
138
|
+
|
|
139
|
+
- **Formatter**: `uv run ruff format --force-exclude --quiet`
|
|
140
|
+
- **Linter**: `uv run ruff check --force-exclude --fix --exit-non-zero-on-fix`
|
|
141
|
+
- **Type checker**: `dmypy run -- cognite_toolkit/ --config-file pyproject.toml` (uses mypy)
|
|
142
|
+
- **Pre-commit**: `pre-commit run --all-files` for comprehensive checks
|
|
143
|
+
|
|
144
|
+
## Ruff Configuration Deviations
|
|
145
|
+
|
|
146
|
+
Current project configuration deviates from PEP 8:
|
|
147
|
+
|
|
148
|
+
- **Line length**: 120 characters (vs PEP 8's 79)
|
|
149
|
+
- **Ignored rules**: E501 (line too long), UP017 (datetime.timezone.utc)
|
|
150
|
+
- **Selected rules**: Includes bugbear (B0), pyupgrade (UP), and isort (I)
|
|
151
|
+
|
|
152
|
+
## Data Structures
|
|
153
|
+
|
|
154
|
+
**Prefer typed structures**:
|
|
155
|
+
|
|
156
|
+
```python
|
|
157
|
+
# Good
|
|
158
|
+
@dataclass
|
|
159
|
+
class FunctionError:
|
|
160
|
+
function_name: str
|
|
161
|
+
message: str
|
|
162
|
+
|
|
163
|
+
# Good
|
|
164
|
+
class QueryCompletion(BaseModel):
|
|
165
|
+
query: str
|
|
166
|
+
variables: dict[str, Any]
|
|
167
|
+
|
|
168
|
+
# Avoid
|
|
169
|
+
error_data = {"function_name": "foo", "message": "bar"}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Logging
|
|
173
|
+
|
|
174
|
+
- Use the `logging` module with appropriate levels
|
|
175
|
+
- Include contextual information for debugging
|
|
176
|
+
- Format: `log.warning(f"Description: {variable}")`
|
|
177
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.123.
|
|
3
|
+
Version: 0.123.15
|
|
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/
|
|
@@ -2,6 +2,7 @@ import itertools
|
|
|
2
2
|
from collections import Counter, defaultdict
|
|
3
3
|
from collections.abc import Iterable
|
|
4
4
|
|
|
5
|
+
from cognite.neat.core._constants import get_base_concepts
|
|
5
6
|
from cognite.neat.core._data_model._constants import PATTERNS, EntityTypes
|
|
6
7
|
from cognite.neat.core._data_model.models.entities import ConceptEntity, UnknownEntity
|
|
7
8
|
from cognite.neat.core._data_model.models.entities._multi_value import MultiValueTypeInfo
|
|
@@ -35,23 +36,31 @@ class ConceptualValidation:
|
|
|
35
36
|
data_model: ConceptualDataModel,
|
|
36
37
|
read_info_by_spreadsheet: dict[str, SpreadsheetRead] | None = None,
|
|
37
38
|
):
|
|
39
|
+
# import here to avoid circular import issues
|
|
40
|
+
from cognite.neat.core._data_model.analysis._base import DataModelAnalysis
|
|
41
|
+
|
|
38
42
|
self.data_model = data_model
|
|
43
|
+
self.analysis = DataModelAnalysis(self.data_model)
|
|
39
44
|
self._read_info_by_spreadsheet = read_info_by_spreadsheet or {}
|
|
40
45
|
self._metadata = data_model.metadata
|
|
41
46
|
self._properties = data_model.properties
|
|
42
47
|
self._concepts = data_model.concepts
|
|
48
|
+
self._cdf_concepts = {
|
|
49
|
+
ConceptEntity.load(concept_as_string) for concept_as_string in get_base_concepts(base_model="CogniteCore")
|
|
50
|
+
}
|
|
43
51
|
self.issue_list = IssueList()
|
|
44
52
|
|
|
45
53
|
def validate(self) -> IssueList:
|
|
46
54
|
self._duplicated_resources()
|
|
47
55
|
self._namespaces_reassigned()
|
|
48
|
-
self.
|
|
49
|
-
self.
|
|
50
|
-
self.
|
|
51
|
-
|
|
52
|
-
self.
|
|
53
|
-
self._concept_only_data_model()
|
|
56
|
+
self._concepts_without_properties_exist()
|
|
57
|
+
self._concepts_with_properties_defined()
|
|
58
|
+
self._ancestors_defined()
|
|
59
|
+
|
|
60
|
+
self._object_properties_use_defined_concepts()
|
|
54
61
|
self._dangling_properties()
|
|
62
|
+
|
|
63
|
+
self._concept_only_data_model()
|
|
55
64
|
self._regex_compliance_with_physical_data_model()
|
|
56
65
|
|
|
57
66
|
return self.issue_list
|
|
@@ -59,23 +68,23 @@ class ConceptualValidation:
|
|
|
59
68
|
def _concept_only_data_model(self) -> None:
|
|
60
69
|
"""Check if the data model only consists of concepts without any properties."""
|
|
61
70
|
if not self._properties:
|
|
62
|
-
self.issue_list.
|
|
71
|
+
self.issue_list.append_if_not_exist(ConceptOnlyDataModelWarning())
|
|
63
72
|
|
|
64
73
|
def _dangling_properties(self) -> None:
|
|
65
74
|
"""Check if there are properties that do not reference any concept."""
|
|
66
75
|
dangling_properties = [prop for prop in self._properties if prop.concept == UnknownEntity()]
|
|
67
76
|
if dangling_properties:
|
|
68
77
|
for prop in dangling_properties:
|
|
69
|
-
self.issue_list.
|
|
78
|
+
self.issue_list.append_if_not_exist(DanglingPropertyWarning(property_id=prop.property_))
|
|
70
79
|
|
|
71
80
|
def _duplicated_resources(self) -> None:
|
|
72
|
-
|
|
73
|
-
|
|
81
|
+
properties_sheet_info = self._read_info_by_spreadsheet.get("Properties")
|
|
82
|
+
concepts_sheet_info = self._read_info_by_spreadsheet.get("Concepts")
|
|
74
83
|
|
|
75
84
|
visited = defaultdict(list)
|
|
76
85
|
for row_no, property_ in enumerate(self._properties):
|
|
77
86
|
visited[property_._identifier()].append(
|
|
78
|
-
|
|
87
|
+
properties_sheet_info.adjusted_row_number(row_no) if properties_sheet_info else row_no + 1
|
|
79
88
|
)
|
|
80
89
|
|
|
81
90
|
for identifier, rows in visited.items():
|
|
@@ -96,46 +105,47 @@ class ConceptualValidation:
|
|
|
96
105
|
visited = defaultdict(list)
|
|
97
106
|
for row_no, concept in enumerate(self._concepts):
|
|
98
107
|
visited[concept._identifier()].append(
|
|
99
|
-
|
|
108
|
+
concepts_sheet_info.adjusted_row_number(row_no) if concepts_sheet_info else row_no + 1
|
|
100
109
|
)
|
|
101
110
|
|
|
102
111
|
for identifier, rows in visited.items():
|
|
103
112
|
if len(rows) == 1:
|
|
104
113
|
continue
|
|
105
|
-
self.issue_list.
|
|
114
|
+
self.issue_list.append_if_not_exist(
|
|
106
115
|
ResourceDuplicatedError(
|
|
107
116
|
identifier[0],
|
|
108
117
|
"concept",
|
|
109
|
-
(
|
|
118
|
+
(
|
|
119
|
+
f"the Concepts sheet at row {humanize_collection(rows)}"
|
|
120
|
+
" if data model is read from a spreadsheet."
|
|
121
|
+
),
|
|
110
122
|
)
|
|
111
123
|
)
|
|
112
124
|
|
|
113
|
-
def
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
#
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
for concept in undefined_concepts:
|
|
138
|
-
self.issue_list.append(
|
|
125
|
+
def _concepts_without_properties_exist(self) -> None:
|
|
126
|
+
"""This validation checks if concepts have properties defined or inherit properties from other concepts."""
|
|
127
|
+
concepts = {concept.concept for concept in self._concepts}
|
|
128
|
+
ancestors_by_concept = self.analysis.parents_by_concept(include_ancestors=True, include_different_space=True)
|
|
129
|
+
concepts_with_properties = self.analysis.defined_concepts().union(self._cdf_concepts)
|
|
130
|
+
|
|
131
|
+
if candidate_concepts := concepts.difference(concepts_with_properties):
|
|
132
|
+
for concept in candidate_concepts:
|
|
133
|
+
# Here we check if at least one of the ancestors of the concept has properties
|
|
134
|
+
if (ancestors := ancestors_by_concept.get(concept)) and ancestors.intersection(
|
|
135
|
+
concepts_with_properties
|
|
136
|
+
):
|
|
137
|
+
continue
|
|
138
|
+
|
|
139
|
+
self.issue_list.append_if_not_exist(UndefinedConceptWarning(concept_id=str(concept)))
|
|
140
|
+
|
|
141
|
+
def _concepts_with_properties_defined(self) -> None:
|
|
142
|
+
"""This validation checks if concepts to which properties are attached are defined."""
|
|
143
|
+
concepts = {concept.concept for concept in self._concepts}
|
|
144
|
+
concepts_with_properties = {property_.concept for property_ in self._properties} - {UnknownEntity()}
|
|
145
|
+
|
|
146
|
+
if undefined_concepts_with_properties := concepts_with_properties.difference(concepts):
|
|
147
|
+
for concept in undefined_concepts_with_properties:
|
|
148
|
+
self.issue_list.append_if_not_exist(
|
|
139
149
|
ResourceNotDefinedError(
|
|
140
150
|
identifier=concept,
|
|
141
151
|
resource_type="concept",
|
|
@@ -143,57 +153,44 @@ class ConceptualValidation:
|
|
|
143
153
|
)
|
|
144
154
|
)
|
|
145
155
|
|
|
146
|
-
def
|
|
147
|
-
"""This is a validation to check if the
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if parent.prefix != self._metadata.prefix:
|
|
155
|
-
self.issue_list.append(UndefinedConceptWarning(concept_id=str(parent)))
|
|
156
|
-
else:
|
|
157
|
-
self.issue_list.append(
|
|
158
|
-
ResourceNotDefinedWarning(
|
|
159
|
-
resource_type="concept",
|
|
160
|
-
identifier=parent,
|
|
161
|
-
location="Concepts sheet",
|
|
162
|
-
)
|
|
163
|
-
)
|
|
164
|
-
|
|
165
|
-
def _referenced_classes_exist(self) -> None:
|
|
166
|
-
# needs to be complete for this validation to pass
|
|
167
|
-
defined_concept = {concept.concept for concept in self._concepts}
|
|
168
|
-
classes_with_explicit_properties = {property_.concept for property_ in self._properties} - {UnknownEntity()}
|
|
156
|
+
def _ancestors_defined(self) -> None:
|
|
157
|
+
"""This is a validation to check if the ancestor concepts (e.g. parents) are defined."""
|
|
158
|
+
concepts = {concept.concept for concept in self._concepts}.union(self._cdf_concepts)
|
|
159
|
+
ancestors = set(
|
|
160
|
+
itertools.chain.from_iterable(
|
|
161
|
+
self.analysis.parents_by_concept(include_ancestors=True, include_different_space=True).values()
|
|
162
|
+
)
|
|
163
|
+
).difference(self._cdf_concepts)
|
|
169
164
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
self.issue_list.append(
|
|
165
|
+
if undefined_ancestor := ancestors.difference(concepts):
|
|
166
|
+
for ancestor in undefined_ancestor:
|
|
167
|
+
self.issue_list.append_if_not_exist(
|
|
174
168
|
ResourceNotDefinedWarning(
|
|
175
169
|
resource_type="concept",
|
|
176
|
-
identifier=
|
|
170
|
+
identifier=ancestor,
|
|
177
171
|
location="Concepts sheet",
|
|
178
172
|
)
|
|
179
173
|
)
|
|
180
174
|
|
|
181
|
-
def
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
175
|
+
def _object_properties_use_defined_concepts(self) -> None:
|
|
176
|
+
"""Check if the value types of object properties are defined as concepts."""
|
|
177
|
+
|
|
178
|
+
concepts = {concept.concept for concept in self._concepts}
|
|
179
|
+
|
|
180
|
+
# We remove UnknownEntity from the concepts to avoid false positives
|
|
181
|
+
# as `UnknownEntity` is used as a placeholder when the value type is not defined.
|
|
182
|
+
value_types = {
|
|
185
183
|
property_.value_type
|
|
186
184
|
for property_ in self.data_model.properties
|
|
187
185
|
if property_.type_ == EntityTypes.object_property
|
|
188
|
-
}
|
|
186
|
+
}.difference({UnknownEntity()})
|
|
189
187
|
|
|
190
|
-
if
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
self.issue_list.append(
|
|
188
|
+
if undefined_value_types := value_types.difference(concepts):
|
|
189
|
+
for value_type in undefined_value_types:
|
|
190
|
+
self.issue_list.append_if_not_exist(
|
|
194
191
|
ResourceNotDefinedWarning(
|
|
195
192
|
resource_type="concept",
|
|
196
|
-
identifier=
|
|
193
|
+
identifier=value_type,
|
|
197
194
|
location="Concepts sheet",
|
|
198
195
|
)
|
|
199
196
|
)
|
|
@@ -203,7 +200,7 @@ class ConceptualValidation:
|
|
|
203
200
|
|
|
204
201
|
for prop_ in self._properties:
|
|
205
202
|
if not PATTERNS.physical_property_id_compliance.match(prop_.property_):
|
|
206
|
-
self.issue_list.
|
|
203
|
+
self.issue_list.append_if_not_exist(
|
|
207
204
|
ResourceRegexViolationWarning(
|
|
208
205
|
prop_.property_,
|
|
209
206
|
"Property",
|
|
@@ -212,7 +209,7 @@ class ConceptualValidation:
|
|
|
212
209
|
)
|
|
213
210
|
)
|
|
214
211
|
if prop_.concept != UnknownEntity() and not PATTERNS.view_id_compliance.match(prop_.concept.suffix):
|
|
215
|
-
self.issue_list.
|
|
212
|
+
self.issue_list.append_if_not_exist(
|
|
216
213
|
ResourceRegexViolationWarning(
|
|
217
214
|
prop_.concept,
|
|
218
215
|
"Concept",
|
|
@@ -227,7 +224,7 @@ class ConceptualValidation:
|
|
|
227
224
|
and prop_.value_type != UnknownEntity()
|
|
228
225
|
and not PATTERNS.view_id_compliance.match(prop_.value_type.suffix)
|
|
229
226
|
):
|
|
230
|
-
self.issue_list.
|
|
227
|
+
self.issue_list.append_if_not_exist(
|
|
231
228
|
ResourceRegexViolationWarning(
|
|
232
229
|
prop_.value_type,
|
|
233
230
|
"Value Type",
|
|
@@ -242,7 +239,7 @@ class ConceptualValidation:
|
|
|
242
239
|
and prop_.value_type != UnknownEntity()
|
|
243
240
|
and not PATTERNS.view_id_compliance.match(value_type.suffix)
|
|
244
241
|
):
|
|
245
|
-
self.issue_list.
|
|
242
|
+
self.issue_list.append_if_not_exist(
|
|
246
243
|
ResourceRegexViolationWarning(
|
|
247
244
|
value_type,
|
|
248
245
|
"Value Type",
|
|
@@ -253,7 +250,7 @@ class ConceptualValidation:
|
|
|
253
250
|
|
|
254
251
|
for concepts in self._concepts:
|
|
255
252
|
if not PATTERNS.view_id_compliance.match(concepts.concept.suffix):
|
|
256
|
-
self.issue_list.
|
|
253
|
+
self.issue_list.append_if_not_exist(
|
|
257
254
|
ResourceRegexViolationWarning(
|
|
258
255
|
concepts.concept,
|
|
259
256
|
"Concept",
|
|
@@ -265,7 +262,7 @@ class ConceptualValidation:
|
|
|
265
262
|
if concepts.implements:
|
|
266
263
|
for parent in concepts.implements:
|
|
267
264
|
if not PATTERNS.view_id_compliance.match(parent.suffix):
|
|
268
|
-
self.issue_list.
|
|
265
|
+
self.issue_list.append_if_not_exist(
|
|
269
266
|
ResourceRegexViolationWarning(
|
|
270
267
|
parent,
|
|
271
268
|
"Concept",
|
|
@@ -274,18 +271,6 @@ class ConceptualValidation:
|
|
|
274
271
|
)
|
|
275
272
|
)
|
|
276
273
|
|
|
277
|
-
def _concept_parent_pairs(self) -> dict[ConceptEntity, list[ConceptEntity]]:
|
|
278
|
-
concept_parent_pairs: dict[ConceptEntity, list[ConceptEntity]] = {}
|
|
279
|
-
concepts = self.data_model.model_copy(deep=True).concepts
|
|
280
|
-
|
|
281
|
-
for concept in concepts:
|
|
282
|
-
concept_parent_pairs[concept.concept] = []
|
|
283
|
-
if concept.implements is None:
|
|
284
|
-
continue
|
|
285
|
-
concept_parent_pairs[concept.concept].extend(concept.implements)
|
|
286
|
-
|
|
287
|
-
return concept_parent_pairs
|
|
288
|
-
|
|
289
274
|
def _namespaces_reassigned(self) -> None:
|
|
290
275
|
prefixes = self.data_model.prefixes.copy()
|
|
291
276
|
prefixes[self.data_model.metadata.namespace.prefix] = self.data_model.metadata.namespace
|
|
@@ -293,7 +278,7 @@ class ConceptualValidation:
|
|
|
293
278
|
if len(set(prefixes.values())) != len(prefixes):
|
|
294
279
|
reused_namespaces = [value for value, count in Counter(prefixes.values()).items() if count > 1]
|
|
295
280
|
impacted_prefixes = [key for key, value in prefixes.items() if value in reused_namespaces]
|
|
296
|
-
self.issue_list.
|
|
281
|
+
self.issue_list.append_if_not_exist(
|
|
297
282
|
NeatValueError(
|
|
298
283
|
"Namespace collision detected. The following prefixes "
|
|
299
284
|
f"are assigned to the same namespace: {impacted_prefixes}"
|
|
@@ -26,6 +26,7 @@ from ._converters import (
|
|
|
26
26
|
ToSolutionModel,
|
|
27
27
|
)
|
|
28
28
|
from ._mapping import AsParentPropertyId, MapOneToOne, PhysicalDataModelMapper
|
|
29
|
+
from ._union_conceptual import UnionConceptualDataModel
|
|
29
30
|
from ._verification import (
|
|
30
31
|
VerifyAnyDataModel,
|
|
31
32
|
VerifyConceptualDataModel,
|
|
@@ -61,6 +62,7 @@ __all__ = [
|
|
|
61
62
|
"ToEnterpriseModel",
|
|
62
63
|
"ToExtensionModel",
|
|
63
64
|
"ToSolutionModel",
|
|
65
|
+
"UnionConceptualDataModel",
|
|
64
66
|
"VerifiedDataModelTransformer",
|
|
65
67
|
"VerifyAnyDataModel",
|
|
66
68
|
"VerifyConceptualDataModel",
|