cognite-neat 0.94.0__tar.gz → 0.96.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cognite-neat might be problematic. Click here for more details.
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/PKG-INFO +3 -5
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_constants.py +16 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/_base.py +24 -8
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/errors/_resources.py +2 -2
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/warnings/_models.py +20 -2
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/_rules2excel.py +8 -2
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/dms/_rules.py +16 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/dms/_rules_input.py +16 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/information/_rules.py +14 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/information/_rules_input.py +14 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/transformers/__init__.py +2 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/transformers/_converters.py +206 -37
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_session/_base.py +14 -7
- cognite_neat-0.96.0/cognite/neat/_session/_inspect.py +89 -0
- cognite_neat-0.96.0/cognite/neat/_session/_prepare.py +118 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_session/_read.py +33 -4
- cognite_neat-0.96.0/cognite/neat/_session/_set.py +23 -0
- cognite_neat-0.96.0/cognite/neat/_session/_show.py +228 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_session/_state.py +24 -4
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_session/_to.py +3 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_session/exceptions.py +9 -6
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_store/_base.py +11 -8
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/collection_.py +4 -0
- cognite_neat-0.96.0/cognite/neat/_version.py +1 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/pyproject.toml +3 -6
- cognite_neat-0.94.0/cognite/neat/_session/_prepare.py +0 -61
- cognite_neat-0.94.0/cognite/neat/_session/_show.py +0 -274
- cognite_neat-0.94.0/cognite/neat/_version.py +0 -1
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/LICENSE +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/README.md +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/asgi/metrics.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/configuration.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/context_manager/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/context_manager/manager.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/data_classes/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/data_classes/rest.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/explorer.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/routers/configuration.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/routers/crud.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/routers/metrics.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/routers/workflows.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/utils/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/utils/data_mapping.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/utils/logging.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/api/utils/query_templates.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/main.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/monitoring/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/monitoring/metrics.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/index.html +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/.gitignore +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/README.md +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/asset-manifest.json +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/favicon.ico +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/img/architect-icon.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/img/developer-icon.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/img/sme-icon.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/index.html +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/logo192.png +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/manifest.json +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/robots.txt +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css.map +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.LICENSE.txt +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.map +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/package-lock.json +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/package.json +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/favicon.ico +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/img/architect-icon.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/img/developer-icon.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/img/sme-icon.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/index.html +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/logo192.png +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/manifest.json +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/public/robots.txt +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/App.css +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/App.js +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/App.test.js +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/MainContainer.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/JsonViewer.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/LocalUploader.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/OverviewComponentEditorDialog.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/StepEditorDialog.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/TabPanel.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/Utils.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/WorkflowDeleteDialog.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/WorkflowExecutionReport.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/WorkflowImportExportDialog.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/components/WorkflowMetadataDialog.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/index.css +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/index.js +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/logo.svg +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/reportWebVitals.js +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/setupTests.js +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/types/WorkflowTypes.ts +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/views/AboutView.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/views/ConfigView.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/views/GlobalConfigView.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/src/views/WorkflowView.tsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_app/ui/neat-app/tsconfig.json +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_config.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/_shared.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/_tracking/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/_tracking/base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/_tracking/log.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/examples/Knowledge-Graph-Nordic44.xml +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/examples/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_assets.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_classic.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_data_sets.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_events.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_files.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_labels.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_relationships.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_sequences.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_classic_cdf/_timeseries.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_dexpi.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_dms.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_iodd.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_mock_graph_generator.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/extractors/_rdf_file.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/loaders/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/loaders/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/loaders/_rdf2asset.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/loaders/_rdf2dms.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/models.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/queries/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/queries/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/queries/_construct.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/queries/_shared.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/transformers/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/transformers/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/transformers/_classic_cdf.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/transformers/_iodd.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/transformers/_prune_graph.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/transformers/_rdfpath.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_graph/transformers/_value_type.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/errors/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/errors/_external.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/errors/_general.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/errors/_properties.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/errors/_workflow.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/formatters.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/warnings/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/warnings/_external.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/warnings/_general.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/warnings/_properties.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/warnings/_resources.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_issues/warnings/user_modeling.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/_constants.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/_shared.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/analysis/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/analysis/_asset.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/analysis/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/analysis/_dms.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/analysis/_information.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/catalog/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/catalog/info-rules-imf.xlsx +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/_rules2dms.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/_rules2instance_template.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/_rules2ontology.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/_rules2yaml.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/exporters/_validation.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_dms2rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_dtdl2rules/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_dtdl2rules/_unit_lookup.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_dtdl2rules/dtdl_converter.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_dtdl2rules/dtdl_importer.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_dtdl2rules/spec.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_imf2rules/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2classes.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2metadata.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2properties.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_imf2rules/_imf2rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_inference2rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_owl2rules/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2classes.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2metadata.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2properties.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_owl2rules/_owl2rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_rdf/_shared.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_spreadsheet2rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/importers/_yaml2rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/_base_input.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/_base_rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/_rdfpath.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/_types.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/asset/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/asset/_rules.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/asset/_rules_input.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/asset/_validation.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/data_types.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/dms/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/dms/_exporter.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/dms/_schema.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/dms/_validation.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/domain.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/entities/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/entities/_constants.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/entities/_loaders.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/entities/_multi_value.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/entities/_single_value.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/entities/_types.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/entities/_wrapped.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/information/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/information/_validation.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/mapping/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/mapping/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/mapping/_classic2core.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/transformers/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/transformers/_mapping.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/transformers/_pipelines.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/transformers/_verification.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_session/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_session/_wizard.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_shared.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_store/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_store/_provenance.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/auth.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/auxiliary.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/cdf/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/cdf/data_classes.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/cdf/loaders/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/cdf/loaders/_base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/cdf/loaders/_data_modeling.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/cdf/loaders/_ingestion.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/rdf_.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/spreadsheet.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/text.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/time_.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/upload.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_utils/xml_.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/base.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/cdf_store.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/examples/Export_DMS/workflow.yaml +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/examples/Export_Semantic_Data_Model/workflow.yaml +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/examples/Import_DMS/workflow.yaml +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/examples/Validate_Rules/workflow.yaml +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/examples/Validate_Solution_Model/workflow.yaml +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/manager.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/model.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/data_contracts.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/current/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/current/graph_extractor.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/current/graph_loader.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/current/graph_store.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/current/rules_exporter.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/current/rules_importer.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/current/rules_validator.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/io/__init__.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/lib/io/io_steps.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps/step_model.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/steps_registry.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/tasks.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/triggers.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_workflows/utils.py +0 -0
- {cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.96.0
|
|
4
4
|
Summary: Knowledge graph transformation
|
|
5
5
|
Home-page: https://cognite-neat.readthedocs-hosted.com/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -17,7 +17,6 @@ Provides-Extra: all
|
|
|
17
17
|
Provides-Extra: docs
|
|
18
18
|
Provides-Extra: google
|
|
19
19
|
Provides-Extra: graphql
|
|
20
|
-
Provides-Extra: jupyter
|
|
21
20
|
Provides-Extra: oxi
|
|
22
21
|
Provides-Extra: service
|
|
23
22
|
Requires-Dist: PyYAML
|
|
@@ -28,9 +27,7 @@ Requires-Dist: fastapi (>=0,<1) ; extra == "service" or extra == "all"
|
|
|
28
27
|
Requires-Dist: google-api-python-client ; extra == "google"
|
|
29
28
|
Requires-Dist: google-auth-oauthlib ; extra == "google"
|
|
30
29
|
Requires-Dist: gspread ; extra == "google"
|
|
31
|
-
Requires-Dist: ipycytoscape (>=1.3.3,<2.0.0)
|
|
32
30
|
Requires-Dist: jinja2 (>=3.1.2,<4.0.0) ; extra == "graphql" or extra == "all"
|
|
33
|
-
Requires-Dist: matplotlib (>=3.9.2,<4.0.0)
|
|
34
31
|
Requires-Dist: mkdocs ; extra == "docs"
|
|
35
32
|
Requires-Dist: mkdocs-autorefs (>=0.5.0,<0.6.0) ; extra == "docs"
|
|
36
33
|
Requires-Dist: mkdocs-git-authors-plugin ; extra == "docs"
|
|
@@ -49,9 +46,10 @@ Requires-Dist: pydantic (>=2,<3)
|
|
|
49
46
|
Requires-Dist: pymdown-extensions ; extra == "docs"
|
|
50
47
|
Requires-Dist: pyoxigraph (==0.3.19) ; extra == "oxi" or extra == "all"
|
|
51
48
|
Requires-Dist: python-multipart (==0.0.9) ; extra == "service" or extra == "all"
|
|
49
|
+
Requires-Dist: pyvis (>=0.3.2,<0.4.0)
|
|
52
50
|
Requires-Dist: rdflib
|
|
53
51
|
Requires-Dist: requests
|
|
54
|
-
Requires-Dist: rich[jupyter] (>=13.7.1,<14.0.0)
|
|
52
|
+
Requires-Dist: rich[jupyter] (>=13.7.1,<14.0.0)
|
|
55
53
|
Requires-Dist: schedule (>=1,<2) ; extra == "service" or extra == "all"
|
|
56
54
|
Requires-Dist: tomli (>=2.0.1,<3.0.0) ; python_version < "3.11"
|
|
57
55
|
Requires-Dist: typing_extensions (>=4.8,<5.0) ; python_version < "3.11"
|
|
@@ -5,6 +5,22 @@ from rdflib import DCTERMS, OWL, RDF, RDFS, SKOS, XSD, Namespace, URIRef
|
|
|
5
5
|
|
|
6
6
|
from cognite import neat
|
|
7
7
|
|
|
8
|
+
|
|
9
|
+
def _is_in_notebook() -> bool:
|
|
10
|
+
try:
|
|
11
|
+
from IPython import get_ipython
|
|
12
|
+
|
|
13
|
+
if "IPKernelApp" not in get_ipython().config: # pragma: no cover
|
|
14
|
+
return False
|
|
15
|
+
except ImportError:
|
|
16
|
+
return False
|
|
17
|
+
except AttributeError:
|
|
18
|
+
return False
|
|
19
|
+
return True
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
IN_NOTEBOOK = _is_in_notebook()
|
|
23
|
+
|
|
8
24
|
PACKAGE_DIRECTORY = Path(neat.__file__).parent
|
|
9
25
|
COGNITE_MODELS = (
|
|
10
26
|
DataModelId("cdf_cdm", "CogniteCore", "v1"),
|
|
@@ -11,7 +11,12 @@ from typing import Any, ClassVar, Literal, TypeAlias, TypeVar, get_args, get_ori
|
|
|
11
11
|
from warnings import WarningMessage
|
|
12
12
|
|
|
13
13
|
import pandas as pd
|
|
14
|
-
from cognite.client.data_classes.data_modeling import
|
|
14
|
+
from cognite.client.data_classes.data_modeling import (
|
|
15
|
+
ContainerId,
|
|
16
|
+
DataModelId,
|
|
17
|
+
PropertyId,
|
|
18
|
+
ViewId,
|
|
19
|
+
)
|
|
15
20
|
from pydantic_core import ErrorDetails
|
|
16
21
|
|
|
17
22
|
from cognite.neat._utils.spreadsheet import SpreadsheetRead
|
|
@@ -67,7 +72,7 @@ class NeatIssue:
|
|
|
67
72
|
extra: ClassVar[str | None] = None
|
|
68
73
|
fix: ClassVar[str | None] = None
|
|
69
74
|
|
|
70
|
-
def as_message(self) -> str:
|
|
75
|
+
def as_message(self, include_type: bool = True) -> str:
|
|
71
76
|
"""Return a human-readable message for the issue."""
|
|
72
77
|
template = self.__doc__
|
|
73
78
|
if not template:
|
|
@@ -79,8 +84,10 @@ class NeatIssue:
|
|
|
79
84
|
msg += "\n" + self.extra.format(**variables)
|
|
80
85
|
if self.fix:
|
|
81
86
|
msg += f"\nFix: {self.fix.format(**variables)}"
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
if include_type:
|
|
88
|
+
name = type(self).__name__
|
|
89
|
+
msg = f"{name}: {msg}"
|
|
90
|
+
return msg
|
|
84
91
|
|
|
85
92
|
def _get_variables(self) -> tuple[dict[str, str], bool]:
|
|
86
93
|
variables: dict[str, str] = {}
|
|
@@ -123,6 +130,8 @@ class NeatIssue:
|
|
|
123
130
|
return value.dump()
|
|
124
131
|
elif isinstance(value, PropertyId):
|
|
125
132
|
return value.dump(camel_case=True)
|
|
133
|
+
elif isinstance(value, DataModelId):
|
|
134
|
+
return value.dump(camel_case=True, include_type=False)
|
|
126
135
|
raise ValueError(f"Unsupported type: {type(value)}")
|
|
127
136
|
|
|
128
137
|
@classmethod
|
|
@@ -169,6 +178,8 @@ class NeatIssue:
|
|
|
169
178
|
return tuple(cls._load_value(subtype, item) for item in value)
|
|
170
179
|
elif type_ is ViewId:
|
|
171
180
|
return ViewId.load(value)
|
|
181
|
+
elif type_ is DataModelId:
|
|
182
|
+
return DataModelId.load(value)
|
|
172
183
|
elif type_ is PropertyId:
|
|
173
184
|
return PropertyId.load(value)
|
|
174
185
|
elif type_ is ContainerId:
|
|
@@ -266,7 +277,7 @@ class DefaultPydanticError(NeatError, ValueError):
|
|
|
266
277
|
msg=error["msg"],
|
|
267
278
|
)
|
|
268
279
|
|
|
269
|
-
def as_message(self) -> str:
|
|
280
|
+
def as_message(self, include_type: bool = True) -> str:
|
|
270
281
|
if self.loc and len(self.loc) == 1:
|
|
271
282
|
return f"{self.loc[0]} sheet: {self.msg}"
|
|
272
283
|
elif self.loc and len(self.loc) == 2:
|
|
@@ -307,7 +318,7 @@ class RowError(NeatError, ValueError):
|
|
|
307
318
|
url=str(url) if (url := error.get("url")) else None,
|
|
308
319
|
)
|
|
309
320
|
|
|
310
|
-
def as_message(self) -> str:
|
|
321
|
+
def as_message(self, include_type: bool = True) -> str:
|
|
311
322
|
input_str = str(self.input) if self.input is not None else ""
|
|
312
323
|
input_str = input_str[:50] + "..." if len(input_str) > 50 else input_str
|
|
313
324
|
output = (
|
|
@@ -350,7 +361,7 @@ class DefaultWarning(NeatWarning):
|
|
|
350
361
|
source=warning.source,
|
|
351
362
|
)
|
|
352
363
|
|
|
353
|
-
def as_message(self) -> str:
|
|
364
|
+
def as_message(self, include_type: bool = True) -> str:
|
|
354
365
|
return str(self.warning)
|
|
355
366
|
|
|
356
367
|
|
|
@@ -421,7 +432,12 @@ class IssueList(NeatIssueList[NeatIssue]):
|
|
|
421
432
|
def _repr_html_(self) -> str | None:
|
|
422
433
|
if not self:
|
|
423
434
|
return "<p>'No issues found'</p>"
|
|
424
|
-
|
|
435
|
+
df = self.to_pandas()
|
|
436
|
+
agg_df = df["NeatIssue"].value_counts().to_frame()
|
|
437
|
+
if len(agg_df) < 10:
|
|
438
|
+
return agg_df._repr_html_() # type: ignore[operator]
|
|
439
|
+
else:
|
|
440
|
+
return agg_df.head()._repr_html_() # type: ignore[operator]
|
|
425
441
|
|
|
426
442
|
|
|
427
443
|
T_Cls = TypeVar("T_Cls")
|
|
@@ -40,7 +40,7 @@ class ResourceNotFoundError(ResourceError, Generic[T_Identifier, T_ReferenceIden
|
|
|
40
40
|
referred_type: ResourceType | None = None
|
|
41
41
|
more: str | None = None
|
|
42
42
|
|
|
43
|
-
def as_message(self) -> str:
|
|
43
|
+
def as_message(self, include_type: bool = True) -> str:
|
|
44
44
|
msg = (self.__doc__ or "").format(resource_type=self.resource_type, identifier=self.identifier)
|
|
45
45
|
if self.referred_by and self.referred_type:
|
|
46
46
|
msg += self.extra.format(referred_type=self.referred_type, referred_by=self.referred_by)
|
|
@@ -99,7 +99,7 @@ class ResourceChangedError(ResourceError[T_Identifier]):
|
|
|
99
99
|
changed_properties: frozenset[str]
|
|
100
100
|
changed_attributes: frozenset[str]
|
|
101
101
|
|
|
102
|
-
def as_message(self) -> str:
|
|
102
|
+
def as_message(self, include_type: bool = True) -> str:
|
|
103
103
|
if self.changed_properties:
|
|
104
104
|
changed = f" properties {humanize_collection(self.changed_properties)}."
|
|
105
105
|
elif self.changed_attributes:
|
|
@@ -2,7 +2,7 @@ from abc import ABC
|
|
|
2
2
|
from dataclasses import dataclass
|
|
3
3
|
from typing import ClassVar
|
|
4
4
|
|
|
5
|
-
from cognite.client.data_classes.data_modeling import ViewId
|
|
5
|
+
from cognite.client.data_classes.data_modeling import DataModelId, ViewId
|
|
6
6
|
|
|
7
7
|
from cognite.neat._constants import DMS_VIEW_CONTAINER_SIZE_LIMIT
|
|
8
8
|
from cognite.neat._issues import NeatWarning
|
|
@@ -18,7 +18,7 @@ class BreakingModelingPrincipleWarning(NeatWarning, ABC):
|
|
|
18
18
|
url: ClassVar[str]
|
|
19
19
|
specific: str
|
|
20
20
|
|
|
21
|
-
def as_message(self) -> str:
|
|
21
|
+
def as_message(self, include_type: bool = True) -> str:
|
|
22
22
|
principle = type(self).__name__.removesuffix("Warning")
|
|
23
23
|
url = f"{_BASE_URL}#{self.url}"
|
|
24
24
|
return (self.__doc__ or "").format(
|
|
@@ -90,3 +90,21 @@ class NotSupportedHasDataFilterLimitWarning(CDFNotSupportedWarning):
|
|
|
90
90
|
view_id: ViewId
|
|
91
91
|
count: int
|
|
92
92
|
limit: int = DMS_VIEW_CONTAINER_SIZE_LIMIT
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
@dataclass(unsafe_hash=True)
|
|
96
|
+
class EnterpriseModelNotBuildOnTopOfCDMWarning(UserModelingWarning):
|
|
97
|
+
"""Enterprise data model being build on top {reference_model_id}. This is not recommended."""
|
|
98
|
+
|
|
99
|
+
fix = "Always build Enterprise Data Model on top of Cognite Data Model such as Core Data Model."
|
|
100
|
+
|
|
101
|
+
reference_model_id: DataModelId
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
@dataclass(unsafe_hash=True)
|
|
105
|
+
class SolutionModelBuildOnTopOfCDMWarning(UserModelingWarning):
|
|
106
|
+
"""Solution data model being build on top Cognite Data Model {reference_model_id}. This is not recommended."""
|
|
107
|
+
|
|
108
|
+
fix = "Always build solution data model on top of enterprise data model."
|
|
109
|
+
|
|
110
|
+
reference_model_id: DataModelId
|
|
@@ -13,6 +13,7 @@ from openpyxl.styles import Alignment, Border, Font, PatternFill, Side
|
|
|
13
13
|
from openpyxl.worksheet.worksheet import Worksheet
|
|
14
14
|
from rdflib import Namespace
|
|
15
15
|
|
|
16
|
+
from cognite.neat._constants import COGNITE_MODELS
|
|
16
17
|
from cognite.neat._rules._shared import VerifiedRules
|
|
17
18
|
from cognite.neat._rules.models import (
|
|
18
19
|
DataModelType,
|
|
@@ -21,6 +22,7 @@ from cognite.neat._rules.models import (
|
|
|
21
22
|
SheetRow,
|
|
22
23
|
)
|
|
23
24
|
from cognite.neat._rules.models.dms import DMSMetadata
|
|
25
|
+
from cognite.neat._rules.models.dms._rules import DMSRules
|
|
24
26
|
from cognite.neat._rules.models.domain import DomainMetadata
|
|
25
27
|
from cognite.neat._rules.models.information import InformationMetadata
|
|
26
28
|
from cognite.neat._rules.models.information._rules import InformationRules
|
|
@@ -134,8 +136,12 @@ class ExcelExporter(BaseExporter[VerifiedRules, Workbook]):
|
|
|
134
136
|
self._write_metadata_sheet(workbook, dumped_last_rules["Metadata"], sheet_prefix="Last")
|
|
135
137
|
|
|
136
138
|
if dumped_reference_rules:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
if isinstance(rules.reference, DMSRules):
|
|
140
|
+
sheet_prefix = "CDM" if rules.reference.metadata.as_data_model_id() in COGNITE_MODELS else "Ref"
|
|
141
|
+
else:
|
|
142
|
+
sheet_prefix = "Ref"
|
|
143
|
+
self._write_sheets(workbook, dumped_reference_rules, rules, sheet_prefix=sheet_prefix)
|
|
144
|
+
self._write_metadata_sheet(workbook, dumped_reference_rules["Metadata"], sheet_prefix=sheet_prefix)
|
|
139
145
|
|
|
140
146
|
if isinstance(rules, InformationRules) and rules.prefixes:
|
|
141
147
|
self._write_prefixes_sheet(workbook, rules.prefixes)
|
|
@@ -5,6 +5,7 @@ from collections.abc import Hashable
|
|
|
5
5
|
from datetime import datetime
|
|
6
6
|
from typing import TYPE_CHECKING, Any, ClassVar, Literal
|
|
7
7
|
|
|
8
|
+
import pandas as pd
|
|
8
9
|
from cognite.client import data_modeling as dm
|
|
9
10
|
from pydantic import Field, field_serializer, field_validator, model_validator
|
|
10
11
|
from pydantic_core.core_schema import SerializationInfo, ValidationInfo
|
|
@@ -451,3 +452,18 @@ class DMSRules(BaseRules):
|
|
|
451
452
|
from ._exporter import _DMSExporter
|
|
452
453
|
|
|
453
454
|
return _DMSExporter(self, include_pipeline, instance_space).to_schema()
|
|
455
|
+
|
|
456
|
+
def _repr_html_(self) -> str:
|
|
457
|
+
summary = {
|
|
458
|
+
"type": "Physical Data Model",
|
|
459
|
+
"intended for": "DMS Architect",
|
|
460
|
+
"name": self.metadata.name,
|
|
461
|
+
"space": self.metadata.space,
|
|
462
|
+
"external_id": self.metadata.external_id,
|
|
463
|
+
"version": self.metadata.version,
|
|
464
|
+
"views": len(self.views),
|
|
465
|
+
"containers": len(self.containers) if self.containers else 0,
|
|
466
|
+
"properties": len(self.properties),
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
return pd.DataFrame([summary]).T.rename(columns={0: ""})._repr_html_() # type: ignore
|
|
@@ -3,6 +3,7 @@ from dataclasses import dataclass
|
|
|
3
3
|
from datetime import datetime
|
|
4
4
|
from typing import Any, Literal
|
|
5
5
|
|
|
6
|
+
import pandas as pd
|
|
6
7
|
from cognite.client import data_modeling as dm
|
|
7
8
|
|
|
8
9
|
from cognite.neat._rules.models._base_input import InputComponent, InputRules
|
|
@@ -291,3 +292,18 @@ class DMSInputRules(InputRules[DMSRules]):
|
|
|
291
292
|
"Last": last,
|
|
292
293
|
"Reference": reference,
|
|
293
294
|
}
|
|
295
|
+
|
|
296
|
+
def _repr_html_(self) -> str:
|
|
297
|
+
summary = {
|
|
298
|
+
"type": "Physical Data Model",
|
|
299
|
+
"intended for": "DMS Architect",
|
|
300
|
+
"name": self.metadata.name,
|
|
301
|
+
"space": self.metadata.space,
|
|
302
|
+
"external_id": self.metadata.external_id,
|
|
303
|
+
"version": self.metadata.version,
|
|
304
|
+
"views": len(self.views),
|
|
305
|
+
"containers": len(self.containers) if self.containers else 0,
|
|
306
|
+
"properties": len(self.properties),
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
return pd.DataFrame([summary]).T.rename(columns={0: ""})._repr_html_() # type: ignore
|
{cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/information/_rules.py
RENAMED
|
@@ -4,6 +4,7 @@ from collections.abc import Hashable
|
|
|
4
4
|
from datetime import datetime
|
|
5
5
|
from typing import TYPE_CHECKING, Any, ClassVar
|
|
6
6
|
|
|
7
|
+
import pandas as pd
|
|
7
8
|
from pydantic import Field, field_serializer, field_validator, model_validator
|
|
8
9
|
from pydantic_core.core_schema import SerializationInfo
|
|
9
10
|
from rdflib import Namespace
|
|
@@ -380,3 +381,16 @@ class InformationRules(BaseRules):
|
|
|
380
381
|
from cognite.neat._rules.transformers._converters import _InformationRulesConverter
|
|
381
382
|
|
|
382
383
|
return _InformationRulesConverter(self).as_dms_rules()
|
|
384
|
+
|
|
385
|
+
def _repr_html_(self) -> str:
|
|
386
|
+
summary = {
|
|
387
|
+
"type": "Logical Data Model",
|
|
388
|
+
"intended for": "Information Architect",
|
|
389
|
+
"name": self.metadata.name,
|
|
390
|
+
"external_id": self.metadata.prefix,
|
|
391
|
+
"version": self.metadata.version,
|
|
392
|
+
"classes": len(self.classes),
|
|
393
|
+
"properties": len(self.properties),
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
return pd.DataFrame([summary]).T.rename(columns={0: ""})._repr_html_() # type: ignore
|
{cognite_neat-0.94.0 → cognite_neat-0.96.0}/cognite/neat/_rules/models/information/_rules_input.py
RENAMED
|
@@ -2,6 +2,7 @@ from dataclasses import dataclass, field
|
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
from typing import Any, Literal
|
|
4
4
|
|
|
5
|
+
import pandas as pd
|
|
5
6
|
from rdflib import Namespace
|
|
6
7
|
|
|
7
8
|
from cognite.neat._rules.models._base_input import InputComponent, InputRules
|
|
@@ -144,3 +145,16 @@ class InformationInputRules(InputRules[InformationRules]):
|
|
|
144
145
|
Last=last,
|
|
145
146
|
Reference=reference,
|
|
146
147
|
)
|
|
148
|
+
|
|
149
|
+
def _repr_html_(self) -> str:
|
|
150
|
+
summary = {
|
|
151
|
+
"type": "Logical Data Model",
|
|
152
|
+
"intended for": "Information Architect",
|
|
153
|
+
"name": self.metadata.name,
|
|
154
|
+
"external_id": self.metadata.prefix,
|
|
155
|
+
"version": self.metadata.version,
|
|
156
|
+
"classes": len(self.classes),
|
|
157
|
+
"properties": len(self.properties),
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return pd.DataFrame([summary]).T.rename(columns={0: ""})._repr_html_() # type: ignore
|
|
@@ -6,6 +6,7 @@ from ._converters import (
|
|
|
6
6
|
InformationToAsset,
|
|
7
7
|
InformationToDMS,
|
|
8
8
|
ReduceCogniteModel,
|
|
9
|
+
SetIDDMSModel,
|
|
9
10
|
ToCompliantEntities,
|
|
10
11
|
ToExtension,
|
|
11
12
|
)
|
|
@@ -31,4 +32,5 @@ __all__ = [
|
|
|
31
32
|
"RuleMapper",
|
|
32
33
|
"ToExtension",
|
|
33
34
|
"ReduceCogniteModel",
|
|
35
|
+
"SetIDDMSModel",
|
|
34
36
|
]
|