cognite-neat 0.106.0__py3-none-any.whl → 0.107.0__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.

Files changed (47) hide show
  1. cognite/neat/_graph/extractors/__init__.py +5 -1
  2. cognite/neat/_graph/extractors/_base.py +32 -0
  3. cognite/neat/_graph/extractors/_classic_cdf/_base.py +16 -3
  4. cognite/neat/_graph/extractors/_classic_cdf/_classic.py +74 -7
  5. cognite/neat/_graph/extractors/_classic_cdf/_relationships.py +2 -0
  6. cognite/neat/_graph/extractors/_classic_cdf/_sequences.py +8 -1
  7. cognite/neat/_graph/extractors/_dms.py +48 -14
  8. cognite/neat/_graph/extractors/_dms_graph.py +149 -0
  9. cognite/neat/_graph/extractors/_rdf_file.py +32 -5
  10. cognite/neat/_graph/loaders/_rdf2dms.py +112 -18
  11. cognite/neat/_graph/queries/_construct.py +1 -1
  12. cognite/neat/_graph/transformers/__init__.py +5 -0
  13. cognite/neat/_graph/transformers/_base.py +9 -1
  14. cognite/neat/_graph/transformers/_classic_cdf.py +90 -3
  15. cognite/neat/_graph/transformers/_rdfpath.py +3 -3
  16. cognite/neat/_graph/transformers/_value_type.py +54 -44
  17. cognite/neat/_rules/analysis/_base.py +1 -1
  18. cognite/neat/_rules/analysis/_information.py +14 -13
  19. cognite/neat/_rules/catalog/__init__.py +1 -0
  20. cognite/neat/_rules/catalog/classic_model.xlsx +0 -0
  21. cognite/neat/_rules/catalog/info-rules-imf.xlsx +0 -0
  22. cognite/neat/_rules/importers/_dms2rules.py +7 -5
  23. cognite/neat/_rules/importers/_rdf/_inference2rules.py +1 -1
  24. cognite/neat/_rules/models/_base_rules.py +0 -12
  25. cognite/neat/_rules/models/_types.py +5 -0
  26. cognite/neat/_rules/models/dms/_rules.py +50 -2
  27. cognite/neat/_rules/models/information/_rules.py +48 -5
  28. cognite/neat/_rules/models/information/_rules_input.py +1 -1
  29. cognite/neat/_rules/models/mapping/_classic2core.py +4 -5
  30. cognite/neat/_rules/transformers/__init__.py +4 -0
  31. cognite/neat/_rules/transformers/_converters.py +209 -62
  32. cognite/neat/_session/_base.py +2 -6
  33. cognite/neat/_session/_mapping.py +17 -6
  34. cognite/neat/_session/_prepare.py +0 -47
  35. cognite/neat/_session/_read.py +63 -5
  36. cognite/neat/_session/_state.py +7 -0
  37. cognite/neat/_session/_to.py +40 -2
  38. cognite/neat/_session/exceptions.py +7 -3
  39. cognite/neat/_store/_graph_store.py +52 -11
  40. cognite/neat/_store/_rules_store.py +22 -0
  41. cognite/neat/_utils/auth.py +2 -0
  42. cognite/neat/_version.py +1 -1
  43. {cognite_neat-0.106.0.dist-info → cognite_neat-0.107.0.dist-info}/METADATA +2 -2
  44. {cognite_neat-0.106.0.dist-info → cognite_neat-0.107.0.dist-info}/RECORD +47 -45
  45. {cognite_neat-0.106.0.dist-info → cognite_neat-0.107.0.dist-info}/WHEEL +1 -1
  46. {cognite_neat-0.106.0.dist-info → cognite_neat-0.107.0.dist-info}/LICENSE +0 -0
  47. {cognite_neat-0.106.0.dist-info → cognite_neat-0.107.0.dist-info}/entry_points.txt +0 -0
@@ -1,15 +1,19 @@
1
1
  from typing import Any, Literal, cast
2
2
 
3
3
  from cognite.client.data_classes.data_modeling import DataModelId, DataModelIdentifier
4
+ from cognite.client.utils.useful_types import SequenceNotStr
4
5
 
5
6
  from cognite.neat._client import NeatClient
7
+ from cognite.neat._constants import CLASSIC_CDF_NAMESPACE
6
8
  from cognite.neat._graph import examples as instances_examples
7
9
  from cognite.neat._graph import extractors
10
+ from cognite.neat._graph.transformers import ConvertLiteral, LiteralToEntity, LookupRelationshipSourceTarget
8
11
  from cognite.neat._issues import IssueList
9
12
  from cognite.neat._issues.errors import NeatValueError
10
13
  from cognite.neat._issues.warnings import MissingCogniteClientWarning
11
14
  from cognite.neat._rules import catalog, importers
12
15
  from cognite.neat._rules.importers import BaseImporter
16
+ from cognite.neat._rules.transformers import ClassicPrepareCore
13
17
  from cognite.neat._utils.reader import NeatReader
14
18
 
15
19
  from ._state import SessionState
@@ -32,6 +36,22 @@ class ReadAPI:
32
36
  self.yaml = YamlReadAPI(state, verbose)
33
37
  self.xml = XMLReadAPI(state, verbose)
34
38
 
39
+ def session(self, io: Any) -> None:
40
+ """Reads a Neat Session from a zip file.
41
+
42
+ Args:
43
+ io: file path to the Neat Session
44
+
45
+ Example:
46
+ ```python
47
+ neat.read.session("path_to_neat_session")
48
+ ```
49
+ """
50
+ reader = NeatReader.create(io)
51
+ path = reader.materialize_path()
52
+
53
+ self._state.instances.store.write(extractors.RdfFileExtractor.from_zip(path))
54
+
35
55
 
36
56
  @session_class_wrapper
37
57
  class BaseReadAPI:
@@ -78,6 +98,24 @@ class CDFReadAPI(BaseReadAPI):
78
98
  importer = importers.DMSImporter.from_data_model_id(self._get_client, data_model_id)
79
99
  return self._state.rule_import(importer)
80
100
 
101
+ def graph(
102
+ self, data_model_id: DataModelIdentifier, instance_space: str | SequenceNotStr[str] | None = None
103
+ ) -> IssueList:
104
+ """Reads a knowledge graph from Cognite Data Fusion (CDF).
105
+
106
+ Args:
107
+ data_model_id: Tuple of strings with the id of a CDF Data Model.
108
+ instance_space: The instance spaces to extract. If None, all instance spaces are extracted.
109
+
110
+ Returns:
111
+ IssueList: A list of issues that occurred during the extraction.
112
+
113
+ """
114
+ extractor = extractors.DMSGraphExtractor.from_data_model_id(
115
+ data_model_id, self._get_client, instance_space=instance_space
116
+ )
117
+ return self._state.write_graph(extractor)
118
+
81
119
 
