cognite-neat 0.86.0__tar.gz → 0.87.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/PKG-INFO +2 -2
- cognite_neat-0.87.3/cognite/neat/_version.py +1 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/configuration.py +1 -10
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/data_exploration.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/config.py +84 -17
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/constants.py +11 -9
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_assets.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_events.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_files.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_labels.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_relationships.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_sequences.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_timeseries.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_dexpi.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_mock_graph_generator.py +8 -9
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/loaders/__init__.py +5 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/loaders/_base.py +13 -5
- cognite_neat-0.87.3/cognite/neat/graph/loaders/_rdf2asset.py +253 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/loaders/_rdf2dms.py +7 -7
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/_base.py +20 -11
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/_construct.py +5 -5
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/_shared.py +21 -7
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/_base.py +16 -4
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/transformers/__init__.py +3 -0
- cognite_neat-0.87.3/cognite/neat/graph/transformers/_rdfpath.py +49 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_dexpi.py +0 -5
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_mock_graph_generator.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/_asset_loader.py +2 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/rdf_to_assets.py +5 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/rdf_to_relationships.py +4 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/rdf_to_dms.py +3 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_base.py +24 -8
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_graphdb_store.py +3 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_memory_store.py +3 -3
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_oxigraph_store.py +8 -4
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_rdf_to_graph.py +5 -3
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/query_generator/sparql.py +49 -16
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/transformer.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2dms.py +8 -3
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2graphql.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2ontology.py +2 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2pydantic_models.py +3 -4
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_dms2rules.py +4 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_graph2rules.py +3 -3
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2classes.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2metadata.py +2 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2properties.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/raw_rules.py +19 -7
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/rules.py +32 -12
- cognite_neat-0.87.3/cognite/neat/rules/_shared.py +10 -0
- cognite_neat-0.87.3/cognite/neat/rules/analysis/__init__.py +6 -0
- cognite_neat-0.87.3/cognite/neat/rules/analysis/_asset.py +143 -0
- cognite_neat-0.87.3/cognite/neat/rules/analysis/_base.py +392 -0
- cognite_neat-0.87.3/cognite/neat/rules/analysis/_information.py +183 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2dms.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2ontology.py +6 -5
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dms2rules.py +3 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/dtdl_converter.py +2 -8
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_inference2rules.py +3 -7
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2classes.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2metadata.py +2 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2properties.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/spreadsheet.py +35 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_base.py +7 -7
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_rdfpath.py +17 -21
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_rules.py +4 -5
- cognite_neat-0.87.3/cognite/neat/rules/models/asset/_validation.py +41 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_converter.py +1 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_exporter.py +7 -3
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_rules.py +3 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_schema.py +5 -4
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/domain.py +5 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/entities.py +28 -17
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_rules.py +10 -8
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_rules_input.py +1 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_validation.py +2 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/auth.py +47 -28
- cognite_neat-0.87.3/cognite/neat/utils/auxiliary.py +175 -0
- cognite_neat-0.86.0/cognite/neat/utils/cdf_classes.py → cognite_neat-0.87.3/cognite/neat/utils/cdf/data_classes.py +122 -2
- {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/_data_modeling.py +37 -0
- {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/_ingestion.py +2 -1
- cognite_neat-0.87.3/cognite/neat/utils/collection_.py +18 -0
- cognite_neat-0.87.3/cognite/neat/utils/rdf_.py +165 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/text.py +4 -0
- cognite_neat-0.87.3/cognite/neat/utils/time_.py +17 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/upload.py +13 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/_exceptions.py +5 -5
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/base.py +1 -1
- cognite_neat-0.87.3/cognite/neat/workflows/steps/__init__.py +0 -0
- cognite_neat-0.87.3/cognite/neat/workflows/steps/lib/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/graph_store.py +28 -8
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/rules_validator.py +2 -2
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_extractor.py +130 -28
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_loader.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_store.py +4 -4
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/rules_exporter.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/rules_importer.py +1 -1
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/pyproject.toml +2 -2
- cognite_neat-0.86.0/cognite/neat/_version.py +0 -1
- cognite_neat-0.86.0/cognite/neat/graph/loaders/_rdf2asset.py +0 -123
- cognite_neat-0.86.0/cognite/neat/graph/transformers/_rdfpath.py +0 -7
- cognite_neat-0.86.0/cognite/neat/rules/_shared.py +0 -5
- cognite_neat-0.86.0/cognite/neat/rules/analysis/__init__.py +0 -6
- cognite_neat-0.86.0/cognite/neat/rules/analysis/_base.py +0 -13
- cognite_neat-0.86.0/cognite/neat/rules/analysis/_information_rules.py +0 -476
- cognite_neat-0.86.0/cognite/neat/rules/models/asset/_validation.py +0 -4
- cognite_neat-0.86.0/cognite/neat/utils/__init__.py +0 -3
- cognite_neat-0.86.0/cognite/neat/utils/auxiliary.py +0 -35
- cognite_neat-0.86.0/cognite/neat/utils/cdf.py +0 -59
- cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders/data_classes.py +0 -121
- cognite_neat-0.86.0/cognite/neat/utils/exceptions.py +0 -41
- cognite_neat-0.86.0/cognite/neat/utils/utils.py +0 -429
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/LICENSE +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/README.md +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/_shared.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/asgi/metrics.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/context_manager/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/context_manager/manager.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/data_classes/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/data_classes/rest.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/explorer.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/configuration.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/core.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/crud.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/metrics.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/workflows.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/data_mapping.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/logging.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/utils/query_templates.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/main.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/monitoring/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/monitoring/metrics.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/index.html +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/.gitignore +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/README.md +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/asset-manifest.json +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/favicon.ico +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/img/architect-icon.svg +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/img/developer-icon.svg +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/img/sme-icon.svg +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/index.html +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/logo192.png +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/manifest.json +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/robots.txt +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/css/main.38a62222.css.map +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.LICENSE.txt +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/js/main.ec7f72e2.js.map +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/exceptions.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_shared.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_tracking/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_tracking/base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/_tracking/log.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/exceptions.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_rdf_file.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/issues/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/issues/loader.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/models.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/queries/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/_oxrdflib.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/stores/_provenance.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/transformers/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/transformers/_classic_cdf.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/issues.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/exceptions.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/extractors/_graph_capturing_sheet.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/_exceptions.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/labels.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/core/models.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/loaders/validator.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/models.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/stores/_oxrdflib.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/entity_matcher.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/graph/transformations/query_generator/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/analysis.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/Rules-Nordic44-to-graphql.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/Rules-Nordic44.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/power-grid-containers.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/power-grid-example.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/power-grid-model.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/rules-template.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/sheet2cdf-transformation-rules.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/skos-rules.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/source-to-solution-mapping-rules.xlsx +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/examples/wind-energy.owl +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exceptions.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_core/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_core/rules2labels.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2excel.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_rules2triples.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/exporters/_validation.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_dict2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_json2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_owl2rules/_owl2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_spreadsheet2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_xsd2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/importers/_yaml2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/rdfpath.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/tables.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/rules/models/value_types.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Export_DMS/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Import_DMS/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Validate_Rules/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/legacy/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/py.typed +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/examples/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/examples/wind-energy.owl +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exceptions.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2excel.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_rules2yaml.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/exporters/_validation.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_dtdl2rules/spec.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_owl2rules/_owl2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_spreadsheet2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/importers/_yaml2rules.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/dms.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/fileread.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/formatters.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/importing.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/issues/spreadsheet_file.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_constants.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_types/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_types/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/_types/_field.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_converter.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_rules_input.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/asset/_serializer.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/data_types.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_rules_input.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_serializer.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/dms/_validation.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_converter.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/information/_serializer.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/rules/models/wrapped_entities.py +0 -0
- {cognite_neat-0.86.0/cognite/neat/workflows/migration → cognite_neat-0.87.3/cognite/neat/utils}/__init__.py +0 -0
- {cognite_neat-0.86.0/cognite/neat/workflows/steps → cognite_neat-0.87.3/cognite/neat/utils/cdf}/__init__.py +0 -0
- {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/__init__.py +0 -0
- {cognite_neat-0.86.0/cognite/neat/utils/cdf_loaders → cognite_neat-0.87.3/cognite/neat/utils/cdf/loaders}/_base.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/spreadsheet.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/utils/xml_.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/cdf_store.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Export_DMS/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Export_Rules_to_Ontology/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Extract_DEXPI_Graph_and_Export_Rules/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Extract_RDF_Graph_and_Generate_Assets/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Import_DMS/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Ontology_to_Data_Model/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Validate_Rules/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Visualize_Data_Model_Using_Mock_Graph/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/examples/Visualize_Semantic_Data_Model/workflow.yaml +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/manager.py +0 -0
- {cognite_neat-0.86.0/cognite/neat/workflows/steps/lib → cognite_neat-0.87.3/cognite/neat/workflows/migration}/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/migration/steps.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/migration/wf_manifests.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/model.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/data_contracts.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/graph_extractor.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/graph_loader.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/rules_exporter.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/current/rules_importer.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/io/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/io/io_steps.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/__init__.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_contextualization.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/lib/legacy/graph_transformer.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps/step_model.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/steps_registry.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/tasks.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/triggers.py +0 -0
- {cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/workflows/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.87.3
|
|
4
4
|
Summary: Knowledge graph transformation
|
|
5
5
|
Home-page: https://cognite-neat.readthedocs-hosted.com/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -21,7 +21,7 @@ Provides-Extra: oxi
|
|
|
21
21
|
Provides-Extra: service
|
|
22
22
|
Requires-Dist: PyYAML
|
|
23
23
|
Requires-Dist: backports.strenum (>=1.2,<2.0) ; python_version < "3.11"
|
|
24
|
-
Requires-Dist: cognite-sdk (>=7.
|
|
24
|
+
Requires-Dist: cognite-sdk (>=7.54.6,<8.0.0)
|
|
25
25
|
Requires-Dist: deepdiff
|
|
26
26
|
Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0) ; python_version < "3.11"
|
|
27
27
|
Requires-Dist: fastapi (>=0,<1) ; extra == "service" or extra == "all"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.87.3"
|
|
@@ -9,8 +9,6 @@ from fastapi import FastAPI
|
|
|
9
9
|
from cognite import neat
|
|
10
10
|
from cognite.neat.config import Config, configure_logging, copy_examples_to_directory, create_data_dir_structure
|
|
11
11
|
from cognite.neat.constants import PACKAGE_DIRECTORY
|
|
12
|
-
from cognite.neat.utils.cdf import ServiceCogniteClient
|
|
13
|
-
from cognite.neat.utils.utils import get_cognite_client_from_config, get_cognite_client_from_token
|
|
14
12
|
from cognite.neat.workflows.cdf_store import CdfStore
|
|
15
13
|
from cognite.neat.workflows.manager import WorkflowManager
|
|
16
14
|
from cognite.neat.workflows.triggers import TriggerManager
|
|
@@ -36,14 +34,7 @@ class NeatApp:
|
|
|
36
34
|
self.config = config
|
|
37
35
|
logging.info("Initializing global objects")
|
|
38
36
|
if not self.cdf_client:
|
|
39
|
-
|
|
40
|
-
if self.config.cdf_client.client_id:
|
|
41
|
-
self.cdf_client = get_cognite_client_from_config(self.config.cdf_client)
|
|
42
|
-
else:
|
|
43
|
-
# If no client_id is provided, we assume that the token is provided instead of secret.
|
|
44
|
-
self.cdf_client = get_cognite_client_from_token(self.config.cdf_client)
|
|
45
|
-
else:
|
|
46
|
-
raise ValueError("Only ServiceCogniteClient is supported at the moment.")
|
|
37
|
+
self.cdf_client = self.config.cdf_auth_config.get_client()
|
|
47
38
|
self.cdf_store = CdfStore(
|
|
48
39
|
self.cdf_client,
|
|
49
40
|
self.config.cdf_default_dataset_id,
|
{cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/app/api/routers/data_exploration.py
RENAMED
|
@@ -17,7 +17,7 @@ from cognite.neat.app.api.data_classes.rest import (
|
|
|
17
17
|
from cognite.neat.app.api.utils.data_mapping import rdf_result_to_api_response
|
|
18
18
|
from cognite.neat.app.api.utils.query_templates import query_templates
|
|
19
19
|
from cognite.neat.legacy.graph.transformations import query_generator
|
|
20
|
-
from cognite.neat.utils.
|
|
20
|
+
from cognite.neat.utils.rdf_ import remove_namespace_from_uri
|
|
21
21
|
from cognite.neat.workflows.steps.data_contracts import RulesData, SolutionGraph, SourceGraph
|
|
22
22
|
|
|
23
23
|
router = APIRouter()
|
|
@@ -4,14 +4,14 @@ import os
|
|
|
4
4
|
import shutil
|
|
5
5
|
import sys
|
|
6
6
|
from pathlib import Path
|
|
7
|
-
from typing import Literal, cast
|
|
7
|
+
from typing import Any, Literal, cast
|
|
8
8
|
|
|
9
9
|
import yaml
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
10
|
+
from pydantic import BaseModel, Field, field_serializer, model_validator
|
|
11
11
|
from yaml import safe_load
|
|
12
12
|
|
|
13
13
|
from cognite.neat.constants import EXAMPLE_GRAPHS, EXAMPLE_RULES, EXAMPLE_WORKFLOWS
|
|
14
|
-
from cognite.neat.utils.
|
|
14
|
+
from cognite.neat.utils.auth import EnvironmentVariables
|
|
15
15
|
|
|
16
16
|
if sys.version_info >= (3, 11):
|
|
17
17
|
from enum import StrEnum
|
|
@@ -41,7 +41,7 @@ class WorkflowsStoreType(StrEnum):
|
|
|
41
41
|
URL = "url"
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
class Config(BaseModel):
|
|
44
|
+
class Config(BaseModel, arbitrary_types_allowed=True):
|
|
45
45
|
workflows_store_type: WorkflowsStoreType = WorkflowsStoreType.FILE
|
|
46
46
|
data_store_path: Path = Field(default_factory=lambda: Path.cwd() / "data")
|
|
47
47
|
|
|
@@ -51,7 +51,7 @@ class Config(BaseModel):
|
|
|
51
51
|
default=None,
|
|
52
52
|
)
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
cdf_auth_config: EnvironmentVariables = Field(default_factory=EnvironmentVariables.default)
|
|
55
55
|
cdf_default_dataset_id: int = 0
|
|
56
56
|
load_examples: bool = True
|
|
57
57
|
|
|
@@ -60,9 +60,64 @@ class Config(BaseModel):
|
|
|
60
60
|
download_workflows_from_cdf: bool = Field(
|
|
61
61
|
default=False, description="Downloads all workflows from CDF automatically and stores them locally"
|
|
62
62
|
)
|
|
63
|
-
|
|
64
63
|
stop_on_error: bool = False
|
|
65
64
|
|
|
65
|
+
@model_validator(mode="before")
|
|
66
|
+
def backwards_compatible(cls, data: Any):
|
|
67
|
+
if not isinstance(data, dict):
|
|
68
|
+
return data
|
|
69
|
+
if "cdf_client" in data:
|
|
70
|
+
cdf_client = data["cdf_client"]
|
|
71
|
+
if isinstance(cdf_client, dict):
|
|
72
|
+
if "base_url" in cdf_client:
|
|
73
|
+
base_url = cdf_client["base_url"]
|
|
74
|
+
cluster = base_url.removeprefix("https://").removesuffix(".cognitedata.com")
|
|
75
|
+
else:
|
|
76
|
+
base_url, cluster = "Missing", "Missing"
|
|
77
|
+
if "scopes" in cdf_client:
|
|
78
|
+
scopes = cdf_client["scopes"]
|
|
79
|
+
if isinstance(scopes, list):
|
|
80
|
+
scopes = ",".join(scopes)
|
|
81
|
+
else:
|
|
82
|
+
scopes = "Missing"
|
|
83
|
+
data["cdf_auth_config"] = EnvironmentVariables(
|
|
84
|
+
CDF_PROJECT=cdf_client.get("project", "Missing"),
|
|
85
|
+
CDF_CLUSTER=cluster,
|
|
86
|
+
CDF_URL=base_url,
|
|
87
|
+
IDP_CLIENT_ID=cdf_client.get("client_id", "Missing"),
|
|
88
|
+
IDP_CLIENT_SECRET=cdf_client.get("client_secret", "Missing"),
|
|
89
|
+
IDP_TOKEN_URL=cdf_client.get("token_url", "Missing"),
|
|
90
|
+
IDP_SCOPES=scopes,
|
|
91
|
+
CDF_TIMEOUT=int(cdf_client.get("timeout", 60)),
|
|
92
|
+
CDF_MAX_WORKERS=int(cdf_client.get("max_workers", 3)),
|
|
93
|
+
)
|
|
94
|
+
return data
|
|
95
|
+
|
|
96
|
+
@staticmethod
|
|
97
|
+
@field_serializer("cdf_auth_config", when_used="always", return_type=dict)
|
|
98
|
+
def backwards_compatible_serialize(cdf_auth_config: EnvironmentVariables) -> dict[str, Any]:
|
|
99
|
+
output: dict[str, Any] = {}
|
|
100
|
+
config = cdf_auth_config
|
|
101
|
+
if config.CDF_PROJECT not in {"Missing", "NOT SET"}:
|
|
102
|
+
output["project"] = config.CDF_PROJECT
|
|
103
|
+
if config.CDF_CLUSTER not in {"Missing", "NOT SET"}:
|
|
104
|
+
output["cluster"] = config.CDF_CLUSTER
|
|
105
|
+
if config.CDF_URL:
|
|
106
|
+
output["base_url"] = config.CDF_URL
|
|
107
|
+
if config.IDP_CLIENT_ID:
|
|
108
|
+
output["client_id"] = config.IDP_CLIENT_ID
|
|
109
|
+
if config.IDP_CLIENT_SECRET:
|
|
110
|
+
output["client_secret"] = config.IDP_CLIENT_SECRET
|
|
111
|
+
if config.IDP_TOKEN_URL:
|
|
112
|
+
output["token_url"] = config.IDP_TOKEN_URL
|
|
113
|
+
if config.IDP_SCOPES:
|
|
114
|
+
output["scopes"] = config.idp_scopes
|
|
115
|
+
if config.CDF_TIMEOUT:
|
|
116
|
+
output["timeout"] = config.CDF_TIMEOUT
|
|
117
|
+
if config.CDF_MAX_WORKERS:
|
|
118
|
+
output["max_workers"] = config.CDF_MAX_WORKERS
|
|
119
|
+
return output
|
|
120
|
+
|
|
66
121
|
@property
|
|
67
122
|
def _dir_suffix(self) -> str:
|
|
68
123
|
is_test_running = "pytest" in sys.modules
|
|
@@ -93,7 +148,7 @@ class Config(BaseModel):
|
|
|
93
148
|
|
|
94
149
|
def to_yaml(self, filepath: Path):
|
|
95
150
|
# Parse as json to avoid Path and Enum objects
|
|
96
|
-
dump = json.loads(self.
|
|
151
|
+
dump = json.loads(self.model_dump_json())
|
|
97
152
|
|
|
98
153
|
with filepath.open("w") as f:
|
|
99
154
|
yaml.safe_dump(dump, f)
|
|
@@ -101,15 +156,27 @@ class Config(BaseModel):
|
|
|
101
156
|
@classmethod
|
|
102
157
|
def from_env(cls) -> Self:
|
|
103
158
|
missing = "Missing"
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
base_url=os.environ
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
159
|
+
# This is to be backwards compatible with the old config
|
|
160
|
+
|
|
161
|
+
base_url: str | None = None
|
|
162
|
+
if "NEAT_CDF_BASE_URL" in os.environ:
|
|
163
|
+
base_url = os.environ["NEAT_CDF_BASE_URL"]
|
|
164
|
+
if isinstance(base_url, str):
|
|
165
|
+
cluster = base_url.removeprefix("https://").removesuffix(".cognitedata.com")
|
|
166
|
+
else:
|
|
167
|
+
cluster = missing
|
|
168
|
+
variables = EnvironmentVariables(
|
|
169
|
+
CDF_PROJECT=os.environ.get("NEAT_CDF_PROJECT", missing),
|
|
170
|
+
CDF_CLUSTER=cluster,
|
|
171
|
+
CDF_URL=base_url,
|
|
172
|
+
IDP_CLIENT_ID=os.environ.get("NEAT_CDF_CLIENT_ID"),
|
|
173
|
+
IDP_CLIENT_SECRET=os.environ.get("NEAT_CDF_CLIENT_SECRET"),
|
|
174
|
+
IDP_TOKEN_URL=os.environ.get("NEAT_CDF_TOKEN_URL"),
|
|
175
|
+
IDP_SCOPES=os.environ.get("NEAT_CDF_SCOPES"),
|
|
176
|
+
CDF_TIMEOUT=int(os.environ["NEAT_CDF_CLIENT_TIMEOUT"] if "NEAT_CDF_CLIENT_TIMEOUT" in os.environ else 60),
|
|
177
|
+
CDF_MAX_WORKERS=int(
|
|
178
|
+
os.environ["NEAT_CDF_CLIENT_MAX_WORKERS"] if "NEAT_CDF_CLIENT_MAX_WORKERS" in os.environ else 3
|
|
179
|
+
),
|
|
113
180
|
)
|
|
114
181
|
|
|
115
182
|
if workflow_downloader_filter_value := os.environ.get("NEAT_WORKFLOW_DOWNLOADER_FILTER", None):
|
|
@@ -118,7 +185,7 @@ class Config(BaseModel):
|
|
|
118
185
|
workflow_downloader_filter = None
|
|
119
186
|
|
|
120
187
|
return cls(
|
|
121
|
-
|
|
188
|
+
cdf_auth_config=variables,
|
|
122
189
|
workflows_store_type=os.environ.get( # type: ignore[arg-type]
|
|
123
190
|
"NEAT_WORKFLOWS_STORE_TYPE", WorkflowsStoreType.FILE
|
|
124
191
|
),
|
|
@@ -14,15 +14,17 @@ EXAMPLE_WORKFLOWS = PACKAGE_DIRECTORY / "workflows" / "examples"
|
|
|
14
14
|
|
|
15
15
|
DEFAULT_NAMESPACE = Namespace("http://purl.org/cognite/neat#")
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
|
|
18
|
+
def get_default_prefixes() -> dict[str, Namespace]:
|
|
19
|
+
return {
|
|
20
|
+
"rdf": RDF._NS,
|
|
21
|
+
"rdfs": RDFS._NS,
|
|
22
|
+
"dct": DCTERMS._NS,
|
|
23
|
+
"skos": SKOS._NS,
|
|
24
|
+
"owl": OWL._NS,
|
|
25
|
+
"xsd": XSD._NS,
|
|
26
|
+
"pav": Namespace("http://purl.org/pav/"),
|
|
27
|
+
}
|
|
26
28
|
|
|
27
29
|
|
|
28
30
|
DEFAULT_URI = ""
|
{cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_assets.py
RENAMED
|
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace
|
|
|
12
12
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
13
13
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
14
14
|
from cognite.neat.graph.models import Triple
|
|
15
|
-
from cognite.neat.utils.
|
|
15
|
+
from cognite.neat.utils.auxiliary import create_sha256_hash, string_to_ideal_type
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class AssetsExtractor(BaseExtractor):
|
{cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_events.py
RENAMED
|
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
|
|
|
12
12
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
13
13
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
14
14
|
from cognite.neat.graph.models import Triple
|
|
15
|
-
from cognite.neat.utils.
|
|
15
|
+
from cognite.neat.utils.auxiliary import string_to_ideal_type
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class EventsExtractor(BaseExtractor):
|
{cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_files.py
RENAMED
|
@@ -13,7 +13,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
|
|
|
13
13
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
14
14
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
15
15
|
from cognite.neat.graph.models import Triple
|
|
16
|
-
from cognite.neat.utils.
|
|
16
|
+
from cognite.neat.utils.auxiliary import string_to_ideal_type
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class FilesExtractor(BaseExtractor):
|
{cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_labels.py
RENAMED
|
@@ -10,7 +10,7 @@ from rdflib import RDF, Literal, Namespace
|
|
|
10
10
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
11
11
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
12
12
|
from cognite.neat.graph.models import Triple
|
|
13
|
-
from cognite.neat.utils.
|
|
13
|
+
from cognite.neat.utils.auxiliary import create_sha256_hash
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class LabelsExtractor(BaseExtractor):
|
|
@@ -11,7 +11,7 @@ from rdflib import RDF, Literal, Namespace
|
|
|
11
11
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
12
12
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
13
13
|
from cognite.neat.graph.models import Triple
|
|
14
|
-
from cognite.neat.utils.
|
|
14
|
+
from cognite.neat.utils.auxiliary import create_sha256_hash
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class RelationshipsExtractor(BaseExtractor):
|
{cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_classic_cdf/_sequences.py
RENAMED
|
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
|
|
|
12
12
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
13
13
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
14
14
|
from cognite.neat.graph.models import Triple
|
|
15
|
-
from cognite.neat.utils.
|
|
15
|
+
from cognite.neat.utils.auxiliary import string_to_ideal_type
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class SequencesExtractor(BaseExtractor):
|
|
@@ -12,7 +12,7 @@ from rdflib import RDF, Literal, Namespace, URIRef
|
|
|
12
12
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
13
13
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
14
14
|
from cognite.neat.graph.models import Triple
|
|
15
|
-
from cognite.neat.utils.
|
|
15
|
+
from cognite.neat.utils.auxiliary import string_to_ideal_type
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class TimeSeriesExtractor(BaseExtractor):
|
|
@@ -9,7 +9,7 @@ from rdflib import RDF, RDFS, XSD, Literal, Namespace, URIRef
|
|
|
9
9
|
from cognite.neat.constants import DEFAULT_NAMESPACE
|
|
10
10
|
from cognite.neat.graph.extractors._base import BaseExtractor
|
|
11
11
|
from cognite.neat.graph.models import Triple
|
|
12
|
-
from cognite.neat.utils.
|
|
12
|
+
from cognite.neat.utils.rdf_ import as_neat_compliant_uri
|
|
13
13
|
from cognite.neat.utils.xml_ import get_children, iterate_tree
|
|
14
14
|
|
|
15
15
|
DEXPI = Namespace("http://sandbox.dexpi.org/rdl/")
|
{cognite_neat-0.86.0 → cognite_neat-0.87.3}/cognite/neat/graph/extractors/_mock_graph_generator.py
RENAMED
|
@@ -12,12 +12,12 @@ import pandas as pd
|
|
|
12
12
|
from rdflib import RDF, Literal, Namespace, URIRef
|
|
13
13
|
|
|
14
14
|
from cognite.neat.graph.models import Triple
|
|
15
|
-
from cognite.neat.rules.analysis import
|
|
15
|
+
from cognite.neat.rules.analysis import InformationAnalysis
|
|
16
16
|
from cognite.neat.rules.models import DMSRules, InformationRules
|
|
17
17
|
from cognite.neat.rules.models.data_types import DataType
|
|
18
18
|
from cognite.neat.rules.models.entities import ClassEntity, EntityTypes
|
|
19
19
|
from cognite.neat.rules.models.information import InformationProperty
|
|
20
|
-
from cognite.neat.utils.
|
|
20
|
+
from cognite.neat.utils.rdf_ import remove_namespace_from_uri
|
|
21
21
|
|
|
22
22
|
from ._base import BaseExtractor
|
|
23
23
|
|
|
@@ -50,8 +50,7 @@ class MockGraphGenerator(BaseExtractor):
|
|
|
50
50
|
|
|
51
51
|
if not class_count:
|
|
52
52
|
self.class_count = {
|
|
53
|
-
class_: 1
|
|
54
|
-
for class_ in InformationArchitectRulesAnalysis(self.rules).defined_classes(consider_inheritance=True)
|
|
53
|
+
class_: 1 for class_ in InformationAnalysis(self.rules).defined_classes(consider_inheritance=True)
|
|
55
54
|
}
|
|
56
55
|
elif all(isinstance(key, str) for key in class_count.keys()):
|
|
57
56
|
self.class_count = {
|
|
@@ -101,7 +100,7 @@ def generate_triples(
|
|
|
101
100
|
"""
|
|
102
101
|
|
|
103
102
|
namespace = rules.metadata.namespace
|
|
104
|
-
defined_classes =
|
|
103
|
+
defined_classes = InformationAnalysis(rules).defined_classes(consider_inheritance=True)
|
|
105
104
|
|
|
106
105
|
if non_existing_classes := set(class_count.keys()) - defined_classes:
|
|
107
106
|
msg = f"Class count contains classes {non_existing_classes} for which properties are not defined in Data Model!"
|
|
@@ -115,16 +114,16 @@ def generate_triples(
|
|
|
115
114
|
|
|
116
115
|
# Subset data model to only classes that are defined in class count
|
|
117
116
|
rules = (
|
|
118
|
-
|
|
117
|
+
InformationAnalysis(rules).subset_rules(set(class_count.keys()))
|
|
119
118
|
if defined_classes != set(class_count.keys())
|
|
120
119
|
else rules
|
|
121
120
|
)
|
|
122
121
|
|
|
123
|
-
class_linkage =
|
|
122
|
+
class_linkage = InformationAnalysis(rules).class_linkage().to_pandas()
|
|
124
123
|
|
|
125
124
|
# Remove one of symmetric pairs from class linkage to maintain proper linking
|
|
126
125
|
# among instances of symmetrically linked classes
|
|
127
|
-
if sym_pairs :=
|
|
126
|
+
if sym_pairs := InformationAnalysis(rules).symmetrically_connected_classes():
|
|
128
127
|
class_linkage = _remove_higher_occurring_sym_pair(class_linkage, sym_pairs)
|
|
129
128
|
|
|
130
129
|
# Remove any of symmetric pairs containing classes that are not present class count
|
|
@@ -134,7 +133,7 @@ def generate_triples(
|
|
|
134
133
|
generation_order = _prettify_generation_order(_get_generation_order(class_linkage))
|
|
135
134
|
|
|
136
135
|
# Generated simple view of data model
|
|
137
|
-
class_property_pairs =
|
|
136
|
+
class_property_pairs = InformationAnalysis(rules).classes_with_properties(consider_inheritance=True)
|
|
138
137
|
|
|
139
138
|
# pregenerate instance ids for each remaining class
|
|
140
139
|
instance_ids = {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from ._base import BaseLoader, CDFLoader
|
|
2
|
+
from ._rdf2asset import AssetLoader
|
|
2
3
|
from ._rdf2dms import DMSLoader
|
|
3
4
|
|
|
4
|
-
__all__ = ["BaseLoader", "CDFLoader", "DMSLoader"]
|
|
5
|
+
__all__ = ["BaseLoader", "CDFLoader", "DMSLoader", "AssetLoader"]
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
def _repr_html_() -> str:
|
|
@@ -11,7 +12,9 @@ def _repr_html_() -> str:
|
|
|
11
12
|
[
|
|
12
13
|
{
|
|
13
14
|
"Loader": name,
|
|
14
|
-
"Description":
|
|
15
|
+
"Description": (
|
|
16
|
+
globals()[name].__doc__.strip().split("\n")[0] if globals()[name].__doc__ else "Missing"
|
|
17
|
+
),
|
|
15
18
|
}
|
|
16
19
|
for name in __all__
|
|
17
20
|
if name not in ("BaseLoader", "CDFLoader")
|
|
@@ -15,6 +15,11 @@ from cognite.neat.utils.upload import UploadResult, UploadResultList
|
|
|
15
15
|
T_Output = TypeVar("T_Output")
|
|
16
16
|
|
|
17
17
|
|
|
18
|
+
# Sentinel value to indicate in the load method that all instances of a class have been loaded.
|
|
19
|
+
# https://en.wikipedia.org/wiki/Sentinel_value
|
|
20
|
+
class _END_OF_CLASS: ...
|
|
21
|
+
|
|
22
|
+
|
|
18
23
|
class BaseLoader(ABC, Generic[T_Output]):
|
|
19
24
|
_new_line = "\n"
|
|
20
25
|
_encoding = "utf-8"
|
|
@@ -28,10 +33,10 @@ class BaseLoader(ABC, Generic[T_Output]):
|
|
|
28
33
|
|
|
29
34
|
def load(self, stop_on_exception: bool = False) -> Iterable[T_Output | NeatIssue]:
|
|
30
35
|
"""Load the graph with data."""
|
|
31
|
-
return self._load(stop_on_exception)
|
|
36
|
+
return (item for item in self._load(stop_on_exception) if item is not _END_OF_CLASS) # type: ignore[misc]
|
|
32
37
|
|
|
33
38
|
@abstractmethod
|
|
34
|
-
def _load(self, stop_on_exception: bool = False) -> Iterable[T_Output | NeatIssue]:
|
|
39
|
+
def _load(self, stop_on_exception: bool = False) -> Iterable[T_Output | NeatIssue | type[_END_OF_CLASS]]:
|
|
35
40
|
"""Load the graph with data."""
|
|
36
41
|
pass
|
|
37
42
|
|
|
@@ -58,13 +63,16 @@ class CDFLoader(BaseLoader[T_Output]):
|
|
|
58
63
|
|
|
59
64
|
issues = NeatIssueList[NeatIssue]()
|
|
60
65
|
items: list[T_Output] = []
|
|
61
|
-
for result in self.
|
|
66
|
+
for result in self._load(stop_on_exception=False):
|
|
62
67
|
if isinstance(result, NeatIssue):
|
|
63
68
|
issues.append(result)
|
|
69
|
+
elif result is _END_OF_CLASS:
|
|
70
|
+
...
|
|
64
71
|
else:
|
|
65
|
-
|
|
72
|
+
# MyPy does not understand else means the item will be of type T_Output
|
|
73
|
+
items.append(result) # type: ignore[arg-type]
|
|
66
74
|
|
|
67
|
-
if len(items) >= self._UPLOAD_BATCH_SIZE:
|
|
75
|
+
if len(items) >= self._UPLOAD_BATCH_SIZE or result is _END_OF_CLASS:
|
|
68
76
|
yield from self._upload_to_cdf(client, items, dry_run, issues)
|
|
69
77
|
issues = NeatIssueList[NeatIssue]()
|
|
70
78
|
items = []
|