1414"""
1515
1616import os
17+ from collections .abc import Generator
1718from contextlib import contextmanager
1819from dataclasses import dataclass , field
19- from datetime import datetime
20- from typing import Any , Generator , Optional
20+ from typing import Any
2121
2222# Optional import - database support is optional
2323try :
@@ -71,7 +71,7 @@ class NeonDatabase:
7171 results = db.fetch_all("SELECT * FROM jobs WHERE user_id = %s", (user_id,))
7272 """
7373
74- def __init__ (self , config : Optional [ DatabaseConfig ] = None ):
74+ def __init__ (self , config : DatabaseConfig | None = None ):
7575 """
7676 Initialize database connection.
7777
@@ -85,7 +85,7 @@ def __init__(self, config: Optional[DatabaseConfig] = None):
8585 )
8686
8787 self .config = config or DatabaseConfig ()
88- self ._connection_pool : Optional [ pool .SimpleConnectionPool ] = None
88+ self ._connection_pool : pool .SimpleConnectionPool | None = None
8989
9090 if self .config .is_configured :
9191 self ._initialize_pool ()
@@ -159,7 +159,7 @@ def get_cursor(self, commit: bool = False) -> Generator[Any, None, None]:
159159 finally :
160160 cur .close ()
161161
162- def execute (self , query : str , params : Optional [ tuple ] = None ) -> None :
162+ def execute (self , query : str , params : tuple | None = None ) -> None :
163163 """
164164 Execute a database query (no return value).
165165
@@ -176,7 +176,7 @@ def execute(self, query: str, params: Optional[tuple] = None) -> None:
176176 with self .get_cursor (commit = True ) as cur :
177177 cur .execute (query , params or ())
178178
179- def fetch_one (self , query : str , params : Optional [ tuple ] = None ) -> Optional [ dict ] :
179+ def fetch_one (self , query : str , params : tuple | None = None ) -> dict | None :
180180 """
181181 Fetch a single row from the database.
182182
@@ -192,7 +192,7 @@ def fetch_one(self, query: str, params: Optional[tuple] = None) -> Optional[dict
192192 result = cur .fetchone ()
193193 return dict (result ) if result else None
194194
195- def fetch_all (self , query : str , params : Optional [ tuple ] = None ) -> list [dict ]:
195+ def fetch_all (self , query : str , params : tuple | None = None ) -> list [dict ]:
196196 """
197197 Fetch all rows from the database.
198198
@@ -230,7 +230,7 @@ def is_healthy(self) -> bool:
230230
231231
232232# Global database instance (lazy initialization)
233- _db_instance : Optional [ NeonDatabase ] = None
233+ _db_instance : NeonDatabase | None = None
234234
235235
236236def get_database () -> NeonDatabase :
@@ -383,12 +383,12 @@ def init_schema(db: NeonDatabase) -> None:
383383# Convenience functions for common operations
384384def log_quantum_job (
385385 job_type : str ,
386- circuit_json : Optional [ dict ] = None ,
386+ circuit_json : dict | None = None ,
387387 shots : int = 1024 ,
388388 backend : str = "simulator" ,
389- user_id : Optional [ str ] = None ,
390- session_id : Optional [ str ] = None ,
391- ) -> Optional [ int ] :
389+ user_id : str | None = None ,
390+ session_id : str | None = None ,
391+ ) -> int | None :
392392 """
393393 Log a quantum job execution.
394394
@@ -435,16 +435,16 @@ def log_quantum_job(
435435def save_vqe_result (
436436 molecule : str ,
437437 final_energy : float ,
438- geometry : Optional [ str ] = None ,
438+ geometry : str | None = None ,
439439 basis : str = "STO-3G" ,
440440 optimizer : str = "COBYLA" ,
441- initial_energy : Optional [ float ] = None ,
442- convergence_iterations : Optional [ int ] = None ,
443- parameters : Optional [ dict ] = None ,
441+ initial_energy : float | None = None ,
442+ convergence_iterations : int | None = None ,
443+ parameters : dict | None = None ,
444444 backend_type : str = "simulator" ,
445- noise_profile : Optional [ str ] = None ,
446- user_id : Optional [ str ] = None ,
447- ) -> Optional [ int ] :
445+ noise_profile : str | None = None ,
446+ user_id : str | None = None ,
447+ ) -> int | None :
448448 """
449449 Save VQE computation result.
450450
@@ -505,12 +505,12 @@ def log_api_request(
505505 method : str ,
506506 status_code : int ,
507507 response_time_ms : int ,
508- user_id : Optional [ str ] = None ,
509- session_id : Optional [ str ] = None ,
510- ip_address : Optional [ str ] = None ,
511- request_data : Optional [ dict ] = None ,
512- response_data : Optional [ dict ] = None ,
513- error_message : Optional [ str ] = None ,
508+ user_id : str | None = None ,
509+ session_id : str | None = None ,
510+ ip_address : str | None = None ,
511+ request_data : dict | None = None ,
512+ response_data : dict | None = None ,
513+ error_message : str | None = None ,
514514) -> None :
515515 """
516516 Log an API request.
0 commit comments