82
120
  @session_class_wrapper
83
121
  class CDFClassicAPI(BaseReadAPI):
@@ -135,16 +173,37 @@ class CDFClassicAPI(BaseReadAPI):
135
173
  ```python
136
174
  neat.read.cdf.graph("root_asset_external_id")
137
175
  ```
138
-
139
176
  """
177
+ namespace = CLASSIC_CDF_NAMESPACE
140
178
  extractor = extractors.ClassicGraphExtractor(
141
- self._get_client, root_asset_external_id=root_asset_external_id, limit_per_type=limit_per_type
179
+ self._get_client,
180
+ root_asset_external_id=root_asset_external_id,
181
+ limit_per_type=limit_per_type,
182
+ namespace=namespace,
183
+ prefix="Classic",
142
184
  )
143
-
144
- issues = self._state.instances.store.write(extractor)
185
+ issues = self._state.write_graph(extractor)
145
186
  issues.action = "Read Classic Graph"
146
187
  if issues:
147
188
  print("Use the .inspect.issues() for more details")
189
+
190
+ # Converting the instances from classic to core
191
+ self._state.instances.store.transform(LookupRelationshipSourceTarget(namespace, "Classic"))
192
+ self._state.instances.store.transform(
193
+ ConvertLiteral(
194
+ namespace["ClassicTimeSeries"],
195
+ namespace["isString"],
196
+ lambda is_string: "string" if is_string else "numeric",
197
+ )
198
+ )
199
+ self._state.instances.store.transform(
200
+ LiteralToEntity(None, namespace["source"], "ClassicSourceSystem", "name"),
201
+ )
202
+ # Updating the information model.
203
+ self._state.rule_store.transform(ClassicPrepareCore(namespace))
204
+ # Update the instance store with the latest rules
205
+ information_rules = self._state.rule_store.last_verified_information_rules
206
+ self._state.instances.store.rules = information_rules
148
207
  return issues
149
208
 
150
209
 
@@ -396,7 +455,6 @@ class RDFExamples:
396
455
  def __init__(self, state: SessionState) -> None:
397
456
  self._state = state
398
457
 
399
- @property
400
458
  def nordic44(self) -> IssueList:
401
459
  """Reads the Nordic 44 knowledge graph into the NeatSession graph store."""
402
460
  self._state.instances.store.write(extractors.RdfFileExtractor(instances_examples.nordic44_knowledge_graph))
@@ -2,6 +2,7 @@ from dataclasses import dataclass, field
2
2
  from typing import Literal, cast
3
3
 
4
4
  from cognite.neat._client import NeatClient
5
+ from cognite.neat._graph.extractors import KnowledgeGraphExtractor
5
6
  from cognite.neat._issues import IssueList
6
7
  from cognite.neat._rules.importers import BaseImporter, InferenceImporter
7
8
  from cognite.neat._rules.models import DMSRules, InformationRules
@@ -62,6 +63,12 @@ class SessionState:
62
63
  issues.hint = "Use the .inspect.issues() for more details."
63
64
  return issues
64
65
 
66
+ def write_graph(self, extractor: KnowledgeGraphExtractor) -> IssueList:
67
+ self.instances.store.write(extractor)
68
+ issue_list = self.rule_store.import_graph(extractor)
69
+ self.instances.store.add_rules(self.rule_store.last_verified_information_rules)
70
+ return issue_list
71
+
65
72
 
66
73
  @dataclass
67
74
  class InstancesState:
@@ -1,3 +1,5 @@
1
+ import warnings
2
+ import zipfile
1
3
  from collections.abc import Collection
2
4
  from pathlib import Path
3
5
  from typing import Any, Literal, overload
@@ -80,11 +82,47 @@ class ToAPI:
80
82
  exporter = exporters.ExcelExporter(styling="maximal", reference_rules_with_prefix=reference_rules_with_prefix)
81
83
  return self._state.rule_store.export_to_file(exporter, Path(io))
82
84
 
85
+ def session(self, io: Any) -> None:
86
+ """Export the current session to a file.
87
+
88
+ Args:
89
+ io: The file path to file-like object to write the session to.
90
+
91
+ Example:
92
+ Export the session to a file
93
+ ```python
94
+ session_file_name = "neat_session.zip"
95
+ neat.to.session(session_file_name)
96
+ ```
97
+ """
98
+ filepath = Path(io)
99
+ if filepath.suffix not in {".zip"}:
100
+ warnings.warn("File extension is not .zip, adding it to the file name", stacklevel=2)
101
+ filepath = filepath.with_suffix(".zip")
102
+
103
+ filepath.parent.mkdir(exist_ok=True, parents=True)
104
+
105
+ with zipfile.ZipFile(filepath, "w") as zip_ref:
106
+ zip_ref.writestr(
107
+ "neat-session/instances/instances.ttl",
108
+ self._state.instances.store.serialize(),
109
+ )
110
+
83
111
  @overload
84
- def yaml(self, io: None, format: Literal["neat"] = "neat", skip_system_spaces: bool = True) -> str: ...
112
+ def yaml(
113
+ self,
114
+ io: None,
115
+ format: Literal["neat"] = "neat",
116
+ skip_system_spaces: bool = True,
117
+ ) -> str: ...
85
118
 
86
119
  @overload
87
- def yaml(self, io: Any, format: Literal["neat", "toolkit"] = "neat", skip_system_spaces: bool = True) -> None: ...
120
+ def yaml(
121
+ self,
122
+ io: Any,
123
+ format: Literal["neat", "toolkit"] = "neat",
124
+ skip_system_spaces: bool = True,
125
+ ) -> None: ...
88
126
 
89
127
  def yaml(
90
128
  self, io: Any | None = None, format: Literal["neat", "toolkit"] = "neat", skip_system_spaces: bool = True
@@ -2,17 +2,21 @@ import functools
2
2
  from collections.abc import Callable
3
3
  from typing import Any
4
4
 
5
- from cognite.neat._issues.errors import CDFMissingClientError
5
+ from cognite.neat._issues.errors import CDFMissingClientError, NeatImportError
6
6
 
7
7
  from ._collector import _COLLECTOR
8
8
 
9
9
  try:
10
10
  from rich import print
11
+ from rich.markup import escape
11
12
 
12
13
  _PREFIX = "[bold red][ERROR][/bold red]"
13
14
  except ImportError:
14
15
  _PREFIX = "[ERROR]"
15
16
 
17
+ def escape(x: Any, *_: Any, **__: Any) -> Any: # type: ignore[misc]
18
+ return x
19
+
16
20
 
17
21
  class NeatSessionError(Exception):
18
22
  """Base class for all exceptions raised by the NeatSession class."""
@@ -29,8 +33,8 @@ def _session_method_wrapper(func: Callable, cls_name: str):
29
33
  except NeatSessionError as e:
30
34
  action = _get_action()
31
35
  print(f"{_PREFIX} Cannot {action}: {e}")
32
- except CDFMissingClientError as e:
33
- print(f"{_PREFIX} {e.as_message()}")
36
+ except (CDFMissingClientError, NeatImportError) as e:
37
+ print(f"{_PREFIX} {escape(e.as_message())}")
34
38
  except ModuleNotFoundError as e:
35
39
  if e.name == "neatengine":
36
40
  action = _get_action()
@@ -3,7 +3,8 @@ import warnings
3
3
  from collections.abc import Iterable
4
4
  from datetime import datetime, timezone
5
5
  from pathlib import Path
6
- from typing import cast
6
+ from typing import cast, overload
7
+ from zipfile import ZipExtFile
7
8
 
8
9
  import pandas as pd
9
10
  from pandas import Index
@@ -74,6 +75,32 @@ class NeatGraphStore:
74
75
  "Return type of the graph store"
75
76
  return type(self.graph.store).__name__
76
77
 
78
+ # no destination
79
+ @overload
80
+ def serialize(self, filepath: None = None) -> str: ...
81
+
82
+ # with destination
83
+ @overload
84
+ def serialize(self, filepath: Path) -> None: ...
85
+
86
+ def serialize(self, filepath: Path | None = None) -> None | str:
87
+ """Serialize the graph store to a file.
88
+
89
+ Args:
90
+ filepath: File path to serialize the graph store to
91
+
92
+ Returns:
93
+ Serialized graph store
94
+ """
95
+ if filepath:
96
+ self.graph.serialize(
97
+ filepath,
98
+ format="ox-trig" if self.type_ == "OxigraphStore" else "turtle",
99
+ )
100
+ return None
101
+ else:
102
+ return self.graph.serialize(format="ox-trig" if self.type_ == "OxigraphStore" else "turtle")
103
+
77
104
  def add_rules(self, rules: InformationRules) -> None:
78
105
  """This method is used to add rules to the graph store and it is the only correct
