cognite-neat 0.104.0__py3-none-any.whl → 0.105.1__py3-none-any.whl
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/_client/_api/data_modeling_loaders.py +83 -23
- cognite/neat/_client/_api/schema.py +2 -1
- cognite/neat/_client/data_classes/neat_sequence.py +261 -0
- cognite/neat/_client/data_classes/schema.py +5 -1
- cognite/neat/_client/testing.py +33 -0
- cognite/neat/_constants.py +57 -0
- cognite/neat/_graph/extractors/_classic_cdf/_base.py +6 -5
- cognite/neat/_graph/extractors/_classic_cdf/_sequences.py +225 -11
- cognite/neat/_graph/extractors/_mock_graph_generator.py +1 -1
- cognite/neat/_graph/loaders/_rdf2dms.py +31 -5
- cognite/neat/_graph/transformers/__init__.py +3 -1
- cognite/neat/_graph/transformers/_classic_cdf.py +39 -51
- cognite/neat/_graph/transformers/_rdfpath.py +14 -15
- cognite/neat/_graph/transformers/_value_type.py +72 -0
- cognite/neat/_issues/__init__.py +0 -2
- cognite/neat/_issues/_base.py +19 -35
- cognite/neat/_issues/warnings/__init__.py +6 -1
- cognite/neat/_issues/warnings/_general.py +7 -0
- cognite/neat/_issues/warnings/_properties.py +11 -0
- cognite/neat/_issues/warnings/_resources.py +11 -0
- cognite/neat/_rules/exporters/_rules2dms.py +35 -1
- cognite/neat/_rules/exporters/_rules2excel.py +2 -2
- cognite/neat/_rules/importers/_dms2rules.py +66 -55
- cognite/neat/_rules/models/_base_rules.py +4 -1
- cognite/neat/_rules/models/entities/_wrapped.py +10 -5
- cognite/neat/_rules/models/mapping/_classic2core.yaml +239 -38
- cognite/neat/_rules/transformers/__init__.py +8 -2
- cognite/neat/_rules/transformers/_converters.py +271 -188
- cognite/neat/_rules/transformers/_mapping.py +75 -59
- cognite/neat/_rules/transformers/_verification.py +2 -3
- cognite/neat/_session/_inspect.py +3 -1
- cognite/neat/_session/_prepare.py +112 -24
- cognite/neat/_session/_read.py +33 -70
- cognite/neat/_session/_state.py +2 -2
- cognite/neat/_session/_to.py +2 -2
- cognite/neat/_store/_rules_store.py +4 -8
- cognite/neat/_utils/reader/_base.py +27 -0
- cognite/neat/_version.py +1 -1
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/METADATA +4 -3
- cognite_neat-0.105.1.dist-info/RECORD +179 -0
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/WHEEL +1 -1
- cognite/neat/_app/api/__init__.py +0 -0
- cognite/neat/_app/api/asgi/metrics.py +0 -4
- cognite/neat/_app/api/configuration.py +0 -98
- cognite/neat/_app/api/context_manager/__init__.py +0 -3
- cognite/neat/_app/api/context_manager/manager.py +0 -16
- cognite/neat/_app/api/data_classes/__init__.py +0 -0
- cognite/neat/_app/api/data_classes/rest.py +0 -59
- cognite/neat/_app/api/explorer.py +0 -66
- cognite/neat/_app/api/routers/configuration.py +0 -25
- cognite/neat/_app/api/routers/crud.py +0 -102
- cognite/neat/_app/api/routers/metrics.py +0 -10
- cognite/neat/_app/api/routers/workflows.py +0 -224
- cognite/neat/_app/api/utils/__init__.py +0 -0
- cognite/neat/_app/api/utils/data_mapping.py +0 -17
- cognite/neat/_app/api/utils/logging.py +0 -26
- cognite/neat/_app/api/utils/query_templates.py +0 -92
- cognite/neat/_app/main.py +0 -17
- cognite/neat/_app/monitoring/__init__.py +0 -0
- cognite/neat/_app/monitoring/metrics.py +0 -69
- cognite/neat/_app/ui/index.html +0 -1
- cognite/neat/_app/ui/neat-app/.gitignore +0 -23
- cognite/neat/_app/ui/neat-app/README.md +0 -70
- cognite/neat/_app/ui/neat-app/build/asset-manifest.json +0 -14
- cognite/neat/_app/ui/neat-app/build/favicon.ico +0 -0
- cognite/neat/_app/ui/neat-app/build/img/architect-icon.svg +0 -116
- cognite/neat/_app/ui/neat-app/build/img/developer-icon.svg +0 -112
- cognite/neat/_app/ui/neat-app/build/img/sme-icon.svg +0 -34
- cognite/neat/_app/ui/neat-app/build/index.html +0 -1
- cognite/neat/_app/ui/neat-app/build/logo192.png +0 -0
- cognite/neat/_app/ui/neat-app/build/manifest.json +0 -25
- cognite/neat/_app/ui/neat-app/build/robots.txt +0 -3
- cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css +0 -2
- cognite/neat/_app/ui/neat-app/build/static/css/main.72e3d92e.css.map +0 -1
- cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js +0 -3
- cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.LICENSE.txt +0 -88
- cognite/neat/_app/ui/neat-app/build/static/js/main.5a52cf09.js.map +0 -1
- cognite/neat/_app/ui/neat-app/build/static/media/logo.8093b84df9ed36a174c629d6fe0b730d.svg +0 -1
- cognite/neat/_app/ui/neat-app/package-lock.json +0 -18306
- cognite/neat/_app/ui/neat-app/package.json +0 -62
- cognite/neat/_app/ui/neat-app/public/favicon.ico +0 -0
- cognite/neat/_app/ui/neat-app/public/img/architect-icon.svg +0 -116
- cognite/neat/_app/ui/neat-app/public/img/developer-icon.svg +0 -112
- cognite/neat/_app/ui/neat-app/public/img/sme-icon.svg +0 -34
- cognite/neat/_app/ui/neat-app/public/index.html +0 -43
- cognite/neat/_app/ui/neat-app/public/logo192.png +0 -0
- cognite/neat/_app/ui/neat-app/public/manifest.json +0 -25
- cognite/neat/_app/ui/neat-app/public/robots.txt +0 -3
- cognite/neat/_app/ui/neat-app/src/App.css +0 -38
- cognite/neat/_app/ui/neat-app/src/App.js +0 -17
- cognite/neat/_app/ui/neat-app/src/App.test.js +0 -8
- cognite/neat/_app/ui/neat-app/src/MainContainer.tsx +0 -70
- cognite/neat/_app/ui/neat-app/src/components/JsonViewer.tsx +0 -43
- cognite/neat/_app/ui/neat-app/src/components/LocalUploader.tsx +0 -124
- cognite/neat/_app/ui/neat-app/src/components/OverviewComponentEditorDialog.tsx +0 -63
- cognite/neat/_app/ui/neat-app/src/components/StepEditorDialog.tsx +0 -511
- cognite/neat/_app/ui/neat-app/src/components/TabPanel.tsx +0 -36
- cognite/neat/_app/ui/neat-app/src/components/Utils.tsx +0 -56
- cognite/neat/_app/ui/neat-app/src/components/WorkflowDeleteDialog.tsx +0 -60
- cognite/neat/_app/ui/neat-app/src/components/WorkflowExecutionReport.tsx +0 -112
- cognite/neat/_app/ui/neat-app/src/components/WorkflowImportExportDialog.tsx +0 -67
- cognite/neat/_app/ui/neat-app/src/components/WorkflowMetadataDialog.tsx +0 -79
- cognite/neat/_app/ui/neat-app/src/index.css +0 -13
- cognite/neat/_app/ui/neat-app/src/index.js +0 -13
- cognite/neat/_app/ui/neat-app/src/logo.svg +0 -1
- cognite/neat/_app/ui/neat-app/src/reportWebVitals.js +0 -13
- cognite/neat/_app/ui/neat-app/src/setupTests.js +0 -5
- cognite/neat/_app/ui/neat-app/src/types/WorkflowTypes.ts +0 -388
- cognite/neat/_app/ui/neat-app/src/views/AboutView.tsx +0 -61
- cognite/neat/_app/ui/neat-app/src/views/ConfigView.tsx +0 -184
- cognite/neat/_app/ui/neat-app/src/views/GlobalConfigView.tsx +0 -180
- cognite/neat/_app/ui/neat-app/src/views/WorkflowView.tsx +0 -570
- cognite/neat/_app/ui/neat-app/tsconfig.json +0 -27
- cognite/neat/_workflows/__init__.py +0 -17
- cognite/neat/_workflows/base.py +0 -590
- cognite/neat/_workflows/cdf_store.py +0 -393
- cognite/neat/_workflows/examples/Export_DMS/workflow.yaml +0 -89
- cognite/neat/_workflows/examples/Export_Semantic_Data_Model/workflow.yaml +0 -66
- cognite/neat/_workflows/examples/Import_DMS/workflow.yaml +0 -65
- cognite/neat/_workflows/examples/Validate_Rules/workflow.yaml +0 -67
- cognite/neat/_workflows/examples/Validate_Solution_Model/workflow.yaml +0 -64
- cognite/neat/_workflows/manager.py +0 -292
- cognite/neat/_workflows/model.py +0 -203
- cognite/neat/_workflows/steps/__init__.py +0 -0
- cognite/neat/_workflows/steps/data_contracts.py +0 -109
- cognite/neat/_workflows/steps/lib/__init__.py +0 -0
- cognite/neat/_workflows/steps/lib/current/__init__.py +0 -6
- cognite/neat/_workflows/steps/lib/current/graph_extractor.py +0 -100
- cognite/neat/_workflows/steps/lib/current/graph_loader.py +0 -51
- cognite/neat/_workflows/steps/lib/current/graph_store.py +0 -48
- cognite/neat/_workflows/steps/lib/current/rules_exporter.py +0 -537
- cognite/neat/_workflows/steps/lib/current/rules_importer.py +0 -323
- cognite/neat/_workflows/steps/lib/current/rules_validator.py +0 -106
- cognite/neat/_workflows/steps/lib/io/__init__.py +0 -1
- cognite/neat/_workflows/steps/lib/io/io_steps.py +0 -393
- cognite/neat/_workflows/steps/step_model.py +0 -79
- cognite/neat/_workflows/steps_registry.py +0 -218
- cognite/neat/_workflows/tasks.py +0 -18
- cognite/neat/_workflows/triggers.py +0 -169
- cognite/neat/_workflows/utils.py +0 -19
- cognite_neat-0.104.0.dist-info/RECORD +0 -276
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/LICENSE +0 -0
- {cognite_neat-0.104.0.dist-info → cognite_neat-0.105.1.dist-info}/entry_points.txt +0 -0
cognite/neat/_session/_to.py
CHANGED
|
@@ -82,10 +82,10 @@ class ToAPI:
|
|
|
82
82
|
return self._state.rule_store.export_to_file(exporter, Path(io))
|
|
83
83
|
|
|
84
84
|
@overload
|
|
85
|
-
def yaml(self, io: None, format: Literal["neat"] = "neat") -> str: ...
|
|
85
|
+
def yaml(self, io: None, format: Literal["neat"] = "neat", skip_system_spaces: bool = True) -> str: ...
|
|
86
86
|
|
|
87
87
|
@overload
|
|
88
|
-
def yaml(self, io: Any, format: Literal["neat", "toolkit"] = "neat") -> None: ...
|
|
88
|
+
def yaml(self, io: Any, format: Literal["neat", "toolkit"] = "neat", skip_system_spaces: bool = True) -> None: ...
|
|
89
89
|
|
|
90
90
|
def yaml(
|
|
91
91
|
self, io: Any | None = None, format: Literal["neat", "toolkit"] = "neat", skip_system_spaces: bool = True
|
|
@@ -110,8 +110,7 @@ class NeatRulesStore:
|
|
|
110
110
|
|
|
111
111
|
agent = exporter.agent
|
|
112
112
|
start = datetime.now(timezone.utc)
|
|
113
|
-
|
|
114
|
-
with catch_issues(issue_list) as _:
|
|
113
|
+
with catch_issues() as issue_list:
|
|
115
114
|
# Validate the type of the result
|
|
116
115
|
result = exporter.export(source_entity.result) # type: ignore[arg-type]
|
|
117
116
|
end = datetime.now(timezone.utc)
|
|
@@ -151,8 +150,7 @@ class NeatRulesStore:
|
|
|
151
150
|
target_id = DEFAULT_NAMESPACE[path.name]
|
|
152
151
|
agent = exporter.agent
|
|
153
152
|
start = datetime.now(timezone.utc)
|
|
154
|
-
|
|
155
|
-
with catch_issues(issue_list) as _:
|
|
153
|
+
with catch_issues() as issue_list:
|
|
156
154
|
exporter.export_to_file(source_entity.result, path)
|
|
157
155
|
end = datetime.now(timezone.utc)
|
|
158
156
|
|
|
@@ -191,9 +189,8 @@ class NeatRulesStore:
|
|
|
191
189
|
agent = exporter.agent
|
|
192
190
|
start = datetime.now(timezone.utc)
|
|
193
191
|
target_id = DEFAULT_NAMESPACE["upload-result"]
|
|
194
|
-
issue_list = IssueList()
|
|
195
192
|
result: UploadResultList | None = None
|
|
196
|
-
with catch_issues(
|
|
193
|
+
with catch_issues() as issue_list:
|
|
197
194
|
result = exporter.export_to_cdf(source_entity.result, client, dry_run)
|
|
198
195
|
end = datetime.now(timezone.utc)
|
|
199
196
|
|
|
@@ -263,9 +260,8 @@ class NeatRulesStore:
|
|
|
263
260
|
self, action: Callable[[], Rules | None], agent: Agent, source_entity: Entity, description: str
|
|
264
261
|
) -> tuple[Any, IssueList]:
|
|
265
262
|
start = datetime.now(timezone.utc)
|
|
266
|
-
issue_list = IssueList()
|
|
267
263
|
result: Rules | None = None
|
|
268
|
-
with catch_issues(
|
|
264
|
+
with catch_issues() as issue_list:
|
|
269
265
|
result = action()
|
|
270
266
|
end = datetime.now(timezone.utc)
|
|
271
267
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import tempfile
|
|
1
2
|
from abc import ABC, abstractmethod
|
|
2
3
|
from collections.abc import Iterable
|
|
3
4
|
from io import StringIO
|
|
@@ -33,6 +34,11 @@ class NeatReader(ABC):
|
|
|
33
34
|
"""Read the buffer as a string"""
|
|
34
35
|
raise NotImplementedError()
|
|
35
36
|
|
|
37
|
+
@abstractmethod
|
|
38
|
+
def read_bytes(self) -> bytes:
|
|
39
|
+
"""Read the buffer as bytes"""
|
|
40
|
+
raise NotImplementedError()
|
|
41
|
+
|
|
36
42
|
@abstractmethod
|
|
37
43
|
def size(self) -> int:
|
|
38
44
|
"""Size of the buffer in bytes"""
|
|
@@ -59,6 +65,10 @@ class NeatReader(ABC):
|
|
|
59
65
|
def exists(self) -> bool:
|
|
60
66
|
raise NotImplementedError
|
|
61
67
|
|
|
68
|
+
@abstractmethod
|
|
69
|
+
def materialize_path(self) -> Path:
|
|
70
|
+
raise NotImplementedError
|
|
71
|
+
|
|
62
72
|
|
|
63
73
|
class PathReader(NeatReader):
|
|
64
74
|
def __init__(self, path: Path):
|
|
@@ -72,6 +82,9 @@ class PathReader(NeatReader):
|
|
|
72
82
|
def read_text(self) -> str:
|
|
73
83
|
return self.path.read_text()
|
|
74
84
|
|
|
85
|
+
def read_bytes(self) -> bytes:
|
|
86
|
+
return self.path.read_bytes()
|
|
87
|
+
|
|
75
88
|
def size(self) -> int:
|
|
76
89
|
return self.path.stat().st_size
|
|
77
90
|
|
|
@@ -95,6 +108,9 @@ class PathReader(NeatReader):
|
|
|
95
108
|
def exists(self) -> bool:
|
|
96
109
|
return self.path.exists()
|
|
97
110
|
|
|
111
|
+
def materialize_path(self) -> Path:
|
|
112
|
+
return self.path
|
|
113
|
+
|
|
98
114
|
|
|
99
115
|
class HttpFileReader(NeatReader):
|
|
100
116
|
def __init__(self, url: str, path: str):
|
|
@@ -112,6 +128,11 @@ class HttpFileReader(NeatReader):
|
|
|
112
128
|
response.raise_for_status()
|
|
113
129
|
return response.text
|
|
114
130
|
|
|
131
|
+
def read_bytes(self) -> bytes:
|
|
132
|
+
response = requests.get(self._url)
|
|
133
|
+
response.raise_for_status()
|
|
134
|
+
return response.content
|
|
135
|
+
|
|
115
136
|
def size(self) -> int:
|
|
116
137
|
response = requests.head(self._url)
|
|
117
138
|
response.raise_for_status()
|
|
@@ -133,6 +154,12 @@ class HttpFileReader(NeatReader):
|
|
|
133
154
|
response = requests.head(self._url)
|
|
134
155
|
return 200 <= response.status_code < 400
|
|
135
156
|
|
|
157
|
+
def materialize_path(self) -> Path:
|
|
158
|
+
path = Path(tempfile.gettempdir()).resolve() / "neat" / self.name
|
|
159
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
160
|
+
path.write_bytes(self.read_bytes())
|
|
161
|
+
return path
|
|
162
|
+
|
|
136
163
|
|
|
137
164
|
class GitHubReader(HttpFileReader):
|
|
138
165
|
raw_url = "https://raw.githubusercontent.com/"
|
cognite/neat/_version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version__ = "0.
|
|
1
|
+
__version__ = "0.105.1"
|
|
2
2
|
__engine__ = "^2.0.3"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: cognite-neat
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.105.1
|
|
4
4
|
Summary: Knowledge graph transformation
|
|
5
5
|
Home-page: https://cognite-neat.readthedocs-hosted.com/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -20,7 +20,7 @@ Provides-Extra: oxi
|
|
|
20
20
|
Provides-Extra: service
|
|
21
21
|
Requires-Dist: PyYAML
|
|
22
22
|
Requires-Dist: backports.strenum (>=1.2,<2.0) ; python_version < "3.11"
|
|
23
|
-
Requires-Dist: cognite-sdk (>=7.
|
|
23
|
+
Requires-Dist: cognite-sdk (>=7.71.2,<8.0.0)
|
|
24
24
|
Requires-Dist: elementpath (>=4.0.0,<5.0.0)
|
|
25
25
|
Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0) ; python_version < "3.11"
|
|
26
26
|
Requires-Dist: fastapi (>=0,<1) ; extra == "service" or extra == "all"
|
|
@@ -29,6 +29,7 @@ Requires-Dist: google-auth-oauthlib ; extra == "google"
|
|
|
29
29
|
Requires-Dist: gspread ; extra == "google"
|
|
30
30
|
Requires-Dist: jsonpath-python (>=1.0.6,<2.0.0)
|
|
31
31
|
Requires-Dist: lxml (>=5.3.0,<6.0.0) ; extra == "all"
|
|
32
|
+
Requires-Dist: mistune (==3.0.2) ; extra == "docs"
|
|
32
33
|
Requires-Dist: mixpanel (>=4.10.1,<5.0.0)
|
|
33
34
|
Requires-Dist: mkdocs ; extra == "docs"
|
|
34
35
|
Requires-Dist: mkdocs-autorefs (>=0.5.0,<0.6.0) ; extra == "docs"
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
cognite/neat/__init__.py,sha256=AXLMIF5t8RmjOpSaIlfqT8ltbPc__Tb8nAVbc1pkE0Q,176
|
|
2
|
+
cognite/neat/_client/__init__.py,sha256=RQ7MwL8mwGqGHokRzsPqO3XStDzmI4-c12_gz1UPJ74,177
|
|
3
|
+
cognite/neat/_client/_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
cognite/neat/_client/_api/data_modeling_loaders.py,sha256=0BZ5_NeszBvs4DHuHr0cGXytmvkTxrQ8k7v6iaX_mn4,35932
|
|
5
|
+
cognite/neat/_client/_api/schema.py,sha256=mKN38Et45smCt0eg4Rzrl3Rc0b5fs06YSK8yYTzklTA,4845
|
|
6
|
+
cognite/neat/_client/_api_client.py,sha256=6cNMizDuqMJZiOqiNRLX46BEtlCB-BpgGLyypksRVYU,616
|
|
7
|
+
cognite/neat/_client/data_classes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
cognite/neat/_client/data_classes/data_modeling.py,sha256=RvpUp9ygd-yffQFJ7O2mQqMLDPIa-dmip5zPb8QVIiw,6672
|
|
9
|
+
cognite/neat/_client/data_classes/neat_sequence.py,sha256=QZWSfWnwk6KlYJvsInco4Wdwc1U8DnOQKWmHebArbQY,10830
|
|
10
|
+
cognite/neat/_client/data_classes/schema.py,sha256=uD8ExxEiIP3zhK4b--Q5fND-vmcC05a9WU5ItLsqG88,23179
|
|
11
|
+
cognite/neat/_client/testing.py,sha256=c5ADJkRJFYGlJVQz-uPqxKExKXT297pxKh_ka4oGBjs,1082
|
|
12
|
+
cognite/neat/_config.py,sha256=f9Py4SEHwYYquIg-k1rC7MbXBLENXQauoZtLyUbWvJQ,10118
|
|
13
|
+
cognite/neat/_constants.py,sha256=ei0ODx_P1Z4O-8tVK_K_7oRvEMzovVJ-0kw96fW8a_0,4999
|
|
14
|
+
cognite/neat/_graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
cognite/neat/_graph/_shared.py,sha256=g7XFITbVxdDyGZ6mlgFUv5cBycrU7QbPktRikdUVkks,863
|
|
16
|
+
cognite/neat/_graph/_tracking/__init__.py,sha256=WOwsYieZtCW-iW15YkxUFrfKVVdLWdXHOGGStTwvE8A,91
|
|
17
|
+
cognite/neat/_graph/_tracking/base.py,sha256=qU7DQL_aeG22jS-uE3G17B1WL1sOOxHt-eR0XlTZngs,821
|
|
18
|
+
cognite/neat/_graph/_tracking/log.py,sha256=_MGgMWxPDfKG4kbX-YL1UO0Lfq8nbcjyFFJeqN5wpuc,928
|
|
19
|
+
cognite/neat/_graph/examples/Knowledge-Graph-Nordic44-dirty.xml,sha256=ujJip6XBs5n8enVDPzNnuGkMBwv8g21tIr1sEVJpK5M,1439359
|
|
20
|
+
cognite/neat/_graph/examples/Knowledge-Graph-Nordic44.xml,sha256=U2Ns-M4LRjT1fBkhmRj63ur7jDzlRtHK9yOLf_npZ_g,1437996
|
|
21
|
+
cognite/neat/_graph/examples/__init__.py,sha256=yAjHVY3b5jOjmbW-iLbhvu7BG014TpGi3K4igkDqW5I,368
|
|
22
|
+
cognite/neat/_graph/examples/skos-capturing-sheet-wind-topics.xlsx,sha256=CV_yK5ZSbYS_ktfIZUPD8Sevs47zpswLXQUDFkGE4Gw,45798
|
|
23
|
+
cognite/neat/_graph/extractors/__init__.py,sha256=dUdr4lg4HfEJuXeGGo2dmNdFwv75isdQza94M6GpE7k,2110
|
|
24
|
+
cognite/neat/_graph/extractors/_base.py,sha256=xvoK8ZCu7OOvqcI9glOLEh1DxqW_TA1xYPI5tQQG_50,859
|
|
25
|
+
cognite/neat/_graph/extractors/_classic_cdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
cognite/neat/_graph/extractors/_classic_cdf/_assets.py,sha256=9WVFrAtUFAp_AAlb26Rtt2Axz9xsPQYetg7SKVrNCr4,1474
|
|
27
|
+
cognite/neat/_graph/extractors/_classic_cdf/_base.py,sha256=9kI2qBv5fvUPNPA7RL9HrUR3p5R40Cxz2zR0f3lTxrU,11115
|
|
28
|
+
cognite/neat/_graph/extractors/_classic_cdf/_classic.py,sha256=aKo5Z5eKMZuyq9k6Uxk-yizvBnPNVc_58lIGoKrOEMU,11206
|
|
29
|
+
cognite/neat/_graph/extractors/_classic_cdf/_data_sets.py,sha256=xRFv9pVFgIMTZ45E8teMC0Ynku_CuZdcZkVCbhPuPBk,1294
|
|
30
|
+
cognite/neat/_graph/extractors/_classic_cdf/_events.py,sha256=B8hRoMAg8GQvApjxals5PfPyjmdPO93U3nj_G7g0kDQ,1394
|
|
31
|
+
cognite/neat/_graph/extractors/_classic_cdf/_files.py,sha256=Q816cVQ9qS7Art66HJfErL2OV7MxH_eSIG7bJ8_HJ7Q,1406
|
|
32
|
+
cognite/neat/_graph/extractors/_classic_cdf/_labels.py,sha256=7guTZdGFT1r7ItE2VNgXwbBZ1y_005oB3fg1XbwT7WQ,2083
|
|
33
|
+
cognite/neat/_graph/extractors/_classic_cdf/_relationships.py,sha256=Mu0PRcgF3BEZ7HVNQpCT1Ht2TLl9n2JcRz-UinShiFY,2977
|
|
34
|
+
cognite/neat/_graph/extractors/_classic_cdf/_sequences.py,sha256=n8qaFNR5YCRkT8rMevnQArFovbzE3EI-DuWIXMtjmx0,10676
|
|
35
|
+
cognite/neat/_graph/extractors/_classic_cdf/_timeseries.py,sha256=6CmmxWWG2IErfNKOPhsjQ5wSOTUZZMjulpaRbHj0Q-g,1560
|
|
36
|
+
cognite/neat/_graph/extractors/_dexpi.py,sha256=SFWnKXYpQToWag9aoX8fxISNa9b8KlqjZnkwI18BzNY,9431
|
|
37
|
+
cognite/neat/_graph/extractors/_dms.py,sha256=bK5p4-NdXlnQMGaalr6vgODcIvWu2e4qE6f8nnvdQK0,6685
|
|
38
|
+
cognite/neat/_graph/extractors/_iodd.py,sha256=nMSLmtgvxLrQJMA5NECF1OCp4Bcv0Vq0WsNv8X9Oj1k,18458
|
|
39
|
+
cognite/neat/_graph/extractors/_mock_graph_generator.py,sha256=7WqyFu2Qj03pJD4auuV3vrqjNA9s9pO5jlKJoTrIink,15419
|
|
40
|
+
cognite/neat/_graph/extractors/_rdf_file.py,sha256=YgPZN4Ayk6UlbwFFjdWn4Yo3P74D8KeNUb3slXg6Ox8,1604
|
|
41
|
+
cognite/neat/_graph/loaders/__init__.py,sha256=1eam_rG1BXTUJ8iDm8_IYZldEe177vn2GmHihDBi8qk,718
|
|
42
|
+
cognite/neat/_graph/loaders/_base.py,sha256=Fp6uUkNfAM-SVgsLz7tyNJxJ1eeEw3h2d4Q0YyppR-Y,3991
|
|
43
|
+
cognite/neat/_graph/loaders/_rdf2dms.py,sha256=BskCCo_2P4JjPOyAc4His6tv_nEPH8u0qoQZyaSjVGQ,25247
|
|
44
|
+
cognite/neat/_graph/queries/__init__.py,sha256=BgDd-037kvtWwAoGAy8eORVNMiZ5-E9sIV0txIpeaN4,50
|
|
45
|
+
cognite/neat/_graph/queries/_base.py,sha256=Y3Amuave6xdQsDE5ZXCrYLUgOMIH8BXa4n5Pc9czAF0,14926
|
|
46
|
+
cognite/neat/_graph/queries/_construct.py,sha256=CW8uHtXXACUXDj1AcEjROXtvoiuyx0CTgZ0bURY5Neo,7213
|
|
47
|
+
cognite/neat/_graph/queries/_shared.py,sha256=uhw-nY4jJvivgtj1msdCRrfTWgauU7ybSHUqqUaFOUU,5390
|
|
48
|
+
cognite/neat/_graph/transformers/__init__.py,sha256=sSrjK3_UDeesN8RzOjfNAYqyOEwjZJPUGO4uDuMLZ3s,1620
|
|
49
|
+
cognite/neat/_graph/transformers/_base.py,sha256=omFmfRGaudojjq3GlW6b8PA2TNRcN3jXkw6Xvnx5r4M,4345
|
|
50
|
+
cognite/neat/_graph/transformers/_classic_cdf.py,sha256=WaujTo8ryLSp7mZkyRdmAXHZ-AhgbOyM0X96S0rNhXs,18919
|
|
51
|
+
cognite/neat/_graph/transformers/_iodd.py,sha256=KNz1fPdKK40UaHgPMECzNZgSeU5PdPRyLdaRYdq1iug,866
|
|
52
|
+
cognite/neat/_graph/transformers/_prune_graph.py,sha256=LFiAMYFteND5LGEv9KqYJr5C9-n7S5fR6IrEdtJyRnk,12447
|
|
53
|
+
cognite/neat/_graph/transformers/_rdfpath.py,sha256=WzydQvBzsnZ4BSv3HJWSH73e-sf1p-R4M2dm2H-DtEk,5019
|
|
54
|
+
cognite/neat/_graph/transformers/_value_type.py,sha256=ZtH1KZmOGBGpUcqj4fBRlPOMq6kADt-HMShvYPS5Org,12841
|
|
55
|
+
cognite/neat/_issues/__init__.py,sha256=OVgWivp_Br31p8zPeHjOEXs-Wj7lJU1pU1L3pfhfuqE,518
|
|
56
|
+
cognite/neat/_issues/_base.py,sha256=vV0E8cfXKlOnRXFIDZKg5QPMruELEbCaUfQ01l5dR9A,20073
|
|
57
|
+
cognite/neat/_issues/errors/__init__.py,sha256=cAmB92WnUDicT8adowED0-UbMTuJxdde2TS5G65IW50,2216
|
|
58
|
+
cognite/neat/_issues/errors/_external.py,sha256=2RUOH4zRLYZQGLNwoTospi8xTW-P7CUZ_hURjRPcSbE,1764
|
|
59
|
+
cognite/neat/_issues/errors/_general.py,sha256=zwEoaygHA2Nt9vCwiveDuzJsqZYIaX0BoUYkwJkQ4jU,844
|
|
60
|
+
cognite/neat/_issues/errors/_properties.py,sha256=T_nquQeEQS3DQY--DQ13acxhGX_-gpUMjWGTBKCh6r8,2536
|
|
61
|
+
cognite/neat/_issues/errors/_resources.py,sha256=YoajFF4Nxq_mhhVSZ7r3J6V-sH8cMMn576dSTsbcQZk,3964
|
|
62
|
+
cognite/neat/_issues/errors/_workflow.py,sha256=m_Hlsvl5A1Oy7P3IROnz-4_do8_orZ1Pr1IHqsMyEys,971
|
|
63
|
+
cognite/neat/_issues/formatters.py,sha256=ziNWT_YXwovTfU8Av5iYuSLgszzJYKTawM_z67VBdlU,3331
|
|
64
|
+
cognite/neat/_issues/warnings/__init__.py,sha256=6iIa8IFb7i1TtCS6Bp2ZiwPggQPWziKv9_jsb9v1m0U,2967
|
|
65
|
+
cognite/neat/_issues/warnings/_external.py,sha256=3tE98nLzOx9pb-VMi0MmQskHj-IuEqwjjoqhKMJ-xIM,1325
|
|
66
|
+
cognite/neat/_issues/warnings/_general.py,sha256=idZZZDbeSrDJJ1PomdmIO40QsZQNn_lWztWvMA-9q50,782
|
|
67
|
+
cognite/neat/_issues/warnings/_models.py,sha256=i4ZXr1IINKbFiVhUd8-qAt9_cXB8D3W-ng1Ime_lQTA,4376
|
|
68
|
+
cognite/neat/_issues/warnings/_properties.py,sha256=cC1mWcHm7NM2avheTh3eUZmNrnI-s5rqjGvg0-YR6NI,3146
|
|
69
|
+
cognite/neat/_issues/warnings/_resources.py,sha256=jRhV7ROxuqcwah4rB3vTjBf_cZufRgnkDKZAflhlV3c,3556
|
|
70
|
+
cognite/neat/_issues/warnings/user_modeling.py,sha256=_cN1wbaQUStZ13aG0VbN5UwKM9YdtyPfuSNJ1AAS6o8,3668
|
|
71
|
+
cognite/neat/_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
|
+
cognite/neat/_rules/_constants.py,sha256=lOyf7nybSYOuAE_wKmTMncHYz0Io0_J_YVnYBzjrvZA,5637
|
|
73
|
+
cognite/neat/_rules/_shared.py,sha256=2WrvsSKP4XQisDXUVu5z4GOfjQMIQZwed_UNfb4NCoY,1282
|
|
74
|
+
cognite/neat/_rules/analysis/__init__.py,sha256=sTW-gDkHn2VPAHnuOBYJF40Ap3AfxvhLkDGoIRKyOJE,126
|
|
75
|
+
cognite/neat/_rules/analysis/_base.py,sha256=RXPxgcjhA8xZMZ30TZAYw9vXxd6p2Bn6nWekLEExY_Q,16744
|
|
76
|
+
cognite/neat/_rules/analysis/_dms.py,sha256=k9OrN6kRCcdPr8GCJDRXyF0nNXmBYJQDtoGqw7R87po,2204
|
|
77
|
+
cognite/neat/_rules/analysis/_information.py,sha256=Ex4ZeADmJV35_KjOerlepZILVfZVPcud1zojogKc6_s,10699
|
|
78
|
+
cognite/neat/_rules/catalog/__init__.py,sha256=38VJJmLBBn-GxM6r9OpEjWq4Xn9df988yv2sqMlRLRs,202
|
|
79
|
+
cognite/neat/_rules/catalog/hello_world_pump.xlsx,sha256=4Fv9qyv7ARHBXSIh-PiOUHcYrtgznKyR2PZCdEBlA0o,17071
|
|
80
|
+
cognite/neat/_rules/catalog/info-rules-imf.xlsx,sha256=7odm5CoAU72-VTZk_z1u7GbycIb-X-8Yy3mtBGLjhE4,55511
|
|
81
|
+
cognite/neat/_rules/exporters/__init__.py,sha256=IYBa0DIYlx8cFItgYRw9W4FY_LmVEjuaqMz3JORZZX0,1204
|
|
82
|
+
cognite/neat/_rules/exporters/_base.py,sha256=VkNMy8wsH-x4tAjS44cXgzzNH0CM2k_4RhkMwK50J7g,2284
|
|
83
|
+
cognite/neat/_rules/exporters/_rules2dms.py,sha256=7I3a8ZPwkIBQAClQbMjJ2D2aIITY-OBVUD-8hirCmzM,19183
|
|
84
|
+
cognite/neat/_rules/exporters/_rules2excel.py,sha256=Y7QXtRoZNXuxM0gZIvy4u5_-V3r0qZ1ZfmMr-aMgH8A,12513
|
|
85
|
+
cognite/neat/_rules/exporters/_rules2instance_template.py,sha256=cgO8omyV5Jr0mPGI_W_9ipiE3W1xKxlMLW9ySOLJLZw,5932
|
|
86
|
+
cognite/neat/_rules/exporters/_rules2ontology.py,sha256=l0QJKh0qJ5CDtReWDeQ2jt7wa__v0FEgVMX9jCKHT2U,22120
|
|
87
|
+
cognite/neat/_rules/exporters/_rules2yaml.py,sha256=-TtE7-SvfJr0-ndNy26nrHXtxAq6hNyZQbh5jwGao4o,3149
|
|
88
|
+
cognite/neat/_rules/exporters/_validation.py,sha256=DVJGdNNU2WtAFgUg0h4SWVhveRErEPOcYdT65y5toV0,682
|
|
89
|
+
cognite/neat/_rules/importers/__init__.py,sha256=d5k8vNgf1rjECl6pubozVQV1Bdpz62GI59GYC-cJMrY,1316
|
|
90
|
+
cognite/neat/_rules/importers/_base.py,sha256=HOmfESfF9KLGWGa5AmhPGc-AimwKHgoShbxPz90h2JE,3589
|
|
91
|
+
cognite/neat/_rules/importers/_dms2rules.py,sha256=rj_JfbpH76045coBQaxkXSS__81SE-HWxfV4jCSUvuI,22772
|
|
92
|
+
cognite/neat/_rules/importers/_dtdl2rules/__init__.py,sha256=CNR-sUihs2mnR1bPMKs3j3L4ds3vFTsrl6YycExZTfU,68
|
|
93
|
+
cognite/neat/_rules/importers/_dtdl2rules/_unit_lookup.py,sha256=wW4saKva61Q_i17guY0dc4OseJDQfqHy_QZBtm0OD6g,12134
|
|
94
|
+
cognite/neat/_rules/importers/_dtdl2rules/dtdl_converter.py,sha256=j38U0um1ZWI-yRvEUR3z33vOvMCYXJxSO9L_B7m9xDE,11707
|
|
95
|
+
cognite/neat/_rules/importers/_dtdl2rules/dtdl_importer.py,sha256=amK-Q1n4Zl_LdZko23ZW6cJD7G6U3vm8EIDr3qiRo64,6097
|
|
96
|
+
cognite/neat/_rules/importers/_dtdl2rules/spec.py,sha256=u__f08rAiYG0FIRiWoecBN83bVN3GEy--Lvm7463Q68,12166
|
|
97
|
+
cognite/neat/_rules/importers/_rdf/__init__.py,sha256=x06gjJ3dXlhJRRgyXZ-HoF4vFnbPmzI2ni6wyzwtfPU,183
|
|
98
|
+
cognite/neat/_rules/importers/_rdf/_base.py,sha256=b7MM4PV4d0irLbU8nKws4ynhiIuzmvvZeeQycHVKMpQ,5682
|
|
99
|
+
cognite/neat/_rules/importers/_rdf/_imf2rules.py,sha256=M5hfWZUhoCgXFlr8QNfogNCI2pxzqqAvTJII4yA8xJw,3723
|
|
100
|
+
cognite/neat/_rules/importers/_rdf/_inference2rules.py,sha256=Kp0ShcswOP0HKL2RtTwnN5Q2mxpI1lXzqzgNF2npfHM,12741
|
|
101
|
+
cognite/neat/_rules/importers/_rdf/_owl2rules.py,sha256=gTMe94DC9xe8NR9KNVHTMTshg_NzVuN1v8Lz95BUshI,3392
|
|
102
|
+
cognite/neat/_rules/importers/_rdf/_shared.py,sha256=mxBoqFQfvHeLa4kbDYAd7FEcHe1fv97tcqHd9gmFeKk,5867
|
|
103
|
+
cognite/neat/_rules/importers/_spreadsheet2rules.py,sha256=2KhOSzNPmQgBb64L3aIARwmqY944LNP_9QciMnn7ecY,10911
|
|
104
|
+
cognite/neat/_rules/importers/_yaml2rules.py,sha256=k2oDgz--mxFVeyqQG3uvyYcb0BkFHwKHdBYHVaxtAEc,3721
|
|
105
|
+
cognite/neat/_rules/models/__init__.py,sha256=tf6tyWiYO0eC2PHCcpy208dwOHjEi9hg0sEaQLcB3uA,1024
|
|
106
|
+
cognite/neat/_rules/models/_base_input.py,sha256=kAVI6QYAzsgQ79eLPc_hANJjl-o1e9IKeD7lF61ru9Y,6656
|
|
107
|
+
cognite/neat/_rules/models/_base_rules.py,sha256=cU-FG-aE6nVq_OBQ68-jybkxqTxXq3nrZCY-aLwIvO8,15055
|
|
108
|
+
cognite/neat/_rules/models/_rdfpath.py,sha256=hqUMZCMeI8ESdJltu7FifuUhna5JNN_Heup2aYkV56Y,11882
|
|
109
|
+
cognite/neat/_rules/models/_types.py,sha256=7rh4PVaqI58OTXtoIgZKitmwa5hZlVtk8uX4czlSGFY,5261
|
|
110
|
+
cognite/neat/_rules/models/data_types.py,sha256=LJuWUbStlZM4hUJGExOJIJXmAA4uiA0tvO9zKqLUrQg,9805
|
|
111
|
+
cognite/neat/_rules/models/dms/__init__.py,sha256=fRaUH0IwG0YwWd_DNKM6j-jHHFyiIVz4_8DPiS1KR0Y,695
|
|
112
|
+
cognite/neat/_rules/models/dms/_exporter.py,sha256=eB5uDX06XYkQkON96eykSk7ZCegb9a5dCxTmTIr252c,28020
|
|
113
|
+
cognite/neat/_rules/models/dms/_rules.py,sha256=G0bJOm0tVOWMBZ9629gtK0M6ukZqKSBaqE2jG_wiHgE,20277
|
|
114
|
+
cognite/neat/_rules/models/dms/_rules_input.py,sha256=mDLojcIZyu-EIR0qLDCYIUqcgWDKdC7dEF5qffVvLfs,13197
|
|
115
|
+
cognite/neat/_rules/models/dms/_validation.py,sha256=PNFHsDNHJZfbHY1qt6D4t3eFOGjqe6Koa702Gzcz0I8,27734
|
|
116
|
+
cognite/neat/_rules/models/entities/__init__.py,sha256=Hlucp3LyV6ncLl79aqRTbSy2qgiGzoyN8x54D_zaJCY,1469
|
|
117
|
+
cognite/neat/_rules/models/entities/_constants.py,sha256=ToiLaaF-hGLPfn3AsKIIrfB4ZdTk4cY1RjM9gA1Qjkg,288
|
|
118
|
+
cognite/neat/_rules/models/entities/_loaders.py,sha256=jFllRty5XpS6uLklr9wJkx7Bzm-qwg65um6hnVistvw,2728
|
|
119
|
+
cognite/neat/_rules/models/entities/_multi_value.py,sha256=6j-nlUA392yQP_uB_CFB6_qFReNhi54ZlbFTcOKpbKY,2755
|
|
120
|
+
cognite/neat/_rules/models/entities/_single_value.py,sha256=GW1R8ko1vwjGhAs2Fl5BGgpz3qtiYnYoahT4hBgJdkA,19441
|
|
121
|
+
cognite/neat/_rules/models/entities/_types.py,sha256=df9rnXJJKciv2Bp-Ve2q4xdEJt6WWniq12Z0hW2d6sk,1917
|
|
122
|
+
cognite/neat/_rules/models/entities/_wrapped.py,sha256=-LP20mEv8H2NAoZplP-IJud-kaMHNFWE8fqbeJmdpk4,7579
|
|
123
|
+
cognite/neat/_rules/models/information/__init__.py,sha256=lV7l8RTfWBvN_DFkzea8OzADjq0rZGgWe_0Fiwtfje0,556
|
|
124
|
+
cognite/neat/_rules/models/information/_rules.py,sha256=juiqvFkSmpO9Z2EKOR1GH9eSapnWWm34BJJtdCg_iso,11897
|
|
125
|
+
cognite/neat/_rules/models/information/_rules_input.py,sha256=_e4ocafo4RYg0b67y2UgWIdPylrh8FkrimttAgIEqIs,5699
|
|
126
|
+
cognite/neat/_rules/models/information/_validation.py,sha256=HbaLShj6uumu-t9I3FUI_iKQfUDiwEkuFENHgWIPfrk,10202
|
|
127
|
+
cognite/neat/_rules/models/mapping/__init__.py,sha256=T68Hf7rhiXa7b03h4RMwarAmkGnB-Bbhc1H07b2PyC4,100
|
|
128
|
+
cognite/neat/_rules/models/mapping/_classic2core.py,sha256=2IEIWTF7siB7nHTKuafG_KJbt4h1CPMdG3yDsw3Sky8,1239
|
|
129
|
+
cognite/neat/_rules/models/mapping/_classic2core.yaml,sha256=invWES7qhqKXymx_Bt2ZdMJwBMpmFQ9hGe0nWt_hMEw,20055
|
|
130
|
+
cognite/neat/_rules/transformers/__init__.py,sha256=jzfzRDcyz_6azteTjGFBjKz9vQTwo_slT-eNocfWZxw,993
|
|
131
|
+
cognite/neat/_rules/transformers/_base.py,sha256=sflEUKfNgCE3NNErzBMJ88VJEYB12pU1H3da40B52Yg,2556
|
|
132
|
+
cognite/neat/_rules/transformers/_converters.py,sha256=0fnQl-RXGfh9WcRjIlgCmpjYs2gZa0ya8kNQL_FnMPk,52576
|
|
133
|
+
cognite/neat/_rules/transformers/_mapping.py,sha256=mx1FJCfflWmUPaDdlcLE2MEuuJwPcR4-gvx_CtK8Lds,18093
|
|
134
|
+
cognite/neat/_rules/transformers/_verification.py,sha256=jKTppklUCVwVlRfYyMfnUtV8r2ACTY-AtsoMF6L-KXo,4593
|
|
135
|
+
cognite/neat/_session/__init__.py,sha256=fxQ5URVlUnmEGYyB8Baw7IDq-uYacqkigbc4b-Pr9Fw,58
|
|
136
|
+
cognite/neat/_session/_base.py,sha256=qkZh5FFFydD3m4YOyAXEss429eCcb9nJyjCFszWWYqc,10067
|
|
137
|
+
cognite/neat/_session/_collector.py,sha256=SPCb1fEuOVIMHMQsVUNS7nkUUPhtUuNatnWPAIfQMcE,4093
|
|
138
|
+
cognite/neat/_session/_drop.py,sha256=kfXSgsq3xaLOAxtfjPkix9C18xulJv4Cfu4gj86nBSY,1392
|
|
139
|
+
cognite/neat/_session/_inspect.py,sha256=w8EGQIYMfhN4blCWo6BRCMckBhKMqmt1faa-7M0jqAg,8167
|
|
140
|
+
cognite/neat/_session/_mapping.py,sha256=WbFFho2Lr3PNL4WkfHw5K3ca9d8DiAcWRYkFkMURsds,2451
|
|
141
|
+
cognite/neat/_session/_prepare.py,sha256=wnWOX19cmnCTjiWxJAIOWznyE7yHQ12tdnJiVdjuTC4,23934
|
|
142
|
+
cognite/neat/_session/_read.py,sha256=Z-yl-h1c_OLZYEW7M8vsgoZigOlg79LwUMXKGt6bImo,14644
|
|
143
|
+
cognite/neat/_session/_set.py,sha256=5glxDLjgJaEmX-KbWTWsJOfYaDSZ-j-kxvZfnoHmV1k,1622
|
|
144
|
+
cognite/neat/_session/_show.py,sha256=bp1IddBd0vBxlWcewxL3U3zv-GsE8l7lxIE7muCvyXk,16305
|
|
145
|
+
cognite/neat/_session/_state.py,sha256=rleRNrjocCI8vG9jbIDAQ3a3bpe5O5t2kizXS0CWscY,4041
|
|
146
|
+
cognite/neat/_session/_to.py,sha256=yvI4VdICdWnQZSMrxDD1KncESBpPuv9WVo8I17tySEA,9795
|
|
147
|
+
cognite/neat/_session/_wizard.py,sha256=O8d0FA87RIoiTOD2KLyTVsxwA2-ewAG2By4JfxXSL84,1474
|
|
148
|
+
cognite/neat/_session/engine/__init__.py,sha256=D3MxUorEs6-NtgoICqtZ8PISQrjrr4dvca6n48bu_bI,120
|
|
149
|
+
cognite/neat/_session/engine/_import.py,sha256=1QxA2_EK613lXYAHKQbZyw2yjo5P9XuiX4Z6_6-WMNQ,169
|
|
150
|
+
cognite/neat/_session/engine/_interface.py,sha256=ItJ1VMrPt-pKKvpSpglD9n9yFC6ehF9xV2DUVCyfQB0,533
|
|
151
|
+
cognite/neat/_session/engine/_load.py,sha256=LcoYVthQyCzLWKzRE_75_nElS-n_eMWSPAgNJBnh5dA,5193
|
|
152
|
+
cognite/neat/_session/exceptions.py,sha256=dvhwF7d8AADxqEI13nZreLCPBPN_7A3KiAqlWjkpuqc,2303
|
|
153
|
+
cognite/neat/_shared.py,sha256=Ov59SWYboRRsncB_5V1ZC_BAoACfNLjo80vqE5Ru6wo,2325
|
|
154
|
+
cognite/neat/_store/__init__.py,sha256=RrvuZrMdezqun5dOrwHWSk26kampZcvqiHBqSFumkEE,130
|
|
155
|
+
cognite/neat/_store/_graph_store.py,sha256=36wShJzRTJUBg-rSZJwvD4c3RsdvxCL1ORQopeuCSuU,18384
|
|
156
|
+
cognite/neat/_store/_provenance.py,sha256=g_u6O7jo3ZekQVtc-FfJR1fTGqD9L3ipwfSEjdHB1xM,6610
|
|
157
|
+
cognite/neat/_store/_rules_store.py,sha256=mpx63LSceedrDiRDG66RW5zlsaCYzyYspDiAV_WwW5U,15335
|
|
158
|
+
cognite/neat/_store/exceptions.py,sha256=1xLtWqX-TiGcXdgayBgeNx1cipoXkye7LmTMFdpMg1s,506
|
|
159
|
+
cognite/neat/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
160
|
+
cognite/neat/_utils/auth.py,sha256=Y35foeQHHbnAWhfDtgNqXGOoPqBk5gtrfhPWgoSa5XQ,13444
|
|
161
|
+
cognite/neat/_utils/auxiliary.py,sha256=WFOycFgoYipvDmtGvn6ZNH3H8iNZmHamrfe2kXRb8lM,6667
|
|
162
|
+
cognite/neat/_utils/collection_.py,sha256=Q_LN1qypr0SeAV3dAR5KLD1szHNohSdYxyA8hr3n4T8,1433
|
|
163
|
+
cognite/neat/_utils/graph_transformations_report.py,sha256=rjEy4XMvOygFL4UgnYOmFW6AHxaU9IXep-dmYc5654c,1230
|
|
164
|
+
cognite/neat/_utils/io_.py,sha256=D2Mg8sOxfBoDg3fC0jBzaxO3vkXmr0QvZSgYIv6xRkM,386
|
|
165
|
+
cognite/neat/_utils/rdf_.py,sha256=b3sE3aTW9lu4gJWQJEaq_NCLbI54cc1o12utz-xbLh8,9023
|
|
166
|
+
cognite/neat/_utils/reader/__init__.py,sha256=fPkrNB_9hLB7CyHTCFV_xEbIfOMqUQzNly5JN33-QfM,146
|
|
167
|
+
cognite/neat/_utils/reader/_base.py,sha256=Q35hz8tqAiQiELjE4DsDDKQHLtRmSTrty4Gep9rg_CU,5444
|
|
168
|
+
cognite/neat/_utils/spreadsheet.py,sha256=ssNWat42srjbQfzzApaGiNanyEy-oFlAQ6qQXCZOhoE,2777
|
|
169
|
+
cognite/neat/_utils/text.py,sha256=0IffvBIAmeGh92F4T6xiEdd-vv3B7FOGEMbfuTktO5Y,4017
|
|
170
|
+
cognite/neat/_utils/time_.py,sha256=O30LUiDH9TdOYz8_a9pFqTtJdg8vEjC3qHCk8xZblG8,345
|
|
171
|
+
cognite/neat/_utils/upload.py,sha256=iWKmsQgw4EHLv-11NjYu7zAj5LtqTAfNa87a1kWeuaU,5727
|
|
172
|
+
cognite/neat/_utils/xml_.py,sha256=FQkq84u35MUsnKcL6nTMJ9ajtG9D5i1u4VBnhGqP2DQ,1710
|
|
173
|
+
cognite/neat/_version.py,sha256=pwMGasqtYdWAmthqoS-VAnOaio6xE8H0G5lpVVh6afU,46
|
|
174
|
+
cognite/neat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
+
cognite_neat-0.105.1.dist-info/LICENSE,sha256=W8VmvFia4WHa3Gqxq1Ygrq85McUNqIGDVgtdvzT-XqA,11351
|
|
176
|
+
cognite_neat-0.105.1.dist-info/METADATA,sha256=Heyqxvr0rhVMEuHNlg8mphs00qmClzStLwhbdQBgPrk,5759
|
|
177
|
+
cognite_neat-0.105.1.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
|
|
178
|
+
cognite_neat-0.105.1.dist-info/entry_points.txt,sha256=SsQlnl8SNMSSjE3acBI835JYFtsIinLSbVmHmMEXv6E,51
|
|
179
|
+
cognite_neat-0.105.1.dist-info/RECORD,,
|
|
File without changes
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
import os
|
|
3
|
-
from pathlib import Path
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
from cognite.client import CogniteClient
|
|
7
|
-
from fastapi import FastAPI
|
|
8
|
-
|
|
9
|
-
from cognite import neat
|
|
10
|
-
from cognite.neat._config import Config, configure_logging, copy_examples_to_directory, create_data_dir_structure
|
|
11
|
-
from cognite.neat._constants import PACKAGE_DIRECTORY
|
|
12
|
-
from cognite.neat._workflows.cdf_store import CdfStore
|
|
13
|
-
from cognite.neat._workflows.manager import WorkflowManager
|
|
14
|
-
from cognite.neat._workflows.triggers import TriggerManager
|
|
15
|
-
|
|
16
|
-
UI_PATH = PACKAGE_DIRECTORY / "_app" / "ui" / "neat-app" / "build"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class NeatApp:
|
|
20
|
-
def __init__(self, config: Config, cdf_client: CogniteClient | None = None):
|
|
21
|
-
self.config = config
|
|
22
|
-
self.cdf_client: CogniteClient | None = None
|
|
23
|
-
self.cdf_store: CdfStore | None = None
|
|
24
|
-
self.fast_api_app: FastAPI | None = None
|
|
25
|
-
self.cdf_client = cdf_client
|
|
26
|
-
|
|
27
|
-
def set_http_server(self, fast_api_app: FastAPI):
|
|
28
|
-
"""Set the http server to be used by the triggers manager"""
|
|
29
|
-
self.fast_api_app = fast_api_app
|
|
30
|
-
|
|
31
|
-
def start(self, config: Config | None = None):
|
|
32
|
-
logging.info("Starting NeatApp")
|
|
33
|
-
if config:
|
|
34
|
-
self.config = config
|
|
35
|
-
logging.info("Initializing global objects")
|
|
36
|
-
if not self.cdf_client:
|
|
37
|
-
self.cdf_client = self.config.cdf_auth_config.get_client()
|
|
38
|
-
self.cdf_store = CdfStore(
|
|
39
|
-
self.cdf_client,
|
|
40
|
-
self.config.cdf_default_dataset_id,
|
|
41
|
-
workflows_storage_path=self.config.workflows_store_path,
|
|
42
|
-
rules_storage_path=self.config.rules_store_path,
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
# Automatically downloading workflows from CDF if enabled in config
|
|
46
|
-
if self.config.workflow_downloader_filter:
|
|
47
|
-
self.cdf_store.load_workflows_from_cfg_by_filter(self.config.workflow_downloader_filter)
|
|
48
|
-
|
|
49
|
-
self.workflow_manager = WorkflowManager(
|
|
50
|
-
client=self.cdf_client,
|
|
51
|
-
config=self.config,
|
|
52
|
-
)
|
|
53
|
-
self.workflow_manager.load_workflows_from_storage()
|
|
54
|
-
self.triggers_manager = TriggerManager(workflow_manager=self.workflow_manager)
|
|
55
|
-
self.triggers_manager.start_time_schedulers()
|
|
56
|
-
logging.info("NeatApp started")
|
|
57
|
-
|
|
58
|
-
def stop(self):
|
|
59
|
-
logging.info("Stopping NeatApp")
|
|
60
|
-
if self.triggers_manager:
|
|
61
|
-
self.triggers_manager.stop_scheduler_main_loop()
|
|
62
|
-
self.cdf_client = None
|
|
63
|
-
self.cdf_store = None
|
|
64
|
-
self.workflow_manager = None
|
|
65
|
-
self.triggers_manager = None
|
|
66
|
-
logging.info("NeatApp stopped")
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
def create_neat_app() -> NeatApp:
|
|
70
|
-
logger = logging.getLogger(__name__) # temporary logger before config is loaded
|
|
71
|
-
|
|
72
|
-
if os.environ.get("NEAT_CDF_PROJECT"):
|
|
73
|
-
logger.info("ENV NEAT_CDF_PROJECT is set, loading config from env.")
|
|
74
|
-
config = Config.from_env()
|
|
75
|
-
elif (config_path := Path(os.environ.get("NEAT_CONFIG_PATH", "config.yaml"))).exists():
|
|
76
|
-
logger.info(f"Loading config from {config_path.name}.")
|
|
77
|
-
config = Config.from_yaml(config_path)
|
|
78
|
-
else:
|
|
79
|
-
logger.error(f"Config file {config_path.name} not found.Exiting.")
|
|
80
|
-
config = Config()
|
|
81
|
-
config.to_yaml(config_path)
|
|
82
|
-
|
|
83
|
-
if config.load_examples:
|
|
84
|
-
copy_examples_to_directory(config)
|
|
85
|
-
else:
|
|
86
|
-
create_data_dir_structure(config)
|
|
87
|
-
|
|
88
|
-
configure_logging(config.log_level, config.log_format)
|
|
89
|
-
logging.info(f" Starting NEAT version {neat.__version__}")
|
|
90
|
-
logging.debug(
|
|
91
|
-
f" Config: {config.model_dump(exclude={'cdf_client': {'client_secret': ...}})}" # type: ignore[arg-type]
|
|
92
|
-
)
|
|
93
|
-
|
|
94
|
-
return NeatApp(config)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
NEAT_APP = create_neat_app()
|
|
98
|
-
CACHE_STORE: dict[str, Any] = {}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
from contextlib import asynccontextmanager
|
|
3
|
-
|
|
4
|
-
from fastapi import FastAPI
|
|
5
|
-
|
|
6
|
-
from cognite.neat._app.api.configuration import NEAT_APP
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
@asynccontextmanager
|
|
10
|
-
async def lifespan(app_ref: FastAPI):
|
|
11
|
-
logging.info("Startup FastAPI server")
|
|
12
|
-
NEAT_APP.set_http_server(app_ref)
|
|
13
|
-
NEAT_APP.start()
|
|
14
|
-
yield
|
|
15
|
-
logging.info("FastApi shutdown event")
|
|
16
|
-
NEAT_APP.stop()
|
|
File without changes
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
|
|
3
|
-
from pydantic import BaseModel, field_validator, model_validator
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class QueryRequest(BaseModel):
|
|
7
|
-
graph_name: str
|
|
8
|
-
workflow_name: str = "default"
|
|
9
|
-
query: str
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class RuleRequest(BaseModel):
|
|
13
|
-
graph_name: str
|
|
14
|
-
workflow_name: str = "default"
|
|
15
|
-
rule_type: str
|
|
16
|
-
rule: str
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class RunWorkflowRequest(BaseModel):
|
|
20
|
-
name: str
|
|
21
|
-
config: dict
|
|
22
|
-
start_step: str
|
|
23
|
-
sync: bool = False
|
|
24
|
-
|
|
25
|
-
@field_validator("config", mode="before")
|
|
26
|
-
def empty_string_to_dict(cls, value):
|
|
27
|
-
if value == "":
|
|
28
|
-
return {}
|
|
29
|
-
return value
|
|
30
|
-
|
|
31
|
-
@model_validator(mode="before")
|
|
32
|
-
def log_call(cls, values):
|
|
33
|
-
logging.info(f"RunWorkflowRequest: {values}")
|
|
34
|
-
return values
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class NodesAndEdgesRequest(BaseModel):
|
|
38
|
-
graph_name: str
|
|
39
|
-
workflow_name: str = "default"
|
|
40
|
-
node_class_filter: list[str]
|
|
41
|
-
src_edge_filter: list[str]
|
|
42
|
-
dst_edge_filter: list[str]
|
|
43
|
-
cache: bool = False
|
|
44
|
-
limit: int = 1000
|
|
45
|
-
node_name_property: str = ""
|
|
46
|
-
sparql_query: str = ""
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
class DatatypePropertyRequest(BaseModel):
|
|
50
|
-
graph_name: str = "source"
|
|
51
|
-
workflow_name: str = ""
|
|
52
|
-
cache: bool = False
|
|
53
|
-
limit: int = 10
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
class TransformationRulesUpdateRequest(BaseModel):
|
|
57
|
-
file_name: str = ""
|
|
58
|
-
output_format: str = "excel"
|
|
59
|
-
rules_object: dict = {}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
|
|
3
|
-
import pkg_resources
|
|
4
|
-
from fastapi import FastAPI
|
|
5
|
-
from fastapi.middleware.cors import CORSMiddleware
|
|
6
|
-
from fastapi.responses import RedirectResponse
|
|
7
|
-
from fastapi.staticfiles import StaticFiles
|
|
8
|
-
|
|
9
|
-
from cognite import neat
|
|
10
|
-
from cognite.neat._app.api.asgi.metrics import prometheus_app
|
|
11
|
-
from cognite.neat._app.api.configuration import NEAT_APP, UI_PATH
|
|
12
|
-
from cognite.neat._app.api.context_manager import lifespan
|
|
13
|
-
from cognite.neat._app.api.routers import (
|
|
14
|
-
configuration,
|
|
15
|
-
crud,
|
|
16
|
-
metrics,
|
|
17
|
-
workflows,
|
|
18
|
-
)
|
|
19
|
-
from cognite.neat._app.api.utils.logging import EndpointFilter
|
|
20
|
-
|
|
21
|
-
app = FastAPI(title="Neat", lifespan=lifespan)
|
|
22
|
-
|
|
23
|
-
# Define excluded endpoints
|
|
24
|
-
EXCLUDED_ENDPOINTS = ["/api/workflow/stats"]
|
|
25
|
-
|
|
26
|
-
# Add filter to the logger
|
|
27
|
-
logging.getLogger("uvicorn.access").addFilter(EndpointFilter(EXCLUDED_ENDPOINTS))
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
origins = [
|
|
31
|
-
"http://localhost:8000",
|
|
32
|
-
"http://localhost:3000",
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
app.add_middleware(
|
|
36
|
-
CORSMiddleware,
|
|
37
|
-
allow_origins=["*"],
|
|
38
|
-
allow_credentials=True,
|
|
39
|
-
allow_methods=["*"],
|
|
40
|
-
allow_headers=["*"],
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
# Mount ASGI apps
|
|
44
|
-
app.mount("/metrics", prometheus_app)
|
|
45
|
-
app.mount("/static", StaticFiles(directory=UI_PATH), name="static")
|
|
46
|
-
app.mount("/data", StaticFiles(directory=NEAT_APP.config.data_store_path), name="data")
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
# Mount routers
|
|
50
|
-
app.include_router(configuration.router)
|
|
51
|
-
app.include_router(metrics.router)
|
|
52
|
-
app.include_router(workflows.router)
|
|
53
|
-
app.include_router(crud.router)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# General routes
|
|
57
|
-
@app.get("/")
|
|
58
|
-
def read_root():
|
|
59
|
-
return RedirectResponse("/static/index.html")
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
@app.get("/api/about")
|
|
63
|
-
def get_about():
|
|
64
|
-
installed_packages = pkg_resources.working_set
|
|
65
|
-
installed_packages_list = sorted([f"{i.key}=={i.version}" for i in installed_packages])
|
|
66
|
-
return {"version": neat.__version__, "packages": installed_packages_list}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
import os
|
|
3
|
-
from pathlib import Path
|
|
4
|
-
|
|
5
|
-
from fastapi import APIRouter
|
|
6
|
-
|
|
7
|
-
from cognite.neat._app.api.configuration import NEAT_APP
|
|
8
|
-
from cognite.neat._config import Config
|
|
9
|
-
|
|
10
|
-
router = APIRouter()
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@router.get("/api/configs/global")
|
|
14
|
-
def get_configs():
|
|
15
|
-
return NEAT_APP.config.as_legacy_config()
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
@router.post("/api/configs/global")
|
|
19
|
-
def set_configs(request: Config):
|
|
20
|
-
logging.info(f"Updating global config: {request}")
|
|
21
|
-
config = request
|
|
22
|
-
config.to_yaml(Path(os.environ.get("NEAT_CONFIG_PATH", "config.yaml")))
|
|
23
|
-
NEAT_APP.stop()
|
|
24
|
-
NEAT_APP.start(config=config)
|
|
25
|
-
return config
|