3131
3232import importlib
3333import logging
34- from typing import (
35- Any ,
36- ClassVar ,
37- Generic ,
38- Optional ,
39- TypeVar ,
40- Union ,
41- cast ,
42- )
34+ from typing import Any , ClassVar , Generic , Optional , TypeVar , Union , cast
4335
4436import neo4j
4537from pydantic import (
5850from neo4j_graphrag .llm import LLMInterface
5951from neo4j_graphrag .utils .validation import issubclass_safe
6052
61-
6253logger = logging .getLogger (__name__ )
6354
6455
@@ -73,7 +64,7 @@ class ObjectConfig(AbstractConfig, Generic[T]):
7364 and its constructor parameters.
7465 """
7566
76- class_ : str | None = Field (default = None , validate_default = True )
67+ class_ : Optional [ str ] = Field (default = None , validate_default = True )
7768 """Path to class to be instantiated."""
7869 params_ : dict [str , ParamConfig ] = {}
7970 """Initialization parameters."""
@@ -128,7 +119,7 @@ def _get_class(cls, class_path: str, optional_module: Optional[str] = None) -> t
128119 raise ValueError (f"Could not find { class_name } in { module_name } " )
129120 return cast (type , klass )
130121
131- def parse (self , resolved_data : dict [str , Any ] | None = None ) -> T :
122+ def parse (self , resolved_data : Optional [ dict [str , Any ]] = None ) -> T :
132123 """Import `class_`, resolve `params_` and instantiate object."""
133124 self ._global_data = resolved_data or {}
134125 logger .debug (f"OBJECT_CONFIG: parsing { self } using { resolved_data } " )
@@ -162,7 +153,7 @@ def validate_class(cls, class_: Any) -> str:
162153 # not used
163154 return "not used"
164155
165- def parse (self , resolved_data : dict [str , Any ] | None = None ) -> neo4j .Driver :
156+ def parse (self , resolved_data : Optional [ dict [str , Any ]] = None ) -> neo4j .Driver :
166157 params = self .resolve_params (self .params_ )
167158 # we know these params are there because of the required params validator
168159 uri = params .pop ("uri" )
@@ -185,7 +176,7 @@ class Neo4jDriverType(RootModel): # type: ignore[type-arg]
185176
186177 model_config = ConfigDict (arbitrary_types_allowed = True )
187178
188- def parse (self , resolved_data : dict [str , Any ] | None = None ) -> neo4j .Driver :
179+ def parse (self , resolved_data : Optional [ dict [str , Any ]] = None ) -> neo4j .Driver :
189180 if isinstance (self .root , neo4j .Driver ):
190181 return self .root
191182 # self.root is a Neo4jDriverConfig object
@@ -212,7 +203,7 @@ class LLMType(RootModel): # type: ignore[type-arg]
212203
213204 model_config = ConfigDict (arbitrary_types_allowed = True )
214205
215- def parse (self , resolved_data : dict [str , Any ] | None = None ) -> LLMInterface :
206+ def parse (self , resolved_data : Optional [ dict [str , Any ]] = None ) -> LLMInterface :
216207 if isinstance (self .root , LLMInterface ):
217208 return self .root
218209 return self .root .parse (resolved_data )
@@ -238,7 +229,7 @@ class EmbedderType(RootModel): # type: ignore[type-arg]
238229
239230 model_config = ConfigDict (arbitrary_types_allowed = True )
240231
241- def parse (self , resolved_data : dict [str , Any ] | None = None ) -> Embedder :
232+ def parse (self , resolved_data : Optional [ dict [str , Any ]] = None ) -> Embedder :
242233 if isinstance (self .root , Embedder ):
243234 return self .root
244235 return self .root .parse (resolved_data )
@@ -266,7 +257,7 @@ class ComponentType(RootModel): # type: ignore[type-arg]
266257
267258 model_config = ConfigDict (arbitrary_types_allowed = True )
268259
269- def parse (self , resolved_data : dict [str , Any ] | None = None ) -> Component :
260+ def parse (self , resolved_data : Optional [ dict [str , Any ]] = None ) -> Component :
270261 if isinstance (self .root , Component ):
271262 return self .root
272263 return self .root .parse (resolved_data )
0 commit comments