79
106
  way to add rules to the graph store, after the graph store has been initialized.
@@ -166,6 +193,8 @@ class NeatGraphStore:
166
193
 
167
194
  if isinstance(extractor, RdfFileExtractor) and not extractor.issue_list.has_errors:
168
195
  self._parse_file(extractor.filepath, cast(str, extractor.format), extractor.base_uri)
196
+ if isinstance(extractor.filepath, ZipExtFile):
197
+ extractor.filepath.close()
169
198
  elif isinstance(extractor, RdfFileExtractor):
170
199
  success = False
171
200
  issue_text = "\n".join([issue.as_message() for issue in extractor.issue_list])
@@ -207,16 +236,28 @@ class NeatGraphStore:
207
236
  "Multi typed instances detected, issues with loading can occur!",
208
237
  stacklevel=2,
209
238
  )
210
-
211
- if cls := InformationAnalysis(self.rules).classes_by_neat_id.get(class_neat_id):
239
+ analysis = InformationAnalysis(self.rules)
240
+ if cls := analysis.classes_by_neat_id.get(class_neat_id):
212
241
  if property_link_pairs:
213
242
  property_renaming_config = {
214
243
  prop_uri: prop_name
215
244
  for prop_name, prop_neat_id in property_link_pairs.items()
216
- if (
217
- prop_uri := InformationAnalysis(self.rules).neat_id_to_transformation_property_uri(prop_neat_id)
218
- )
245
+ if (prop_uri := analysis.neat_id_to_instance_source_property_uri(prop_neat_id))
219
246
  }
247
+ if information_properties := analysis.classes_with_properties(consider_inheritance=True).get(
248
+ cls.class_
249
+ ):
250
+ for prop in information_properties:
251
+ if prop.neatId is None:
252
+ continue
253
+ # Include renaming done in the Information rules that are not present in the
254
+ # property_link_pairs. The use case for this renaming to startNode and endNode
255
+ # properties that are not part of DMSRules but will typically be present
256
+ # in the Information rules.
257
+ if (
258
+ uri := analysis.neat_id_to_instance_source_property_uri(prop.neatId)
259
+ ) and uri not in property_renaming_config:
260
+ property_renaming_config[uri] = prop.property_
220
261
 
221
262
  yield from self._read_via_class_entity(cls.class_, property_renaming_config)
222
263
  return
@@ -355,7 +396,7 @@ class NeatGraphStore:
355
396
 
356
397
  def _parse_file(
357
398
  self,
358
- filepath: Path,
399
+ filepath: Path | ZipExtFile,
359
400
  format: str = "turtle",
360
401
  base_uri: URIRef | None = None,
361
402
  ) -> None:
