Skip to content

Commit 66f3c1b

Browse files
DarthMaxFlorentinD
andcommitted
Introduce shared GdsBaseModel
Co-authored-by: Florentin Dörre <[email protected]>
1 parent 27a9ba8 commit 66f3c1b

File tree

10 files changed

+39
-123
lines changed

10 files changed

+39
-123
lines changed

graphdatascience/arrow_client/arrow_base_model.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
from typing import Any
22

3-
from pydantic import BaseModel, ConfigDict
3+
from pydantic import BaseModel
44
from pydantic.alias_generators import to_camel
55

66

7-
class ArrowBaseModel(BaseModel):
8-
model_config = ConfigDict(alias_generator=to_camel)
9-
7+
class ArrowBaseModel(BaseModel, alias_generator=to_camel):
108
def dump_camel(self) -> dict[str, Any]:
119
return self.model_dump(by_alias=True)
1210

graphdatascience/procedure_surface/api/catalog_endpoints.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
from datetime import datetime
66
from typing import Any, List, Optional, Union
77

8-
from pydantic import BaseModel, ConfigDict, Field, field_validator
9-
from pydantic.alias_generators import to_camel
8+
from pydantic import Field, field_validator
109

1110
from graphdatascience import Graph
11+
from graphdatascience.procedure_surface.utils.GdsBaseModel import GdsBaseModel
1212

1313

