cognite-neat 0.128.0__py3-none-any.whl → 1.0.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.
Files changed (206) hide show
  1. cognite/neat/__init__.py +4 -3
  2. cognite/neat/_config.py +53 -6
  3. cognite/neat/_data_model/_identifiers.py +1 -1
  4. cognite/neat/_data_model/importers/_table_importer/data_classes.py +1 -1
  5. cognite/neat/_data_model/models/conceptual/_data_model.py +1 -1
  6. cognite/neat/_data_model/models/dms/_space.py +1 -1
  7. cognite/neat/_data_model/models/entities/_identifiers.py +1 -1
  8. cognite/neat/_session/_session.py +7 -14
  9. cognite/neat/{v0 → _v0}/core/_client/_api/data_modeling_loaders.py +6 -6
  10. cognite/neat/{v0 → _v0}/core/_client/_api/neat_instances.py +5 -5
  11. cognite/neat/{v0 → _v0}/core/_client/_api/schema.py +5 -5
  12. cognite/neat/{v0 → _v0}/core/_client/_api/statistics.py +3 -3
  13. cognite/neat/{v0 → _v0}/core/_client/_api_client.py +1 -1
  14. cognite/neat/{v0 → _v0}/core/_client/data_classes/schema.py +4 -4
  15. cognite/neat/{v0 → _v0}/core/_client/testing.py +1 -1
  16. cognite/neat/{v0 → _v0}/core/_constants.py +3 -3
  17. cognite/neat/{v0 → _v0}/core/_data_model/_shared.py +4 -4
  18. cognite/neat/{v0 → _v0}/core/_data_model/analysis/_base.py +8 -8
  19. cognite/neat/{v0 → _v0}/core/_data_model/exporters/_base.py +7 -7
  20. cognite/neat/{v0 → _v0}/core/_data_model/exporters/_data_model2dms.py +9 -9
  21. cognite/neat/{v0 → _v0}/core/_data_model/exporters/_data_model2excel.py +9 -9
  22. cognite/neat/{v0 → _v0}/core/_data_model/exporters/_data_model2instance_template.py +4 -4
  23. cognite/neat/{v0 → _v0}/core/_data_model/exporters/_data_model2semantic_model.py +9 -9
  24. cognite/neat/{v0 → _v0}/core/_data_model/exporters/_data_model2yaml.py +1 -1
  25. cognite/neat/{v0 → _v0}/core/_data_model/importers/_base.py +5 -5
  26. cognite/neat/{v0 → _v0}/core/_data_model/importers/_base_file_reader.py +2 -2
  27. cognite/neat/{v0 → _v0}/core/_data_model/importers/_dict2data_model.py +5 -5
  28. cognite/neat/{v0 → _v0}/core/_data_model/importers/_dms2data_model.py +13 -13
  29. cognite/neat/{v0 → _v0}/core/_data_model/importers/_graph2data_model.py +12 -12
  30. cognite/neat/{v0 → _v0}/core/_data_model/importers/_rdf/_base.py +12 -12
  31. cognite/neat/{v0 → _v0}/core/_data_model/importers/_rdf/_inference2rdata_model.py +14 -14
  32. cognite/neat/{v0 → _v0}/core/_data_model/importers/_rdf/_owl2data_model.py +2 -2
  33. cognite/neat/{v0 → _v0}/core/_data_model/importers/_rdf/_shared.py +7 -7
  34. cognite/neat/{v0 → _v0}/core/_data_model/importers/_spreadsheet2data_model.py +10 -10
  35. cognite/neat/{v0 → _v0}/core/_data_model/models/__init__.py +3 -3
  36. cognite/neat/{v0 → _v0}/core/_data_model/models/_base_verified.py +5 -5
  37. cognite/neat/{v0 → _v0}/core/_data_model/models/_import_contexts.py +1 -1
  38. cognite/neat/{v0 → _v0}/core/_data_model/models/_types.py +5 -5
  39. cognite/neat/{v0 → _v0}/core/_data_model/models/conceptual/_unverified.py +5 -5
  40. cognite/neat/{v0 → _v0}/core/_data_model/models/conceptual/_validation.py +12 -12
  41. cognite/neat/{v0 → _v0}/core/_data_model/models/conceptual/_verified.py +9 -9
  42. cognite/neat/{v0 → _v0}/core/_data_model/models/data_types.py +3 -3
  43. cognite/neat/{v0 → _v0}/core/_data_model/models/entities/_loaders.py +2 -2
  44. cognite/neat/{v0 → _v0}/core/_data_model/models/entities/_multi_value.py +2 -2
  45. cognite/neat/{v0 → _v0}/core/_data_model/models/entities/_restrictions.py +6 -6
  46. cognite/neat/{v0 → _v0}/core/_data_model/models/entities/_single_value.py +3 -3
  47. cognite/neat/{v0 → _v0}/core/_data_model/models/mapping/_classic2core.py +5 -5
  48. cognite/neat/{v0 → _v0}/core/_data_model/models/physical/__init__.py +1 -1
  49. cognite/neat/{v0 → _v0}/core/_data_model/models/physical/_exporter.py +8 -8
  50. cognite/neat/{v0 → _v0}/core/_data_model/models/physical/_unverified.py +8 -8
  51. cognite/neat/{v0 → _v0}/core/_data_model/models/physical/_validation.py +16 -16
  52. cognite/neat/{v0 → _v0}/core/_data_model/models/physical/_verified.py +11 -11
  53. cognite/neat/{v0 → _v0}/core/_data_model/transformers/_base.py +4 -4
  54. cognite/neat/{v0 → _v0}/core/_data_model/transformers/_converters.py +26 -26
  55. cognite/neat/{v0 → _v0}/core/_data_model/transformers/_mapping.py +7 -7
  56. cognite/neat/{v0 → _v0}/core/_data_model/transformers/_union_conceptual.py +5 -5
  57. cognite/neat/{v0 → _v0}/core/_data_model/transformers/_verification.py +7 -7
  58. cognite/neat/{v0 → _v0}/core/_instances/_tracking/base.py +1 -1
  59. cognite/neat/{v0 → _v0}/core/_instances/_tracking/log.py +1 -1
  60. cognite/neat/{v0 → _v0}/core/_instances/extractors/__init__.py +3 -2
  61. cognite/neat/{v0 → _v0}/core/_instances/extractors/_base.py +6 -6
  62. cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_base.py +7 -7
  63. cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_classic.py +12 -12
  64. cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_relationships.py +3 -3
  65. cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_sequences.py +2 -2
  66. cognite/neat/{v0 → _v0}/core/_instances/extractors/_dict.py +2 -2
  67. cognite/neat/{v0 → _v0}/core/_instances/extractors/_dms.py +6 -6
  68. cognite/neat/{v0 → _v0}/core/_instances/extractors/_dms_graph.py +11 -11
  69. cognite/neat/{v0 → _v0}/core/_instances/extractors/_mock_graph_generator.py +10 -10
  70. cognite/neat/{v0 → _v0}/core/_instances/extractors/_raw.py +3 -3
  71. cognite/neat/{v0 → _v0}/core/_instances/extractors/_rdf_file.py +7 -7
  72. cognite/neat/{v0 → _v0}/core/_instances/loaders/_base.py +5 -5
  73. cognite/neat/{v0 → _v0}/core/_instances/loaders/_rdf2dms.py +17 -17
  74. cognite/neat/{v0 → _v0}/core/_instances/loaders/_rdf_to_instance_space.py +11 -11
  75. cognite/neat/{v0 → _v0}/core/_instances/queries/_select.py +3 -3
  76. cognite/neat/{v0 → _v0}/core/_instances/queries/_update.py +1 -1
  77. cognite/neat/{v0 → _v0}/core/_instances/transformers/_base.py +4 -4
  78. cognite/neat/{v0 → _v0}/core/_instances/transformers/_classic_cdf.py +6 -6
  79. cognite/neat/{v0 → _v0}/core/_instances/transformers/_prune_graph.py +4 -4
  80. cognite/neat/{v0 → _v0}/core/_instances/transformers/_rdfpath.py +1 -1
  81. cognite/neat/{v0 → _v0}/core/_instances/transformers/_value_type.py +4 -4
  82. cognite/neat/{v0 → _v0}/core/_issues/_base.py +5 -5
  83. cognite/neat/{v0 → _v0}/core/_issues/_contextmanagers.py +1 -1
  84. cognite/neat/{v0 → _v0}/core/_issues/_factory.py +3 -3
  85. cognite/neat/{v0 → _v0}/core/_issues/errors/__init__.py +1 -1
  86. cognite/neat/{v0 → _v0}/core/_issues/errors/_external.py +1 -1
  87. cognite/neat/{v0 → _v0}/core/_issues/errors/_general.py +1 -1
  88. cognite/neat/{v0 → _v0}/core/_issues/errors/_properties.py +1 -1
  89. cognite/neat/{v0 → _v0}/core/_issues/errors/_resources.py +2 -2
  90. cognite/neat/{v0 → _v0}/core/_issues/errors/_wrapper.py +2 -2
  91. cognite/neat/{v0 → _v0}/core/_issues/warnings/__init__.py +1 -1
  92. cognite/neat/{v0 → _v0}/core/_issues/warnings/_external.py +1 -1
  93. cognite/neat/{v0 → _v0}/core/_issues/warnings/_general.py +1 -1
  94. cognite/neat/{v0 → _v0}/core/_issues/warnings/_models.py +2 -2
  95. cognite/neat/{v0 → _v0}/core/_issues/warnings/_properties.py +2 -2
  96. cognite/neat/{v0 → _v0}/core/_issues/warnings/_resources.py +1 -1
  97. cognite/neat/{v0 → _v0}/core/_issues/warnings/user_modeling.py +1 -1
  98. cognite/neat/{v0 → _v0}/core/_store/_data_model.py +12 -12
  99. cognite/neat/{v0 → _v0}/core/_store/_instance.py +11 -11
  100. cognite/neat/{v0 → _v0}/core/_store/_provenance.py +3 -3
  101. cognite/neat/{v0 → _v0}/core/_store/exceptions.py +4 -4
  102. cognite/neat/{v0 → _v0}/core/_utils/auth.py +1 -1
  103. cognite/neat/{v0 → _v0}/core/_utils/auxiliary.py +1 -1
  104. cognite/neat/{v0 → _v0}/core/_utils/collection_.py +2 -2
  105. cognite/neat/{v0 → _v0}/core/_utils/graph_transformations_report.py +1 -1
  106. cognite/neat/{v0 → _v0}/core/_utils/rdf_.py +1 -1
  107. cognite/neat/{v0 → _v0}/core/_utils/reader/_base.py +1 -1
  108. cognite/neat/{v0 → _v0}/core/_utils/spreadsheet.py +1 -1
  109. cognite/neat/{v0 → _v0}/core/_utils/text.py +1 -1
  110. cognite/neat/{v0 → _v0}/core/_utils/upload.py +3 -3
  111. cognite/neat/{v0/session → _v0}/engine/_load.py +1 -1
  112. cognite/neat/{v0 → _v0}/plugins/_data_model.py +2 -2
  113. cognite/neat/{v0 → _v0}/plugins/_issues.py +1 -1
  114. cognite/neat/{v0 → _v0}/plugins/_manager.py +2 -2
  115. cognite/neat/{v0 → _v0}/session/_base.py +11 -11
  116. cognite/neat/{v0 → _v0}/session/_collector.py +1 -1
  117. cognite/neat/{v0 → _v0}/session/_diff.py +1 -1
  118. cognite/neat/{v0 → _v0}/session/_drop.py +3 -3
  119. cognite/neat/{v0 → _v0}/session/_explore.py +2 -2
  120. cognite/neat/{v0 → _v0}/session/_fix.py +2 -2
  121. cognite/neat/{v0 → _v0}/session/_inspect.py +3 -3
  122. cognite/neat/{v0 → _v0}/session/_mapping.py +3 -3
  123. cognite/neat/{v0 → _v0}/session/_plugin.py +4 -4
  124. cognite/neat/{v0 → _v0}/session/_prepare.py +8 -8
  125. cognite/neat/{v0 → _v0}/session/_read.py +19 -19
  126. cognite/neat/{v0 → _v0}/session/_set.py +8 -8
  127. cognite/neat/{v0 → _v0}/session/_show.py +5 -5
  128. cognite/neat/{v0 → _v0}/session/_state.py +10 -10
  129. cognite/neat/{v0 → _v0}/session/_subset.py +4 -4
  130. cognite/neat/{v0 → _v0}/session/_template.py +11 -11
  131. cognite/neat/{v0 → _v0}/session/_to.py +12 -12
  132. cognite/neat/{v0 → _v0}/session/_wizard.py +1 -1
  133. cognite/neat/{v0 → _v0}/session/exceptions.py +5 -5
  134. cognite/neat/_version.py +1 -1
  135. cognite/neat/legacy.py +6 -0
  136. {cognite_neat-0.128.0.dist-info → cognite_neat-1.0.0.dist-info}/METADATA +1 -1
  137. cognite_neat-1.0.0.dist-info/RECORD +319 -0
  138. cognite/neat/v1.py +0 -3
  139. cognite_neat-0.128.0.dist-info/RECORD +0 -319
  140. /cognite/neat/{v0 → _v0}/__init__.py +0 -0
  141. /cognite/neat/{v0 → _v0}/core/__init__.py +0 -0
  142. /cognite/neat/{v0 → _v0}/core/_client/__init__.py +0 -0
  143. /cognite/neat/{v0 → _v0}/core/_client/_api/__init__.py +0 -0
  144. /cognite/neat/{v0 → _v0}/core/_client/data_classes/__init__.py +0 -0
  145. /cognite/neat/{v0 → _v0}/core/_client/data_classes/data_modeling.py +0 -0
  146. /cognite/neat/{v0 → _v0}/core/_client/data_classes/neat_sequence.py +0 -0
  147. /cognite/neat/{v0 → _v0}/core/_client/data_classes/statistics.py +0 -0
  148. /cognite/neat/{v0 → _v0}/core/_config.py +0 -0
  149. /cognite/neat/{v0 → _v0}/core/_data_model/__init__.py +0 -0
  150. /cognite/neat/{v0 → _v0}/core/_data_model/_constants.py +0 -0
  151. /cognite/neat/{v0 → _v0}/core/_data_model/analysis/__init__.py +0 -0
  152. /cognite/neat/{v0 → _v0}/core/_data_model/catalog/__init__.py +0 -0
  153. /cognite/neat/{v0 → _v0}/core/_data_model/catalog/classic_model.xlsx +0 -0
  154. /cognite/neat/{v0 → _v0}/core/_data_model/catalog/conceptual-imf-data-model.xlsx +0 -0
  155. /cognite/neat/{v0 → _v0}/core/_data_model/catalog/hello_world_pump.xlsx +0 -0
  156. /cognite/neat/{v0 → _v0}/core/_data_model/exporters/__init__.py +0 -0
  157. /cognite/neat/{v0 → _v0}/core/_data_model/importers/__init__.py +0 -0
  158. /cognite/neat/{v0 → _v0}/core/_data_model/importers/_rdf/__init__.py +0 -0
  159. /cognite/neat/{v0 → _v0}/core/_data_model/models/_base_unverified.py +0 -0
  160. /cognite/neat/{v0 → _v0}/core/_data_model/models/conceptual/__init__.py +0 -0
  161. /cognite/neat/{v0 → _v0}/core/_data_model/models/entities/__init__.py +0 -0
  162. /cognite/neat/{v0 → _v0}/core/_data_model/models/entities/_constants.py +0 -0
  163. /cognite/neat/{v0 → _v0}/core/_data_model/models/entities/_types.py +0 -0
  164. /cognite/neat/{v0 → _v0}/core/_data_model/models/entities/_wrapped.py +0 -0
  165. /cognite/neat/{v0 → _v0}/core/_data_model/models/mapping/__init__.py +0 -0
  166. /cognite/neat/{v0 → _v0}/core/_data_model/models/mapping/_classic2core.yaml +0 -0
  167. /cognite/neat/{v0 → _v0}/core/_data_model/transformers/__init__.py +0 -0
  168. /cognite/neat/{v0 → _v0}/core/_instances/__init__.py +0 -0
  169. /cognite/neat/{v0 → _v0}/core/_instances/_shared.py +0 -0
  170. /cognite/neat/{v0 → _v0}/core/_instances/_tracking/__init__.py +0 -0
  171. /cognite/neat/{v0 → _v0}/core/_instances/examples/Knowledge-Graph-Nordic44-dirty.xml +0 -0
  172. /cognite/neat/{v0 → _v0}/core/_instances/examples/Knowledge-Graph-Nordic44.xml +0 -0
  173. /cognite/neat/{v0 → _v0}/core/_instances/examples/__init__.py +0 -0
  174. /cognite/neat/{v0 → _v0}/core/_instances/examples/skos-capturing-sheet-wind-topics.xlsx +0 -0
  175. /cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/__init__.py +0 -0
  176. /cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_assets.py +0 -0
  177. /cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_data_sets.py +0 -0
  178. /cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_events.py +0 -0
  179. /cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_files.py +0 -0
  180. /cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_labels.py +0 -0
  181. /cognite/neat/{v0 → _v0}/core/_instances/extractors/_classic_cdf/_timeseries.py +0 -0
  182. /cognite/neat/{v0 → _v0}/core/_instances/loaders/__init__.py +0 -0
  183. /cognite/neat/{v0 → _v0}/core/_instances/queries/__init__.py +0 -0
  184. /cognite/neat/{v0 → _v0}/core/_instances/queries/_base.py +0 -0
  185. /cognite/neat/{v0 → _v0}/core/_instances/queries/_queries.py +0 -0
  186. /cognite/neat/{v0 → _v0}/core/_instances/transformers/__init__.py +0 -0
  187. /cognite/neat/{v0 → _v0}/core/_issues/__init__.py +0 -0
  188. /cognite/neat/{v0 → _v0}/core/_issues/formatters.py +0 -0
  189. /cognite/neat/{v0 → _v0}/core/_shared.py +0 -0
  190. /cognite/neat/{v0 → _v0}/core/_store/__init__.py +0 -0
  191. /cognite/neat/{v0 → _v0}/core/_utils/__init__.py +0 -0
  192. /cognite/neat/{v0 → _v0}/core/_utils/io_.py +0 -0
  193. /cognite/neat/{v0 → _v0}/core/_utils/reader/__init__.py +0 -0
  194. /cognite/neat/{v0 → _v0}/core/_utils/tarjan.py +0 -0
  195. /cognite/neat/{v0 → _v0}/core/_utils/time_.py +0 -0
  196. /cognite/neat/{v0 → _v0}/core/_utils/xml_.py +0 -0
  197. /cognite/neat/{v0/session → _v0}/engine/__init__.py +0 -0
  198. /cognite/neat/{v0/session → _v0}/engine/_import.py +0 -0
  199. /cognite/neat/{v0/session → _v0}/engine/_interface.py +0 -0
  200. /cognite/neat/{v0 → _v0}/plugins/__init__.py +0 -0
  201. /cognite/neat/{v0 → _v0}/plugins/_base.py +0 -0
  202. /cognite/neat/{v0 → _v0}/session/__init__.py +0 -0
  203. /cognite/neat/{v0 → _v0}/session/_experimental.py +0 -0
  204. /cognite/neat/{v0 → _v0}/session/_state/README.md +0 -0
  205. {cognite_neat-0.128.0.dist-info → cognite_neat-1.0.0.dist-info}/WHEEL +0 -0
  206. {cognite_neat-0.128.0.dist-info → cognite_neat-1.0.0.dist-info}/licenses/LICENSE +0 -0