@@ -375,12 +416,12 @@ class NeatGraphStore:
375
416
  """
376
417
 
377
418
  # Oxigraph store, do not want to type hint this as it is an optional dependency
378
- if type(self.graph.store).__name__ == "OxigraphStore":
419
+ if self.type_ == "OxigraphStore":
379
420
  local_import("pyoxigraph", "oxi")
380
421
 
381
422
  # this is necessary to trigger rdflib oxigraph plugin
382
423
  self.graph.parse(
383
- filepath,
424
+ filepath, # type: ignore[arg-type]
384
425
  format=rdflib_to_oxi_type(format),
385
426
  transactional=False,
386
427
  publicID=base_uri,
@@ -389,8 +430,8 @@ class NeatGraphStore:
389
430
 
390
431
  # All other stores
391
432
  else:
392
- if filepath.is_file():
393
- self.graph.parse(filepath, publicID=base_uri)
433
+ if isinstance(filepath, ZipExtFile) or filepath.is_file():
434
+ self.graph.parse(filepath, publicID=base_uri) # type: ignore[arg-type]
394
435
  else:
395
436
  for filename in filepath.iterdir():
396
437
  if filename.is_file():
@@ -11,6 +11,7 @@ import rdflib
11
11
 
12
12
  from cognite.neat._client import NeatClient
13
13
  from cognite.neat._constants import DEFAULT_NAMESPACE
14
+ from cognite.neat._graph.extractors import DMSGraphExtractor, KnowledgeGraphExtractor
14
15
  from cognite.neat._issues import IssueList, catch_issues
15
16
  from cognite.neat._issues.errors import NeatValueError
16
17
  from cognite.neat._rules._shared import ReadRules, Rules, T_VerifiedRules, VerifiedRules
@@ -73,6 +74,18 @@ class NeatRulesStore:
73
74
  )
74
75
  return self._do_activity(importer.to_rules, agent, source_entity, importer.description)[1]
75
76
 
77
+ def import_graph(self, extractor: KnowledgeGraphExtractor) -> IssueList:
78
+ agent = extractor.agent
79
+ source_entity = Entity(
80
+ was_attributed_to=UNKNOWN_AGENT,
81
+ id_=extractor.source_uri,
82
+ )
83
+ _, issues = self._do_activity(extractor.get_information_rules, agent, source_entity, extractor.description)
84
+ if isinstance(extractor, DMSGraphExtractor):
85
+ _, dms_issues = self._do_activity(extractor.get_dms_rules, agent, source_entity, extractor.description)
86
+ issues.extend(dms_issues)
87
+ return issues
88
+
76
89
  def transform(self, *transformer: RulesTransformer) -> IssueList:
77
90
  if not self.provenance:
78
91
  raise EmptyStore()
@@ -365,6 +378,15 @@ class NeatRulesStore:
365
378
  return change.target_entity.result
366
379
  raise NeatValueError("No verified DMS rules found in the provenance.")
367
380
 
381
+ @property
382
+ def last_verified_information_rules(self) -> InformationRules:
383
+ for change in reversed(self.provenance):
384
+ if isinstance(change.target_entity, ModelEntity) and isinstance(
385
+ change.target_entity.result, InformationRules
386
+ ):
387
+ return change.target_entity.result
388
+ raise NeatValueError("No verified information rules found in the provenance.")
389
+
368
390
  @property
369
391
  def last_issues(self) -> IssueList:
370
392
  if not self.provenance:
@@ -6,6 +6,7 @@ from pathlib import Path
6
6
  from typing import Literal, TypeAlias, get_args
7
7
 
8
8
  from cognite.client import ClientConfig, CogniteClient
9
+ from cognite.client.config import global_config
9
10
  from cognite.client.credentials import CredentialProvider, OAuthClientCredentials, OAuthInteractive, Token
10
11
 
11
12
  from cognite.neat import _version
@@ -33,6 +34,7 @@ def get_cognite_client(env_file_name: str) -> CogniteClient:
33
34
  """
34
35
  if not env_file_name.endswith(".env"):
35
36
  raise ValueError("env_file_name must end with '.env'")
37
+ global_config.disable_pypi_version_check = True
36
38
  # First try to load from .env file in repository root
37
39
  repo_root = _repo_root()
38
40
  if repo_root:
cognite/neat/_version.py CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = "0.106.0"
1
+ __version__ = "0.107.0"
2
2
  __engine__ = "^2.0.3"
@@ -1,8 +1,7 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: cognite-neat
3
- Version: 0.106.0
3
+ Version: 0.107.0
4
4
  Summary: Knowledge graph transformation
5
- Home-page: https://cognite-neat.readthedocs-hosted.com/
6
5
  License: Apache-2.0
7
6
  Author: Nikola Vasiljevic
8
7
  Author-email: nikola.vasiljevic@cognite.com
@@ -54,6 +53,7 @@ Requires-Dist: tomli (>=2.0.1,<3.0.0) ; python_version < "3.11"
54
53
  Requires-Dist: typing_extensions (>=4.8,<5.0) ; python_version < "3.11"
55
54
  Requires-Dist: urllib3 (>=2,<3)
56
55
  Project-URL: Documentation, https://cognite-neat.readthedocs-hosted.com/
56
+ Project-URL: Homepage, https://cognite-neat.readthedocs-hosted.com/
57
57
  Project-URL: Repository, https://github.com/cognitedata/neat
58
58
  Description-Content-Type: text/markdown
59
59
 
@@ -20,38 +20,39 @@ cognite/neat/_graph/examples/Knowledge-Graph-Nordic44-dirty.xml,sha256=ujJip6XBs
20
20
  cognite/neat/_graph/examples/Knowledge-Graph-Nordic44.xml,sha256=U2Ns-M4LRjT1fBkhmRj63ur7jDzlRtHK9yOLf_npZ_g,1437996
21
21
  cognite/neat/_graph/examples/__init__.py,sha256=yAjHVY3b5jOjmbW-iLbhvu7BG014TpGi3K4igkDqW5I,368
22
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
23
+ cognite/neat/_graph/extractors/__init__.py,sha256=T3G8U8ZYHSW0KA8JNArcFgY7wRk51S8T93J3YaVFeLY,2257
24
+ cognite/neat/_graph/extractors/_base.py,sha256=qQE-fl3f1hfqZg5KLF3zLHybP0u8ofRKf4jk7pEHnl4,1907
25
25
  cognite/neat/_graph/extractors/_classic_cdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  cognite/neat/_graph/extractors/_classic_cdf/_assets.py,sha256=9WVFrAtUFAp_AAlb26Rtt2Axz9xsPQYetg7SKVrNCr4,1474
27
- cognite/neat/_graph/extractors/_classic_cdf/_base.py,sha256=aM4v7s291H08tq_mAAcvHfheWfXl5oCYbD4O2q3FqOE,11753
28
- cognite/neat/_graph/extractors/_classic_cdf/_classic.py,sha256=6RBb06JxcLTj2VKCatlXj5_1TUx5SG_uV3e9-muu81Y,11272
27
+ cognite/neat/_graph/extractors/_classic_cdf/_base.py,sha256=LttJl6Zce3iHGlY4_fnACbaXI8dlgEqoDYZhqHieXYo,12080
28
+ cognite/neat/_graph/extractors/_classic_cdf/_classic.py,sha256=XP-4KME5UkdkEtLeHaDQpSyBYoHyyolj7595-Ivo-Iw,14220
29
29
  cognite/neat/_graph/extractors/_classic_cdf/_data_sets.py,sha256=xRFv9pVFgIMTZ45E8teMC0Ynku_CuZdcZkVCbhPuPBk,1294
30
30
  cognite/neat/_graph/extractors/_classic_cdf/_events.py,sha256=B8hRoMAg8GQvApjxals5PfPyjmdPO93U3nj_G7g0kDQ,1394
31
31
  cognite/neat/_graph/extractors/_classic_cdf/_files.py,sha256=Q816cVQ9qS7Art66HJfErL2OV7MxH_eSIG7bJ8_HJ7Q,1406