1414
class CatalogEndpoints(ABC):
@@ -66,9 +66,7 @@ def filter(
6666
pass
6767

6868

69-
class GraphListResult(BaseModel):
70-
model_config = ConfigDict(alias_generator=to_camel)
71-
69+
class GraphListResult(GdsBaseModel):
7270
graph_name: str
7371
database: str
7472
database_location: str
@@ -91,9 +89,7 @@ def strip_timezone(cls, value: Any) -> Any:
9189
return value
9290

9391

94-
class GraphFilterResult(BaseModel):
95-
model_config = ConfigDict(alias_generator=to_camel)
96-
92+
class GraphFilterResult(GdsBaseModel):
9793
graph_name: str
9894
from_graph_name: str
9995
node_filter: str

graphdatascience/procedure_surface/api/estimation_result.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,10 @@
22

33
from typing import Any
44

5-
from pydantic import BaseModel, ConfigDict
6-
from pydantic.alias_generators import to_camel
5+
from graphdatascience.procedure_surface.utils.GdsBaseModel import GdsBaseModel
76

87

9-
class EstimationResult(BaseModel):
10-
model_config = ConfigDict(alias_generator=to_camel)
11-
8+
class EstimationResult(GdsBaseModel):
129
node_count: int
1310
relationship_count: int
1411
required_memory: str
@@ -19,9 +16,6 @@ class EstimationResult(BaseModel):
1916
heap_percentage_min: float
2017
heap_percentage_max: float
2118

22-
def __getitem__(self, item: str) -> Any:
23-
return getattr(self, item)
24-
2519
@staticmethod
2620
def from_cypher(cypher_result: dict[str, Any]) -> EstimationResult:
2721
return EstimationResult(**cypher_result)

graphdatascience/procedure_surface/api/k1coloring_endpoints.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
from typing import Any, List, Optional
55

66
from pandas import DataFrame
7-
from pydantic import BaseModel, ConfigDict
8-
from pydantic.alias_generators import to_camel
97

108
from ...graph.graph_object import Graph
9+
from ..utils.GdsBaseModel import GdsBaseModel
1110
from .estimation_result import EstimationResult
1211

1312

@@ -245,9 +244,7 @@ def estimate(
245244
pass
246245

247246

248-
class K1ColoringMutateResult(BaseModel):
249-
model_config = ConfigDict(alias_generator=to_camel)
250-
247+
class K1ColoringMutateResult(GdsBaseModel):
251248
node_count: int
252249
color_count: int
253250
ran_iterations: int
@@ -257,13 +254,8 @@ class K1ColoringMutateResult(BaseModel):
257254
mutate_millis: int
258255
configuration: dict[str, Any]
259256

260-
def __getitem__(self, item: str) -> Any:
261-
return getattr(self, item)
262-
263-
264-
class K1ColoringStatsResult(BaseModel):
265-
model_config = ConfigDict(alias_generator=to_camel)
266257

258+
class K1ColoringStatsResult(GdsBaseModel):
267259
node_count: int
268260
color_count: int
269261
ran_iterations: int
@@ -272,13 +264,8 @@ class K1ColoringStatsResult(BaseModel):
272264
compute_millis: int
273265
configuration: dict[str, Any]
274266

275-
def __getitem__(self, item: str) -> Any:
276-
return getattr(self, item)
277-
278-
279-
class K1ColoringWriteResult(BaseModel):
280-
model_config = ConfigDict(alias_generator=to_camel)
281267

268+
class K1ColoringWriteResult(GdsBaseModel):
282269
node_count: int
283270
color_count: int
284271
ran_iterations: int
@@ -287,6 +274,3 @@ class K1ColoringWriteResult(BaseModel):
287274
compute_millis: int
288275
write_millis: int
289276
configuration: dict[str, Any]
290-
291-
def __getitem__(self, item: str) -> Any:
292-
return getattr(self, item)

graphdatascience/procedure_surface/api/kcore_endpoints.py

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
from typing import Any, List, Optional
55

66
from pandas import DataFrame
7-
from pydantic import BaseModel, ConfigDict
8-
from pydantic.alias_generators import to_camel
97

108
from ...graph.graph_object import Graph
9+
from ..utils.GdsBaseModel import GdsBaseModel
1110
from .estimation_result import EstimationResult
1211

1312

@@ -219,9 +218,7 @@ def estimate(
219218
pass
220219

221220

222-
class KCoreMutateResult(BaseModel):
223-
model_config = ConfigDict(alias_generator=to_camel)
224-
221+
class KCoreMutateResult(GdsBaseModel):
225222
node_properties_written: int
226223
degeneracy: int
227224
pre_processing_millis: int
@@ -230,13 +227,8 @@ class KCoreMutateResult(BaseModel):
230227
mutate_millis: int
231228
configuration: dict[str, Any]
232229

233-
def __getitem__(self, item: str) -> Any:
234-
return getattr(self, item)
235-
236-
237-
class KCoreStatsResult(BaseModel):
238-
model_config = ConfigDict(alias_generator=to_camel)
239230

231+
class KCoreStatsResult(GdsBaseModel):
240232
degeneracy: int
241233
pre_processing_millis: int
242234
compute_millis: int
@@ -247,16 +239,11 @@ def __getitem__(self, item: str) -> Any:
247239
return getattr(self, item)
248240

249241

250-
class KCoreWriteResult(BaseModel):
251-
model_config = ConfigDict(alias_generator=to_camel)
252-
242+
class KCoreWriteResult(GdsBaseModel):
253243
node_properties_written: int
254244
degeneracy: int
255245
pre_processing_millis: int
256246
compute_millis: int
257247
post_processing_millis: int
258248
write_millis: int
259249
configuration: dict[str, Any]
260-
261-
def __getitem__(self, item: str) -> Any:
262-
return getattr(self, item)

graphdatascience/procedure_surface/api/louvain_endpoints.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
from typing import Any, List, Optional
55

66
from pandas import DataFrame
7-
from pydantic import BaseModel, ConfigDict
8-
from pydantic.alias_generators import to_camel
97

108
from ...graph.graph_object import Graph
9+
from ..utils.GdsBaseModel import GdsBaseModel
1110
from .estimation_result import EstimationResult
1211

1312

@@ -305,9 +304,7 @@ def estimate(
305304
pass
306305

307306

308-
class LouvainMutateResult(BaseModel):
309-
model_config = ConfigDict(alias_generator=to_camel)
310-
307+
class LouvainMutateResult(GdsBaseModel):
311308
modularity: float
312309
modularities: List[Any]
313310
ran_levels: int
@@ -320,13 +317,8 @@ class LouvainMutateResult(BaseModel):
320317
node_properties_written: int
321318
configuration: dict[str, Any]
322319

323-
def __getitem__(self, item: str) -> Any:
324-
return getattr(self, item)
325-
326-
327-
class LouvainStatsResult(BaseModel):
328-
model_config = ConfigDict(alias_generator=to_camel)
329320

321+
class LouvainStatsResult(GdsBaseModel):
330322
modularity: float
331323
modularities: List[Any]
332324
ran_levels: int
@@ -337,13 +329,8 @@ class LouvainStatsResult(BaseModel):
337329
post_processing_millis: int
338330
configuration: dict[str, Any]
339331

340-
def __getitem__(self, item: str) -> Any:
341-
return getattr(self, item)
342-
343-
344-
class LouvainWriteResult(BaseModel):
345-
model_config = ConfigDict(alias_generator=to_camel)
346332

333+
class LouvainWriteResult(GdsBaseModel):
347334
modularity: float
348335
modularities: List[Any]
349336
ran_levels: int
@@ -355,6 +342,3 @@ class LouvainWriteResult(BaseModel):
355342
write_millis: int
356343
node_properties_written: int
357344
configuration: dict[str, Any]
358-
359-
def __getitem__(self, item: str) -> Any:
360-
return getattr(self, item)

graphdatascience/procedure_surface/api/scc_endpoints.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
from typing import Any, List, Optional
55

66
from pandas import DataFrame
7-
from pydantic import BaseModel, ConfigDict
8-
from pydantic.alias_generators import to_camel
97

108
from ...graph.graph_object import Graph
9+
from ..utils.GdsBaseModel import GdsBaseModel
1110
from .estimation_result import EstimationResult
1211

1312

@@ -227,9 +226,7 @@ def estimate(
227226
pass
228227

229228

230-
class SccMutateResult(BaseModel):
231-
model_config = ConfigDict(alias_generator=to_camel)
232-
229+
class SccMutateResult(GdsBaseModel):
233230
component_count: int
234231
component_distribution: dict[str, Any]
235232
pre_processing_millis: int
@@ -239,27 +236,17 @@ class SccMutateResult(BaseModel):
239236
node_properties_written: int
240237
configuration: dict[str, Any]
241238

242-
def __getitem__(self, item: str) -> Any:
243-
return getattr(self, item)
244-
245-
246-
class SccStatsResult(BaseModel):
247-
model_config = ConfigDict(alias_generator=to_camel)
248239

240+
class SccStatsResult(GdsBaseModel):
249241
component_count: int
250242
component_distribution: dict[str, Any]
251243
pre_processing_millis: int
252244
compute_millis: int
253245
post_processing_millis: int
254246
configuration: dict[str, Any]
255247

256-
def __getitem__(self, item: str) -> Any:
257-
return getattr(self, item)
258-
259-
260-
class SccWriteResult(BaseModel):
261-
model_config = ConfigDict(alias_generator=to_camel)
262248

249+
class SccWriteResult(GdsBaseModel):
263250
component_count: int
264251
component_distribution: dict[str, Any]
265252
pre_processing_millis: int
@@ -268,6 +255,3 @@ class SccWriteResult(BaseModel):
268255
post_processing_millis: int
269256
node_properties_written: int
270257
configuration: dict[str, Any]
271-
272-
def __getitem__(self, item: str) -> Any:
273-
return getattr(self, item)

graphdatascience/procedure_surface/api/wcc_endpoints.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
from typing import Any, List, Optional
55

66
from pandas import DataFrame
7-
from pydantic import BaseModel, ConfigDict
8-
from pydantic.alias_generators import to_camel
97

108
from ...graph.graph_object import Graph
9+
from ..utils.GdsBaseModel import GdsBaseModel
1110
from .estimation_result import EstimationResult
1211

1312

@@ -267,9 +266,7 @@ def estimate(
267266
pass
268267

269268

270-
class WccMutateResult(BaseModel):
271-
model_config = ConfigDict(alias_generator=to_camel)
272-
269+
class WccMutateResult(GdsBaseModel):
273270
component_count: int
274271
component_distribution: dict[str, Any]
275272
pre_processing_millis: int
@@ -279,27 +276,17 @@ class WccMutateResult(BaseModel):
279276
node_properties_written: int
280277
configuration: dict[str, Any]
281278

282-
def __getitem__(self, item: str) -> Any:
283-
return getattr(self, item)
284-
285-
286-
class WccStatsResult(BaseModel):
287-
model_config = ConfigDict(alias_generator=to_camel)
288279

280+
class WccStatsResult(GdsBaseModel):
289281
component_count: int
290282
component_distribution: dict[str, Any]
291283
pre_processing_millis: int
292284
compute_millis: int
293285
post_processing_millis: int
294286
configuration: dict[str, Any]
295287

296-
def __getitem__(self, item: str) -> Any:
297-
return getattr(self, item)
298-
299-
300-
class WccWriteResult(BaseModel):
301-
model_config = ConfigDict(alias_generator=to_camel)
302288

289+
class WccWriteResult(GdsBaseModel):
303290
component_count: int
304291
component_distribution: dict[str, Any]
305292
pre_processing_millis: int
@@ -308,6 +295,3 @@ class WccWriteResult(BaseModel):
308295
post_processing_millis: int
309296
node_properties_written: int
310297
configuration: dict[str, Any]
311-
312-
def __getitem__(self, item: str) -> Any:
313-
return getattr(self, item)

0 commit comments

Comments
 (0)