cognite/neat/__init__.py CHANGED
@@ -1,6 +1,7 @@
1
- from cognite.neat.v0.core._utils.auth import get_cognite_client
2
- from cognite.neat.v0.session import NeatSession
1
+ from cognite.neat._v0.core._utils.auth import get_cognite_client
3
2
 
3
+ from ._config import NeatConfig
4
+ from ._session import NeatSession
4
5
  from ._version import __version__
5
6
 
6
- __all__ = ["NeatSession", "__version__", "get_cognite_client"]
7
+ __all__ = ["NeatConfig", "NeatSession", "__version__", "get_cognite_client"]
cognite/neat/_config.py CHANGED
@@ -1,9 +1,12 @@
1
1
  import sys
2
2
  from pathlib import Path
3
+ from typing import Any, Literal, TypeAlias
3
4
 
4
- from pydantic import BaseModel, Field
5
+ from pydantic import BaseModel, ConfigDict, Field
5
6
 
7
+ from cognite.neat._exceptions import UserInputError
6
8
  from cognite.neat._issues import ConsistencyError, ModelSyntaxError
9
+ from cognite.neat._utils.text import humanize_collection
7
10
  from cognite.neat._utils.useful_types import ModusOperandi
8
11
 
9
12
  if sys.version_info >= (3, 11):