32
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=754-yyf5OymxNQR2uzI-yo8JZDlr8mr6C-DgTAWDEcw,10738
33
+ cognite/neat/_graph/extractors/_classic_cdf/_relationships.py,sha256=RrnYGtG8u-ZF5_8o0Qvg4qZZKGHiQffI3_eTUt7kNgI,3039
34
+ cognite/neat/_graph/extractors/_classic_cdf/_sequences.py,sha256=hm2QNOCQ0uJe_ud2wMAJt33zy6ARos9KU2cUDlKcJGc,10946
35
35
  cognite/neat/_graph/extractors/_classic_cdf/_timeseries.py,sha256=6CmmxWWG2IErfNKOPhsjQ5wSOTUZZMjulpaRbHj0Q-g,1560
36
36
  cognite/neat/_graph/extractors/_dexpi.py,sha256=SFWnKXYpQToWag9aoX8fxISNa9b8KlqjZnkwI18BzNY,9431
37
- cognite/neat/_graph/extractors/_dms.py,sha256=bK5p4-NdXlnQMGaalr6vgODcIvWu2e4qE6f8nnvdQK0,6685
37
+ cognite/neat/_graph/extractors/_dms.py,sha256=80FAu2TiBz7FUk7h_DLZFr9suaomAbQFMZN8YTq8kaM,8149
38
+ cognite/neat/_graph/extractors/_dms_graph.py,sha256=L1amDPPysPKny2ABZ_pAl-4nKHDcBKgnalXgmcBeORo,6339
38
39
  cognite/neat/_graph/extractors/_iodd.py,sha256=nMSLmtgvxLrQJMA5NECF1OCp4Bcv0Vq0WsNv8X9Oj1k,18458
39
40
  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/extractors/_rdf_file.py,sha256=oUlnFgSSgoy2roKefvi1EL5VyrmdBpA22YhTG-fxp4o,2845
41
42
  cognite/neat/_graph/loaders/__init__.py,sha256=1eam_rG1BXTUJ8iDm8_IYZldEe177vn2GmHihDBi8qk,718
42
43
  cognite/neat/_graph/loaders/_base.py,sha256=Fp6uUkNfAM-SVgsLz7tyNJxJ1eeEw3h2d4Q0YyppR-Y,3991
43
- cognite/neat/_graph/loaders/_rdf2dms.py,sha256=swCF3fqCiroqGTGamMhlsJL9i8UDQ3kAt410W_LGMzQ,25531
44
+ cognite/neat/_graph/loaders/_rdf2dms.py,sha256=uOfTgmfmyFdfY22Uyj2aHeh3TkdfXMf3k53xwAjqvhs,29750
44
45
  cognite/neat/_graph/queries/__init__.py,sha256=BgDd-037kvtWwAoGAy8eORVNMiZ5-E9sIV0txIpeaN4,50
45
46
  cognite/neat/_graph/queries/_base.py,sha256=Y3Amuave6xdQsDE5ZXCrYLUgOMIH8BXa4n5Pc9czAF0,14926
46
- cognite/neat/_graph/queries/_construct.py,sha256=CW8uHtXXACUXDj1AcEjROXtvoiuyx0CTgZ0bURY5Neo,7213
47
+ cognite/neat/_graph/queries/_construct.py,sha256=vCCGI_mnqIC5lF38J0ZN3ixBH2l6nAvWP0nl-z529Qs,7214
47
48
  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=xQWAedOumkmzp16UGjtgnctXmk_mzixqOVZ4qjd2aOQ,4196
50
- cognite/neat/_graph/transformers/_classic_cdf.py,sha256=0rTpB9crJ_RHrCnegZSYFQZKf3dnfIbO3q9I0TENbug,22240
49
+ cognite/neat/_graph/transformers/__init__.py,sha256=euVkdO_THM0VZMDP4SUXJzzzHzFh4v2rAtrgv3-n3HE,1812
50
+ cognite/neat/_graph/transformers/_base.py,sha256=GWiq2rlhLHkdrMvOrOcesn9asWDu4Kt-xYSXQNSnAvY,4565
51
+ cognite/neat/_graph/transformers/_classic_cdf.py,sha256=IulhmojGdJwocMXBaLZyCLRcXrEeTns0JdgXJ716AzA,26334
51
52
  cognite/neat/_graph/transformers/_iodd.py,sha256=KNz1fPdKK40UaHgPMECzNZgSeU5PdPRyLdaRYdq1iug,866
52
53
  cognite/neat/_graph/transformers/_prune_graph.py,sha256=LFiAMYFteND5LGEv9KqYJr5C9-n7S5fR6IrEdtJyRnk,12447
53
- cognite/neat/_graph/transformers/_rdfpath.py,sha256=_ZM8hmZvBPcgbascKzkeDwAaQFoO6edfdpddzDjuQNg,5020
54
- cognite/neat/_graph/transformers/_value_type.py,sha256=ZtH1KZmOGBGpUcqj4fBRlPOMq6kADt-HMShvYPS5Org,12841
54
+ cognite/neat/_graph/transformers/_rdfpath.py,sha256=jWroxG2j_Mt4COqCo8lY2L9_5DFyLlBnZ0ahyM2f9m8,5023
55
+ cognite/neat/_graph/transformers/_value_type.py,sha256=kel4D_BSF_o2HHCgiryEGSUTLKZ22nLowHM1nwZXUq0,13229
55
56
  cognite/neat/_issues/__init__.py,sha256=OVgWivp_Br31p8zPeHjOEXs-Wj7lJU1pU1L3pfhfuqE,518
56
57
  cognite/neat/_issues/_base.py,sha256=vV0E8cfXKlOnRXFIDZKg5QPMruELEbCaUfQ01l5dR9A,20073
57
58
  cognite/neat/_issues/errors/__init__.py,sha256=cAmB92WnUDicT8adowED0-UbMTuJxdde2TS5G65IW50,2216
@@ -72,12 +73,13 @@ cognite/neat/_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
72
73
  cognite/neat/_rules/_constants.py,sha256=lOyf7nybSYOuAE_wKmTMncHYz0Io0_J_YVnYBzjrvZA,5637
73
74
  cognite/neat/_rules/_shared.py,sha256=2WrvsSKP4XQisDXUVu5z4GOfjQMIQZwed_UNfb4NCoY,1282
74
75
  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/_base.py,sha256=7pgCl3Zsg4uxzvzPRbByTs6wBGuVUeYf2ec-PiG7nLY,16745
76
77
  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
78
+ cognite/neat/_rules/analysis/_information.py,sha256=F3fAsQS8gLTfyy4z4t4cNaoMqU9TyDRzEOMzid6FJDc,10727
79
+ cognite/neat/_rules/catalog/__init__.py,sha256=dwDB8b-5GKZuwVyPuiwsH0EaK2FY9-wJrkTjKoL8KE4,250
80
+ cognite/neat/_rules/catalog/classic_model.xlsx,sha256=93_RsrRuA5BXFwbko-hKODQ-pcwCftMxxjbrU5Syp5k,15046
79
81
  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
82
+ cognite/neat/_rules/catalog/info-rules-imf.xlsx,sha256=hj3ej7F1RYYyhGjX0rjVSOe_ZYD8m3AOA87-YtRqM84,56342
81
83
  cognite/neat/_rules/exporters/__init__.py,sha256=IYBa0DIYlx8cFItgYRw9W4FY_LmVEjuaqMz3JORZZX0,1204
82
84
  cognite/neat/_rules/exporters/_base.py,sha256=VkNMy8wsH-x4tAjS44cXgzzNH0CM2k_4RhkMwK50J7g,2284
83
85
  cognite/neat/_rules/exporters/_rules2dms.py,sha256=7I3a8ZPwkIBQAClQbMjJ2D2aIITY-OBVUD-8hirCmzM,19183
@@ -88,7 +90,7 @@ cognite/neat/_rules/exporters/_rules2yaml.py,sha256=-TtE7-SvfJr0-ndNy26nrHXtxAq6
88
90
  cognite/neat/_rules/exporters/_validation.py,sha256=DVJGdNNU2WtAFgUg0h4SWVhveRErEPOcYdT65y5toV0,682
89
91
  cognite/neat/_rules/importers/__init__.py,sha256=d5k8vNgf1rjECl6pubozVQV1Bdpz62GI59GYC-cJMrY,1316
90
92
  cognite/neat/_rules/importers/_base.py,sha256=HOmfESfF9KLGWGa5AmhPGc-AimwKHgoShbxPz90h2JE,3589
91
- cognite/neat/_rules/importers/_dms2rules.py,sha256=rj_JfbpH76045coBQaxkXSS__81SE-HWxfV4jCSUvuI,22772
93
+ cognite/neat/_rules/importers/_dms2rules.py,sha256=gpfckYFV1SH_kmUiwK4wtvBLL8zHABsX4ccbBpa9UHw,22902
92
94
  cognite/neat/_rules/importers/_dtdl2rules/__init__.py,sha256=CNR-sUihs2mnR1bPMKs3j3L4ds3vFTsrl6YycExZTfU,68
93
95
  cognite/neat/_rules/importers/_dtdl2rules/_unit_lookup.py,sha256=wW4saKva61Q_i17guY0dc4OseJDQfqHy_QZBtm0OD6g,12134
94
96
  cognite/neat/_rules/importers/_dtdl2rules/dtdl_converter.py,sha256=j38U0um1ZWI-yRvEUR3z33vOvMCYXJxSO9L_B7m9xDE,11707
@@ -97,20 +99,20 @@ cognite/neat/_rules/importers/_dtdl2rules/spec.py,sha256=u__f08rAiYG0FIRiWoecBN8
97
99
  cognite/neat/_rules/importers/_rdf/__init__.py,sha256=x06gjJ3dXlhJRRgyXZ-HoF4vFnbPmzI2ni6wyzwtfPU,183
98
100
  cognite/neat/_rules/importers/_rdf/_base.py,sha256=b7MM4PV4d0irLbU8nKws4ynhiIuzmvvZeeQycHVKMpQ,5682
99
101
  cognite/neat/_rules/importers/_rdf/_imf2rules.py,sha256=M5hfWZUhoCgXFlr8QNfogNCI2pxzqqAvTJII4yA8xJw,3723
100
- cognite/neat/_rules/importers/_rdf/_inference2rules.py,sha256=G_-UXNOBZy0jCDpghKp7-h8Lqn5qExGR-wrE6N9t0YY,12907
102
+ cognite/neat/_rules/importers/_rdf/_inference2rules.py,sha256=6hqINEQGBAEQrw645jRgFrRZGfuROMjE4sE4vTyWpRA,12908
101
103
  cognite/neat/_rules/importers/_rdf/_owl2rules.py,sha256=gTMe94DC9xe8NR9KNVHTMTshg_NzVuN1v8Lz95BUshI,3392
102
104
  cognite/neat/_rules/importers/_rdf/_shared.py,sha256=mxBoqFQfvHeLa4kbDYAd7FEcHe1fv97tcqHd9gmFeKk,5867
103
105
  cognite/neat/_rules/importers/_spreadsheet2rules.py,sha256=2KhOSzNPmQgBb64L3aIARwmqY944LNP_9QciMnn7ecY,10911
104
106
  cognite/neat/_rules/importers/_yaml2rules.py,sha256=k2oDgz--mxFVeyqQG3uvyYcb0BkFHwKHdBYHVaxtAEc,3721
105
107
  cognite/neat/_rules/models/__init__.py,sha256=tf6tyWiYO0eC2PHCcpy208dwOHjEi9hg0sEaQLcB3uA,1024
106
108
  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
109
+ cognite/neat/_rules/models/_base_rules.py,sha256=VMn1ubalcrFTi1KxmTIUdU1AmN3L1qrbwmrw1-uk-OU,14690
108
110
  cognite/neat/_rules/models/_rdfpath.py,sha256=hqUMZCMeI8ESdJltu7FifuUhna5JNN_Heup2aYkV56Y,11882
109
- cognite/neat/_rules/models/_types.py,sha256=7rh4PVaqI58OTXtoIgZKitmwa5hZlVtk8uX4czlSGFY,5261
111
+ cognite/neat/_rules/models/_types.py,sha256=gGRS8qK3Z-2buBmYtaVj8762qPNz_ToYAChZYCm8eyE,5381
110
112
  cognite/neat/_rules/models/data_types.py,sha256=LJuWUbStlZM4hUJGExOJIJXmAA4uiA0tvO9zKqLUrQg,9805
111
113
  cognite/neat/_rules/models/dms/__init__.py,sha256=fRaUH0IwG0YwWd_DNKM6j-jHHFyiIVz4_8DPiS1KR0Y,695
112
114
  cognite/neat/_rules/models/dms/_exporter.py,sha256=eB5uDX06XYkQkON96eykSk7ZCegb9a5dCxTmTIr252c,28020