@@ -11,8 +14,14 @@ if sys.version_info >= (3, 11):
11
14
  else:
12
15
  import tomli # type: ignore
13
16
 
17
+ PredefinedProfile: TypeAlias = Literal["legacy-additive", "legacy-rebuild", "deep-additive", "deep-rebuild"]
14
18
 
15
- class ValidationConfig(BaseModel, populate_by_name=True):
19
+
20
+ class ConfigModel(BaseModel):
21
+ model_config = ConfigDict(populate_by_name=True, validate_assignment=True)
22
+
23
+
24
+ class ValidationConfig(ConfigModel):
16
25
  """Validation configuration."""
17
26
 
18
27
  exclude: list[str] = Field(default_factory=list)
@@ -71,18 +80,45 @@ class ValidationConfig(BaseModel, populate_by_name=True):
71
80
  return f"Excluded Rules: {', '.join(self.exclude)}"
72
81
 
73
82
 
74
- class ModelingConfig(BaseModel, populate_by_name=True):
83
+ class ModelingConfig(ConfigModel):
75
84
  """Modeling configuration."""
76
85
 
77
86
  mode: ModusOperandi = "additive"
78
87
 
79
88
 
80
- class NeatConfig(BaseModel, populate_by_name=True):
89
+ class AlphaFlagConfig(ConfigModel):
90
+ """Alpha feature flags configuration."""
91
+
92
+ fix_validation_issues: bool = Field(
93
+ default=False,
94
+ description="If enabled, Neat will attempt to automatically fix certain validation issues in the data model.",
95
+ )
96
+
97
+ def __setattr__(self, key: str, value: Any) -> None:
98
+ """Set attribute value or raise AttributeError."""
99
+ if key in self.model_fields:
100
+ super().__setattr__(key, value)
101
+ else:
102
+ available_flags = humanize_collection(type(self).model_fields.keys())
103
+ raise UserInputError(f"Alpha flag '{key}' not found. Available flags: {available_flags}.")
104
+
105
+ def _repr_html_(self) -> str:
106
+ """HTML representation for Jupyter notebooks."""
107
+ lines = ["<b>Alpha Feature Flags:</b>"]
108
+ for field_name, field in type(self).model_fields.items():
109
+ value = getattr(self, field_name)
110
+ display = "Enabled" if value else "Disabled"
111
+ lines.append(f"<li><b>{field_name}</b>: {display} - {field.description}</li>")
112
+ return "<ul>" + "\n".join(lines) + "</ul>"
113
+
114
+
115
+ class NeatConfig(ConfigModel):
81
116
  """Configuration for a custom profile."""