113
- cognite/neat/_rules/models/dms/_rules.py,sha256=G0bJOm0tVOWMBZ9629gtK0M6ukZqKSBaqE2jG_wiHgE,20277
115
+ cognite/neat/_rules/models/dms/_rules.py,sha256=zTmZLcqzkQqExrCPkFSWkWyO6Rlx7V1WQk0cTrzJMzM,22245
114
116
  cognite/neat/_rules/models/dms/_rules_input.py,sha256=mDLojcIZyu-EIR0qLDCYIUqcgWDKdC7dEF5qffVvLfs,13197
115
117
  cognite/neat/_rules/models/dms/_validation.py,sha256=PNFHsDNHJZfbHY1qt6D4t3eFOGjqe6Koa702Gzcz0I8,27734
116
118
  cognite/neat/_rules/models/entities/__init__.py,sha256=Hlucp3LyV6ncLl79aqRTbSy2qgiGzoyN8x54D_zaJCY,1469
@@ -121,43 +123,43 @@ cognite/neat/_rules/models/entities/_single_value.py,sha256=GW1R8ko1vwjGhAs2Fl5B
121
123
  cognite/neat/_rules/models/entities/_types.py,sha256=df9rnXJJKciv2Bp-Ve2q4xdEJt6WWniq12Z0hW2d6sk,1917
122
124
  cognite/neat/_rules/models/entities/_wrapped.py,sha256=-LP20mEv8H2NAoZplP-IJud-kaMHNFWE8fqbeJmdpk4,7579
123
125
  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/_rules.py,sha256=RQDcXEVZz9GG6KghpK-Vp4W_4ThoC12kfsPQdMkW75o,13766
127
+ cognite/neat/_rules/models/information/_rules_input.py,sha256=3So9QahmBXg_9PZjT2bjxapDYKBZsTl-QyLENOkCl68,5700
126
128
  cognite/neat/_rules/models/information/_validation.py,sha256=HbaLShj6uumu-t9I3FUI_iKQfUDiwEkuFENHgWIPfrk,10202
127
129
  cognite/neat/_rules/models/mapping/__init__.py,sha256=T68Hf7rhiXa7b03h4RMwarAmkGnB-Bbhc1H07b2PyC4,100
128
- cognite/neat/_rules/models/mapping/_classic2core.py,sha256=2IEIWTF7siB7nHTKuafG_KJbt4h1CPMdG3yDsw3Sky8,1239
130
+ cognite/neat/_rules/models/mapping/_classic2core.py,sha256=AhLWoXk4PlBVA6SgBtY9dcLcpqEMaYcsiEatI19miPk,1211
129
131
  cognite/neat/_rules/models/mapping/_classic2core.yaml,sha256=jodkmcTborWJmG3At16OChtnol696X6D4lgAa7aaQ78,20491
130
- cognite/neat/_rules/transformers/__init__.py,sha256=jzfzRDcyz_6azteTjGFBjKz9vQTwo_slT-eNocfWZxw,993
132
+ cognite/neat/_rules/transformers/__init__.py,sha256=-vQkKqRMuVfFDVgXE9MmV-15sNeeBUQzx1_gD5c4E2M,1089
131
133
  cognite/neat/_rules/transformers/_base.py,sha256=sflEUKfNgCE3NNErzBMJ88VJEYB12pU1H3da40B52Yg,2556
132
- cognite/neat/_rules/transformers/_converters.py,sha256=0fnQl-RXGfh9WcRjIlgCmpjYs2gZa0ya8kNQL_FnMPk,52576
134
+ cognite/neat/_rules/transformers/_converters.py,sha256=5MfFwMA8Wjt2K86P44jVd8l659y-VMaqwLq6XTVhvMA,59092
133
135
  cognite/neat/_rules/transformers/_mapping.py,sha256=2aNJ5hcJ2hRtQAacOEC6uOTM7SdglduimepmIhRUikg,18157
134
136
  cognite/neat/_rules/transformers/_verification.py,sha256=jKTppklUCVwVlRfYyMfnUtV8r2ACTY-AtsoMF6L-KXo,4593
135
137
  cognite/neat/_session/__init__.py,sha256=fxQ5URVlUnmEGYyB8Baw7IDq-uYacqkigbc4b-Pr9Fw,58
136
- cognite/neat/_session/_base.py,sha256=pOpV9Bnkci-RjGj5ouzAf-chJ0lOlSnm2MVwqQmIQ84,10002
138
+ cognite/neat/_session/_base.py,sha256=3_YISV9iCHFANqTiZA_ziFYwm1TdP82u8ZqjCqWg8pI,9727
137
139
  cognite/neat/_session/_collector.py,sha256=SPCb1fEuOVIMHMQsVUNS7nkUUPhtUuNatnWPAIfQMcE,4093
138
140
  cognite/neat/_session/_drop.py,sha256=kfXSgsq3xaLOAxtfjPkix9C18xulJv4Cfu4gj86nBSY,1392
139
141
  cognite/neat/_session/_inspect.py,sha256=yls1XrJpVid2IlOs6-m2-9Hlgn0AuT_CMIASDXVEktU,8410
140
- cognite/neat/_session/_mapping.py,sha256=Q_ZYd75ZFvX7tcA3m-rfzMo-zTOgwXuR-lVq0E0kBzQ,2319
141
- cognite/neat/_session/_prepare.py,sha256=Qk8qq3iQA7amRZInjnwwJkPZwGs3vUfQ21c-FUERFUo,23828
142
- cognite/neat/_session/_read.py,sha256=8pSL1tTACw3Z6tMU8ck486FmUK3lXKWNH1V29_oKITk,14689
142
+ cognite/neat/_session/_mapping.py,sha256=J0nUTKfWv7EYGSxCRo_eaZFs3SjPVVgGQQaxH-x2Q0Y,2588
143
+ cognite/neat/_session/_prepare.py,sha256=KuGPt9OYssNDyRPAzci5i32xOjPtA-TeZrccDcQyga4,21703
144
+ cognite/neat/_session/_read.py,sha256=3ip-8b6V7VdWHASZiCn60ivJbb1hg3M0eLyOHDppW6Y,17118
143
145
  cognite/neat/_session/_set.py,sha256=7k6oPX3n7sUViGaSZOQb4zLQIBKDFt_y5xBmC5SYYjU,1997
144
146
  cognite/neat/_session/_show.py,sha256=bp1IddBd0vBxlWcewxL3U3zv-GsE8l7lxIE7muCvyXk,16305
145
- cognite/neat/_session/_state.py,sha256=PPn1OOu-4A0AyysxcRA1Ehr5CppRoCrF52uZDvt7Z6Y,4148
146
- cognite/neat/_session/_to.py,sha256=G2OpRXyowe0UMDARFzVDyjQW13-8Dm40w9y8zesPjTg,9688
147
+ cognite/neat/_session/_state.py,sha256=5MXxwppitSdmFUEwTkeeKt-NK8fNf0kSQE2kzT3KgIU,4513
148
+ cognite/neat/_session/_to.py,sha256=Rs3axzs1IB0iJnszrxgqkaU4rYrqrJzFfLWYeGN9tbo,10680
147
149
  cognite/neat/_session/_wizard.py,sha256=O8d0FA87RIoiTOD2KLyTVsxwA2-ewAG2By4JfxXSL84,1474
148
150
  cognite/neat/_session/engine/__init__.py,sha256=D3MxUorEs6-NtgoICqtZ8PISQrjrr4dvca6n48bu_bI,120
149
151
  cognite/neat/_session/engine/_import.py,sha256=1QxA2_EK613lXYAHKQbZyw2yjo5P9XuiX4Z6_6-WMNQ,169
150
152
  cognite/neat/_session/engine/_interface.py,sha256=ItJ1VMrPt-pKKvpSpglD9n9yFC6ehF9xV2DUVCyfQB0,533
151
153
  cognite/neat/_session/engine/_load.py,sha256=LcoYVthQyCzLWKzRE_75_nElS-n_eMWSPAgNJBnh5dA,5193
152
- cognite/neat/_session/exceptions.py,sha256=dvhwF7d8AADxqEI13nZreLCPBPN_7A3KiAqlWjkpuqc,2303
154
+ cognite/neat/_session/exceptions.py,sha256=xnZKO9yLiXjGEuWxmXKmIq2wE2m1eklUsD97neJBBfg,2473
153
155
  cognite/neat/_shared.py,sha256=Ov59SWYboRRsncB_5V1ZC_BAoACfNLjo80vqE5Ru6wo,2325
154
156
  cognite/neat/_store/__init__.py,sha256=RrvuZrMdezqun5dOrwHWSk26kampZcvqiHBqSFumkEE,130
155
- cognite/neat/_store/_graph_store.py,sha256=EjZ2kuetEE0G6I2DvMxNUXDvx-p_ZEJAOtnCOgLBocI,18745
157
+ cognite/neat/_store/_graph_store.py,sha256=UgO_hr-6oqhqUrigkPeLd2NIjDz94kOQGz438P6z1y0,20624
156
158
  cognite/neat/_store/_provenance.py,sha256=g_u6O7jo3ZekQVtc-FfJR1fTGqD9L3ipwfSEjdHB1xM,6610
157
- cognite/neat/_store/_rules_store.py,sha256=mpx63LSceedrDiRDG66RW5zlsaCYzyYspDiAV_WwW5U,15335
159
+ cognite/neat/_store/_rules_store.py,sha256=mjOa7xuWKWFnnA7nGI1X1xVd8TOXSn8AOdG3pHkB1S0,16424
158
160
  cognite/neat/_store/exceptions.py,sha256=1xLtWqX-TiGcXdgayBgeNx1cipoXkye7LmTMFdpMg1s,506
159
161
  cognite/neat/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
- cognite/neat/_utils/auth.py,sha256=jOoPN3hKyVDalsc-AotzuuyZP9DwtYmKhYxGzbwAC_w,14412
162
+ cognite/neat/_utils/auth.py,sha256=3RV8VB9nKJAh2nZH6F9oPQOXgF2rRLKxq5jJLTJn3ow,14512
161
163
  cognite/neat/_utils/auxiliary.py,sha256=WFOycFgoYipvDmtGvn6ZNH3H8iNZmHamrfe2kXRb8lM,6667
162
164
  cognite/neat/_utils/collection_.py,sha256=JvYLSR6Cf8PIKGhr8HKRvep0U-z0980jbnIM_g-5I5I,2366
163
165
  cognite/neat/_utils/graph_transformations_report.py,sha256=rjEy4XMvOygFL4UgnYOmFW6AHxaU9IXep-dmYc5654c,1230
@@ -170,10 +172,10 @@ cognite/neat/_utils/text.py,sha256=0IffvBIAmeGh92F4T6xiEdd-vv3B7FOGEMbfuTktO5Y,4
170
172
  cognite/neat/_utils/time_.py,sha256=O30LUiDH9TdOYz8_a9pFqTtJdg8vEjC3qHCk8xZblG8,345
171
173
  cognite/neat/_utils/upload.py,sha256=iWKmsQgw4EHLv-11NjYu7zAj5LtqTAfNa87a1kWeuaU,5727
172
174
  cognite/neat/_utils/xml_.py,sha256=FQkq84u35MUsnKcL6nTMJ9ajtG9D5i1u4VBnhGqP2DQ,1710
173
- cognite/neat/_version.py,sha256=jWs7dXFPYMcNh2DTNiuA6jFiNNxY_5JWElO8H2VTVfY,46
175
+ cognite/neat/_version.py,sha256=BpyKoq6uiHl43CEFHESU9WOzu3HL-G7rE2iWWGHqds4,46
174
176
  cognite/neat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
- cognite_neat-0.106.0.dist-info/LICENSE,sha256=W8VmvFia4WHa3Gqxq1Ygrq85McUNqIGDVgtdvzT-XqA,11351
176
- cognite_neat-0.106.0.dist-info/METADATA,sha256=WEAC8ydzyYveGV3mP8SFMIRV5qMWkv2QbNln_pT1hvk,5349
177
- cognite_neat-0.106.0.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
178
- cognite_neat-0.106.0.dist-info/entry_points.txt,sha256=SsQlnl8SNMSSjE3acBI835JYFtsIinLSbVmHmMEXv6E,51
179
- cognite_neat-0.106.0.dist-info/RECORD,,
177
+ cognite_neat-0.107.0.dist-info/LICENSE,sha256=W8VmvFia4WHa3Gqxq1Ygrq85McUNqIGDVgtdvzT-XqA,11351
178
+ cognite_neat-0.107.0.dist-info/METADATA,sha256=9lNRJ7bJUqYZbL91bVEbiChOOf309O6bQM4LGxtFB9E,5361
179
+ cognite_neat-0.107.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
180
+ cognite_neat-0.107.0.dist-info/entry_points.txt,sha256=SsQlnl8SNMSSjE3acBI835JYFtsIinLSbVmHmMEXv6E,51
181
+ cognite_neat-0.107.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.0.0
2
+ Generator: poetry-core 2.0.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any