82
117
 
83
118
  profile: str
84
119
  validation: ValidationConfig
85
120
  modeling: ModelingConfig
121
+ alpha: AlphaFlagConfig = Field(default_factory=AlphaFlagConfig)
86
122
 
87
123
  def __str__(self) -> str:
88
124
  """Human-readable configuration summary."""
@@ -93,8 +129,19 @@ class NeatConfig(BaseModel, populate_by_name=True):
93
129
  ]
94
130
  return "\n".join(lines)
95
131
 
132
+ @classmethod
133
+ def create_predefined(cls, profile: PredefinedProfile = "legacy-additive") -> "NeatConfig":
134
+ """Create NeatConfig from internal profiles."""
135
+ available_profiles = internal_profiles()
136
+ if profile not in available_profiles:
137
+ raise UserInputError(
138
+ f"Profile {profile!r} not found. Available predefined profiles: "
139
+ f"{humanize_collection(available_profiles.keys())}."
140
+ )
141
+ return available_profiles[profile]
142
+
96
143
 
97
- def internal_profiles() -> dict[str, NeatConfig]:
144
+ def internal_profiles() -> dict[PredefinedProfile, NeatConfig]:
98
145
  """Get internal NeatConfig profile by name."""
99
146
  return {
100
147
  "legacy-additive": NeatConfig(
@@ -136,7 +183,7 @@ def internal_profiles() -> dict[str, NeatConfig]:
136
183
  }
137
184
 
138
185
 
139
- def get_neat_config(config_file_name: str, profile: str) -> NeatConfig:
186
+ def get_neat_config_from_file(config_file_name: str, profile: str) -> NeatConfig:
140
187
  """Get NeatConfig from file or internal profiles.
141
188
 
142
189
  Args:
@@ -1,6 +1,6 @@
1
1
  from pydantic import HttpUrl, RootModel, ValidationError
2
2
 
3
- from cognite.neat.v0.core._utils.auxiliary import local_import
3
+ from cognite.neat._v0.core._utils.auxiliary import local_import
4
4
 
5
5
 
6
6
  class URI(RootModel[str]):
@@ -18,7 +18,7 @@ from traitlets import Any
18
18
  from cognite.neat._data_model.models.entities import ParsedEntity, parse_entities, parse_entity
19
19
  from cognite.neat._utils.text import title_case
20
20
  from cognite.neat._utils.useful_types import CellValueType
21
- from cognite.neat.v0.core._data_model.models.entities import (
21
+ from cognite.neat._v0.core._data_model.models.entities import (
22
22
  HasDataFilter,
23
23
  NodeTypeFilter,
24
24
  RawFilter,
@@ -4,7 +4,7 @@ from pydantic import Field, ValidationInfo, field_validator
4
4
 
5
5
  from cognite.neat._data_model.models.entities._constants import PREFIX_PATTERN, SUFFIX_PATTERN, VERSION_PATTERN
6
6
  from cognite.neat._utils.text import humanize_collection
7
- from cognite.neat.v0.core._data_model.models.entities._single_value import ConceptEntity
7
+ from cognite.neat._v0.core._data_model.models.entities._single_value import ConceptEntity
8
8
 
9
9
  from ._base import ResourceMetadata
10
10
  from ._concept import Concept
@@ -3,7 +3,7 @@ from abc import ABC
3
3
  from pydantic import Field, field_validator
4
4
 
5
5
  from cognite.neat._data_model.models.dms._references import SpaceReference
6
- from cognite.neat.v0.core._utils.text import humanize_collection
6
+ from cognite.neat._v0.core._utils.text import humanize_collection
7
7
 
8
8
  from ._base import APIResource, Resource, WriteableResource
9
9
  from ._constants import FORBIDDEN_SPACES, SPACE_FORMAT_PATTERN
@@ -1,6 +1,6 @@
1
1
  from pydantic import HttpUrl, RootModel, ValidationError
2
2
 
3
- from cognite.neat.v0.core._utils.auxiliary import local_import
3
+ from cognite.neat._v0.core._utils.auxiliary import local_import
4
4
 
5
5
 
6
6
  class URI(RootModel[str]):
@@ -1,11 +1,10 @@
1
1
  import json
2
- from typing import Literal
3
2
 
4
3
  from cognite.client import ClientConfig, CogniteClient
5
4
 
6
5
  from cognite.neat import _version
7
6
  from cognite.neat._client import NeatClient
8
- from cognite.neat._config import internal_profiles
7
+ from cognite.neat._config import NeatConfig, PredefinedProfile
9
8
  from cognite.neat._state_machine import EmptyState, PhysicalState
10
9
  from cognite.neat._store import NeatStore
11
10
  from cognite.neat._utils.http_client import ParametersRequest, SuccessResponse
@@ -20,24 +19,18 @@ class NeatSession:
20
19
  """A session is an interface for neat operations."""
21
20
 
22
21
  def __init__(
23
- self,
24
- client: CogniteClient | ClientConfig,
25
- config: Literal["legacy-additive", "legacy-rebuild", "deep-additive", "deep-rebuild"] | None = None,
22
+ self, client: CogniteClient | ClientConfig, config: PredefinedProfile | NeatConfig = "legacy-additive"
26
23
  ) -> None:
27
24
  """Initialize a Neat session.
28
25
 
29
26
  Args:
30
27
  client (CogniteClient | ClientConfig): The Cognite client or client configuration to use for the session.
31
- config (Literal["legacy-additive", "legacy-rebuild", "deep-additive", "deep-rebuild"] | None):
28
+ config (Literal["legacy-additive", "legacy-rebuild", "deep-additive", "deep-rebuild"] | NeatConfig):
32
29
  The configuration profile to use for the session.
33
- If None, the default profile "legacy-additive" is used. Meaning that Neat will perform additive modeling
34
- and apply only validations that were part of the legacy Neat version."""
35
-
36
- # Load configuration
37
- if config and config not in internal_profiles():
38
- raise ValueError(f"Profile '{config}' not found among internal profiles.")
39
-
40
- self._config = internal_profiles()[config or "legacy-additive"]
30
+ Defaults to "legacy-additive". This means Neat will perform additive modeling
31
+ and apply only validations that were part of the legacy Neat version.
32
+ """
33
+ self._config = NeatConfig.create_predefined(config) if isinstance(config, str) else config
41
34
 
42
35
  # Use configuration for physical data model
43
36
  self._store = NeatStore()
@@ -55,14 +55,14 @@ from cognite.client.data_classes.data_modeling.views import (
55
55
  from cognite.client.exceptions import CogniteAPIError
56
56
  from cognite.client.utils.useful_types import SequenceNotStr
57
57
 
58
- from cognite.neat.v0.core._client.data_classes.data_modeling import Component
59
- from cognite.neat.v0.core._client.data_classes.schema import DMSSchema
60
- from cognite.neat.v0.core._issues.warnings import CDFMaxIterationsWarning
61
- from cognite.neat.v0.core._shared import T_ID
62
- from cognite.neat.v0.core._utils.tarjan import tarjan
58
+ from cognite.neat._v0.core._client.data_classes.data_modeling import Component
59
+ from cognite.neat._v0.core._client.data_classes.schema import DMSSchema
60
+ from cognite.neat._v0.core._issues.warnings import CDFMaxIterationsWarning
61
+ from cognite.neat._v0.core._shared import T_ID
62
+ from cognite.neat._v0.core._utils.tarjan import tarjan
63
63
 
64
64
  if TYPE_CHECKING:
65
- from cognite.neat.v0.core._client._api_client import NeatClient
65
+ from cognite.neat._v0.core._client._api_client import NeatClient
66
66
 
67
67
  T_WritableCogniteResourceList = TypeVar("T_WritableCogniteResourceList", bound=WriteableCogniteResourceList)
68
68
 
@@ -7,13 +7,13 @@ from cognite.client.data_classes.filters import Filter
7
7
  from cognite.client.exceptions import CogniteAPIError
8
8
  from cognite.client.utils.useful_types import SequenceNotStr
9
9
 
10
- from cognite.neat.v0.core._constants import DMS_INSTANCE_LIMIT_MARGIN
11
- from cognite.neat.v0.core._issues import NeatIssue
12
- from cognite.neat.v0.core._issues.errors import WillExceedLimitError
13
- from cognite.neat.v0.core._issues.warnings import NeatValueWarning
10
+ from cognite.neat._v0.core._constants import DMS_INSTANCE_LIMIT_MARGIN
11
+ from cognite.neat._v0.core._issues import NeatIssue
12
+ from cognite.neat._v0.core._issues.errors import WillExceedLimitError
13
+ from cognite.neat._v0.core._issues.warnings import NeatValueWarning
14
14
 
15
15
  if TYPE_CHECKING:
16
- from cognite.neat.v0.core._client._api_client import NeatClient
16
+ from cognite.neat._v0.core._client._api_client import NeatClient
17
17
 
18
18
 
19
19
  class NeatInstancesAPI:
@@ -5,17 +5,17 @@ from typing import TYPE_CHECKING
5
5
 
6
6
  from cognite.client import data_modeling as dm
7
7
 
8
- from cognite.neat.v0.core._client.data_classes.data_modeling import (
8
+ from cognite.neat._v0.core._client.data_classes.data_modeling import (
9
9
  ContainerApplyDict,
10
10
  SpaceApplyDict,
11
11
  ViewApplyDict,
12
12
  )
13
- from cognite.neat.v0.core._client.data_classes.schema import DMSSchema
14
- from cognite.neat.v0.core._constants import is_hierarchy_property
15
- from cognite.neat.v0.core._issues.errors import NeatValueError
13
+ from cognite.neat._v0.core._client.data_classes.schema import DMSSchema
14
+ from cognite.neat._v0.core._constants import is_hierarchy_property
15
+ from cognite.neat._v0.core._issues.errors import NeatValueError
16
16
 
17
17
  if TYPE_CHECKING:
18
- from cognite.neat.v0.core._client._api_client import NeatClient
18
+ from cognite.neat._v0.core._client._api_client import NeatClient
19
19
 
20
20
 
21
21
  class SchemaAPI:
@@ -7,7 +7,7 @@ from cognite.client.config import ClientConfig
7
7
  from cognite.client.data_classes.data_modeling.ids import _load_space_identifier
8
8
  from cognite.client.utils.useful_types import SequenceNotStr
9
9
 
10
- from cognite.neat.v0.core._client.data_classes.statistics import (
10
+ from cognite.neat._v0.core._client.data_classes.statistics import (
11
11
  ProjectStatsAndLimits,
12
12
  SpaceInstanceCounts,
13
13
  SpaceInstanceCountsList,
@@ -34,7 +34,7 @@ class StatisticsAPI(APIClient):
34
34
  Examples:
35
35
  Fetch project statistics (and limits) and check the current number of data models vs.
36
36
  and how many more can be created:
37
- >>> from cognite.neat.v0.core._client import NeatClient
37
+ >>> from cognite.neat._v0.core._client import NeatClient
38
38
  >>> client = NeatClient()
39
39
  >>> stats = client.instance_statistics.project()
40
40
  >>> num_dm = stats.data_models.current
@@ -64,7 +64,7 @@ class StatisticsAPI(APIClient):
64
64
 
65
65
  Examples:
66
66
  Fetch statistics for a single space:
67
- >>> from cognite.neat.v0.core._client import NeatClient
67
+ >>> from cognite.neat._v0.core._client import NeatClient
68
68
  >>> client = NeatClient()
69
69
  >>> res = client.instance_statistics.list("my-space")
70
70
  Fetch statistics for multiple spaces:
@@ -1,6 +1,6 @@
1
1
  from cognite.client import ClientConfig, CogniteClient
2
2
 
3
- from cognite.neat.v0.core._utils.auth import _CLIENT_NAME
3
+ from cognite.neat._v0.core._utils.auth import _CLIENT_NAME
4
4
 
5
5
  from ._api.data_modeling_loaders import DataModelLoaderAPI
6
6
  from ._api.neat_instances import NeatInstancesAPI
@@ -20,21 +20,21 @@ from cognite.client.data_classes.data_modeling.views import (
20
20
  ViewPropertyApply,
21
21
  )
22
22
 
23
- from cognite.neat.v0.core._client.data_classes.data_modeling import (
23
+ from cognite.neat._v0.core._client.data_classes.data_modeling import (
24
24
  CogniteResourceDict,
25
25
  ContainerApplyDict,
26
26
  NodeApplyDict,
27
27
  SpaceApplyDict,
28
28
  ViewApplyDict,
29
29
  )
30
- from cognite.neat.v0.core._issues.errors import (
30
+ from cognite.neat._v0.core._issues.errors import (
31
31
  NeatYamlError,
32
32
  )
33
- from cognite.neat.v0.core._issues.warnings import (
33
+ from cognite.neat._v0.core._issues.warnings import (
34
34
  FileTypeUnexpectedWarning,
35
35
  ResourcesDuplicatedWarning,
36
36
  )
37
- from cognite.neat.v0.core._utils.text import to_camel_case
37
+ from cognite.neat._v0.core._utils.text import to_camel_case
38
38
 
39
39
  if sys.version_info >= (3, 11):
40
40
  from typing import Self
@@ -5,7 +5,7 @@ from unittest.mock import MagicMock
5
5
 
6
6
  from cognite.client.testing import CogniteClientMock
7
7
 
8
- from cognite.neat.v0.core._client._api_client import NeatClient
8
+ from cognite.neat._v0.core._client._api_client import NeatClient
9
9
 
10
10
  from ._api.data_modeling_loaders import DataModelLoaderAPI
11
11
  from ._api.neat_instances import NeatInstancesAPI
@@ -11,7 +11,7 @@ from rdflib.namespace import DefinedNamespace
11
11
  from cognite import neat
12
12
 
13
13
  if TYPE_CHECKING:
14
- from cognite.neat.v0.core._data_model.models.physical import PhysicalProperty
14
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalProperty
15
15
 
16
16
 
17
17
  def _is_in_notebook() -> bool:
@@ -204,7 +204,7 @@ BASE_MODEL = Literal["CogniteCore"]
204
204
 
205
205
  def get_asset_read_only_properties_with_connection() -> "list[PhysicalProperty]":
206
206
  """Gets the asset read-only properties with connection, i.e. Root and Path."""
207
- from cognite.neat.v0.core._data_model.models.physical import PhysicalProperty
207
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalProperty
208
208
 
209
209
  return [PhysicalProperty.model_validate(item) for item in (_ASSET_ROOT_PROPERTY, _ASSET_PATH_PROPERTY)]
210
210
 
@@ -219,7 +219,7 @@ def get_base_concepts(
219
219
  total_concepts: The number of concepts to get. If None, all concepts are returned.
220
220
  """
221
221
  # Local import to avoid circular dependency issues
222
- from cognite.neat.v0.core._issues.errors._general import NeatValueError
222
+ from cognite.neat._v0.core._issues.errors._general import NeatValueError
223
223
 
224
224
  if base_model == "CogniteCore":
225
225
  return [f"cdf_cdm:{concept}(version=v1)" for concept in COGNITE_CONCEPTS][:total_concepts]
@@ -1,15 +1,15 @@
1
1
  from dataclasses import dataclass
2
2
  from typing import Generic, TypeAlias, TypeVar
3
3
 
4
- from cognite.neat.v0.core._data_model.models import (
4
+ from cognite.neat._v0.core._data_model.models import (
5
5
  ConceptualDataModel,
6
6
  PhysicalDataModel,
7
7
  )
8
- from cognite.neat.v0.core._data_model.models._import_contexts import ImportContext
9
- from cognite.neat.v0.core._data_model.models.conceptual._unverified import (
8
+ from cognite.neat._v0.core._data_model.models._import_contexts import ImportContext
9
+ from cognite.neat._v0.core._data_model.models.conceptual._unverified import (
10
10
  UnverifiedConceptualDataModel,
11
11
  )
12
- from cognite.neat.v0.core._data_model.models.physical._unverified import (
12
+ from cognite.neat._v0.core._data_model.models.physical._unverified import (
13
13
  UnverifiedPhysicalDataModel,
14
14
  )
15
15
 
@@ -11,23 +11,23 @@ import pandas as pd
11
11
  from cognite.client import data_modeling as dm
12
12
  from rdflib import URIRef
13
13
 
14
- from cognite.neat.v0.core._data_model.models import ConceptualDataModel, PhysicalDataModel
15
- from cognite.neat.v0.core._data_model.models.conceptual import (
14
+ from cognite.neat._v0.core._data_model.models import ConceptualDataModel, PhysicalDataModel
15
+ from cognite.neat._v0.core._data_model.models.conceptual import (
16
16
  Concept,
17
17
  ConceptualProperty,
18
18
  )
19
- from cognite.neat.v0.core._data_model.models.entities import (
19
+ from cognite.neat._v0.core._data_model.models.entities import (
20
20
  ConceptEntity,
21
21
  MultiValueTypeInfo,
22
22
  ViewEntity,
23
23
  )
24
- from cognite.neat.v0.core._data_model.models.entities._single_value import (
24
+ from cognite.neat._v0.core._data_model.models.entities._single_value import (
25
25
  UnknownEntity,
26
26
  )
27
- from cognite.neat.v0.core._data_model.models.physical import PhysicalProperty
28
- from cognite.neat.v0.core._data_model.models.physical._verified import PhysicalView
29
- from cognite.neat.v0.core._issues.errors import NeatValueError
30
- from cognite.neat.v0.core._issues.warnings import NeatValueWarning
27
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalProperty
28
+ from cognite.neat._v0.core._data_model.models.physical._verified import PhysicalView
29
+ from cognite.neat._v0.core._issues.errors import NeatValueError
30
+ from cognite.neat._v0.core._issues.warnings import NeatValueWarning
31
31
 
32
32
  T_Hashable = TypeVar("T_Hashable", bound=Hashable)
33
33
 
@@ -5,14 +5,14 @@ from pathlib import Path
5
5
  from types import UnionType
6
6
  from typing import TYPE_CHECKING, Generic, TypeVar, Union, get_args, get_origin
7
7
 
8
- from cognite.neat.v0.core._client import NeatClient
9
- from cognite.neat.v0.core._constants import DEFAULT_NAMESPACE
10
- from cognite.neat.v0.core._data_model._shared import T_VerifiedDataModel
11
- from cognite.neat.v0.core._utils.auxiliary import class_html_doc
12
- from cognite.neat.v0.core._utils.upload import UploadResult, UploadResultList
8
+ from cognite.neat._v0.core._client import NeatClient
9
+ from cognite.neat._v0.core._constants import DEFAULT_NAMESPACE
10
+ from cognite.neat._v0.core._data_model._shared import T_VerifiedDataModel
11
+ from cognite.neat._v0.core._utils.auxiliary import class_html_doc
12
+ from cognite.neat._v0.core._utils.upload import UploadResult, UploadResultList
13
13
 
14
14
  if TYPE_CHECKING:
15
- from cognite.neat.v0.core._store._provenance import Agent as ProvenanceAgent
15
+ from cognite.neat._v0.core._store._provenance import Agent as ProvenanceAgent
16
16
 
17
17
  T_Export = TypeVar("T_Export")
18
18
 
@@ -36,7 +36,7 @@ class BaseExporter(ABC, Generic[T_VerifiedDataModel, T_Export]):
36
36
  @property
37
37
  def agent(self) -> "ProvenanceAgent":
38
38
  """Provenance agent for the importer."""
39
- from cognite.neat.v0.core._store._provenance import Agent as ProvenanceAgent
39
+ from cognite.neat._v0.core._store._provenance import Agent as ProvenanceAgent
40
40
 
41
41
  return ProvenanceAgent(id_=DEFAULT_NAMESPACE[f"agent/{type(self).__name__}"])
42
42
 
@@ -18,24 +18,24 @@ from cognite.client.data_classes.data_modeling import (
18
18
  )
19
19
  from cognite.client.exceptions import CogniteAPIError
20
20
 
21
- from cognite.neat.v0.core._client import DataModelingLoader, NeatClient
22
- from cognite.neat.v0.core._client._api.data_modeling_loaders import (
21
+ from cognite.neat._v0.core._client import DataModelingLoader, NeatClient
22
+ from cognite.neat._v0.core._client._api.data_modeling_loaders import (
23
23
  MultiCogniteAPIError,
24
24
  T_WritableCogniteResourceList,
25
25
  )
26
- from cognite.neat.v0.core._client.data_classes.data_modeling import (
26
+ from cognite.neat._v0.core._client.data_classes.data_modeling import (
27
27
  Component,
28
28
  ViewApplyDict,
29
29
  )
30
- from cognite.neat.v0.core._client.data_classes.schema import DMSSchema
31
- from cognite.neat.v0.core._data_model.models.physical import PhysicalDataModel
32
- from cognite.neat.v0.core._issues import IssueList
33
- from cognite.neat.v0.core._issues.warnings import (
30
+ from cognite.neat._v0.core._client.data_classes.schema import DMSSchema
31
+ from cognite.neat._v0.core._data_model.models.physical import PhysicalDataModel
32
+ from cognite.neat._v0.core._issues import IssueList
33
+ from cognite.neat._v0.core._issues.warnings import (
34
34
  PrincipleOneModelOneSpaceWarning,
35
35
  ResourceRetrievalWarning,
36
36
  )
37
- from cognite.neat.v0.core._shared import T_ID
38
- from cognite.neat.v0.core._utils.upload import UploadResult
37
+ from cognite.neat._v0.core._shared import T_ID
38
+ from cognite.neat._v0.core._utils.upload import UploadResult
39
39
 
40
40
  from ._base import CDFExporter
41
41
 
@@ -14,24 +14,24 @@ from openpyxl.worksheet.datavalidation import DataValidation
14
14
  from openpyxl.worksheet.worksheet import Worksheet
15
15
  from rdflib import Namespace
16
16
 
17
- from cognite.neat.v0.core._constants import BASE_MODEL, get_base_concepts
18
- from cognite.neat.v0.core._data_model._constants import get_internal_properties
19
- from cognite.neat.v0.core._data_model._shared import VerifiedDataModel
20
- from cognite.neat.v0.core._data_model.models import (
17
+ from cognite.neat._v0.core._constants import BASE_MODEL, get_base_concepts
18
+ from cognite.neat._v0.core._data_model._constants import get_internal_properties
19
+ from cognite.neat._v0.core._data_model._shared import VerifiedDataModel
20
+ from cognite.neat._v0.core._data_model.models import (
21
21
  SheetRow,
22
22
  )
23
- from cognite.neat.v0.core._data_model.models._base_verified import (
23
+ from cognite.neat._v0.core._data_model.models._base_verified import (
24
24
  BaseVerifiedMetadata,
25
25
  RoleTypes,
26
26
  )
27
- from cognite.neat.v0.core._data_model.models.conceptual._verified import (
27
+ from cognite.neat._v0.core._data_model.models.conceptual._verified import (
28
28
  ConceptualDataModel,
29
29
  )
30
- from cognite.neat.v0.core._data_model.models.data_types import (
30
+ from cognite.neat._v0.core._data_model.models.data_types import (
31
31
  _DATA_TYPE_BY_DMS_TYPE,
32
32
  )
33
- from cognite.neat.v0.core._data_model.models.physical._verified import PhysicalDataModel
34
- from cognite.neat.v0.core._utils.spreadsheet import (
33
+ from cognite.neat._v0.core._data_model.models.physical._verified import PhysicalDataModel
34
+ from cognite.neat._v0.core._utils.spreadsheet import (
35
35
  find_column_and_row_with_value,
36
36
  generate_data_validation,
37
37
  )
@@ -8,12 +8,12 @@ from openpyxl.styles import Alignment, Border, Font, NamedStyle, PatternFill, Si
8
8
  from openpyxl.utils import get_column_letter
9
9
  from openpyxl.worksheet.datavalidation import DataValidation
10
10
 
11
- from cognite.neat.v0.core._data_model._constants import EntityTypes
12
- from cognite.neat.v0.core._data_model.analysis import DataModelAnalysis
13
- from cognite.neat.v0.core._data_model.models.conceptual._verified import (
11
+ from cognite.neat._v0.core._data_model._constants import EntityTypes
12
+ from cognite.neat._v0.core._data_model.analysis import DataModelAnalysis
13
+ from cognite.neat._v0.core._data_model.models.conceptual._verified import (
14
14
  ConceptualDataModel,
15
15
  )
16
- from cognite.neat.v0.core._data_model.models.entities._single_value import ConceptEntity
16
+ from cognite.neat._v0.core._data_model.models.entities._single_value import ConceptEntity
17
17
 
18
18
  from ._base import BaseExporter
19
19
 
@@ -8,22 +8,22 @@ from pydantic import BaseModel, ConfigDict, ValidationInfo, field_validator
8
8
  from rdflib import DCTERMS, OWL, RDF, RDFS, XSD, BNode, Graph, Literal, Namespace, URIRef
9
9
  from rdflib.collection import Collection as GraphCollection
10
10
 
11
- from cognite.neat.v0.core._constants import DEFAULT_NAMESPACE as NEAT_NAMESPACE
12
- from cognite.neat.v0.core._data_model._constants import EntityTypes
13
- from cognite.neat.v0.core._data_model.analysis import DataModelAnalysis
14
- from cognite.neat.v0.core._data_model.models.conceptual import (
11
+ from cognite.neat._v0.core._constants import DEFAULT_NAMESPACE as NEAT_NAMESPACE
12
+ from cognite.neat._v0.core._data_model._constants import EntityTypes
13
+ from cognite.neat._v0.core._data_model.analysis import DataModelAnalysis
14
+ from cognite.neat._v0.core._data_model.models.conceptual import (
15
15
  Concept,
16
16
  ConceptualDataModel,
17
17
  ConceptualMetadata,
18
18
  ConceptualProperty,
19
19
  )
20
- from cognite.neat.v0.core._data_model.models.data_types import DataType
21
- from cognite.neat.v0.core._data_model.models.entities import ConceptEntity
22
- from cognite.neat.v0.core._issues.errors import (
20
+ from cognite.neat._v0.core._data_model.models.data_types import DataType
21
+ from cognite.neat._v0.core._data_model.models.entities import ConceptEntity
22
+ from cognite.neat._v0.core._issues.errors import (
23
23
  PropertyDefinitionDuplicatedError,
24
24
  )
25
- from cognite.neat.v0.core._issues.warnings import PropertyDefinitionDuplicatedWarning
26
- from cognite.neat.v0.core._utils.rdf_ import remove_namespace_from_uri
25
+ from cognite.neat._v0.core._issues.warnings import PropertyDefinitionDuplicatedWarning
26
+ from cognite.neat._v0.core._utils.rdf_ import remove_namespace_from_uri
27
27
 
28
28
  from ._base import BaseExporter
29
29
 
@@ -5,7 +5,7 @@ from typing import Literal, get_args
5
5
 
6
6
  import yaml
7
7
 
8
- from cognite.neat.v0.core._data_model._shared import VerifiedDataModel
8
+ from cognite.neat._v0.core._data_model._shared import VerifiedDataModel
9
9
 
10
10
  from ._base import BaseExporter
11
11
 
@@ -5,15 +5,15 @@ from typing import TYPE_CHECKING, Any, Generic
5
5
 
6
6
  from rdflib import URIRef
7
7
 
8
- from cognite.neat.v0.core._constants import DEFAULT_NAMESPACE
9
- from cognite.neat.v0.core._data_model._shared import (
8
+ from cognite.neat._v0.core._constants import DEFAULT_NAMESPACE
9
+ from cognite.neat._v0.core._data_model._shared import (
10
10
  ImportedDataModel,
11
11
  T_UnverifiedDataModel,
12
12
  )
13
- from cognite.neat.v0.core._utils.auxiliary import class_html_doc
13
+ from cognite.neat._v0.core._utils.auxiliary import class_html_doc
14
14
 
15
15
  if TYPE_CHECKING:
16
- from cognite.neat.v0.core._store._provenance import Agent as ProvenanceAgent
16
+ from cognite.neat._v0.core._store._provenance import Agent as ProvenanceAgent
17
17
 
18
18
 
19
19
  class BaseImporter(ABC, Generic[T_UnverifiedDataModel]):
@@ -51,7 +51,7 @@ class BaseImporter(ABC, Generic[T_UnverifiedDataModel]):
51
51
  @property
52
52
  def agent(self) -> "ProvenanceAgent":
53
53
  """Provenance agent for the importer."""
54
- from cognite.neat.v0.core._store._provenance import Agent as ProvenanceAgent
54
+ from cognite.neat._v0.core._store._provenance import Agent as ProvenanceAgent
55
55
 
56
56
  return ProvenanceAgent(id_=DEFAULT_NAMESPACE[f"agent/{type(self).__name__}"])
57
57
 
@@ -1,8 +1,8 @@
1
1
  from pathlib import Path
2
2
  from typing import Protocol, TypeVar
3
3
 
4
- from cognite.neat.v0.core._issues import NeatIssue
5
- from cognite.neat.v0.core._issues.errors import (
4
+ from cognite.neat._v0.core._issues import NeatIssue
5
+ from cognite.neat._v0.core._issues.errors import (
6
6
  FileNotAFileError,
7
7
  FileNotFoundNeatError,
8
8
  FileTypeUnexpectedError,