diff --git a/ace/utils/database.py b/ace/utils/database.py index 256e5eb..26db317 100644 --- a/ace/utils/database.py +++ b/ace/utils/database.py @@ -17,8 +17,13 @@ logger = get_logger(__name__, component="database") -def _enable_sqlite_wal_mode(dbapi_connection, connection_record): - """Enable WAL mode for SQLite to support concurrent reads.""" +def _enable_sqlite_wal_mode(dbapi_connection: any, connection_record: any) -> None: + """Enable WAL mode for SQLite to support concurrent reads. + + Args: + dbapi_connection: Database API connection object + connection_record: SQLAlchemy connection record + """ if "sqlite" in str(connection_record): cursor = dbapi_connection.cursor() cursor.execute("PRAGMA journal_mode=WAL") diff --git a/ace/utils/embeddings.py b/ace/utils/embeddings.py index 1e461bd..b69df33 100644 --- a/ace/utils/embeddings.py +++ b/ace/utils/embeddings.py @@ -18,7 +18,13 @@ _original_print = builtins.print -def _suppress_bitsandbytes_message(*args, **kwargs): +def _suppress_bitsandbytes_message(*args: any, **kwargs: any) -> None: + """Suppress noisy bitsandbytes initialization messages. + + Args: + *args: Positional arguments to print + **kwargs: Keyword arguments to print + """ if len(args) == 1 and isinstance(args[0], str) and "cadam32bit_grad_fp32" in args[0]: return _original_print(*args, **kwargs) diff --git a/ace/utils/json_mode.py b/ace/utils/json_mode.py index 4dbe472..741a72e 100644 --- a/ace/utils/json_mode.py +++ b/ace/utils/json_mode.py @@ -42,9 +42,14 @@ def _resolve_model(preferred: Optional[str] = None) -> Optional[str]: @lru_cache(maxsize=1) def _load_dspy(): + """Load DSPy module with error handling. + + Returns: + dspy module if available, None otherwise + """ try: import dspy # type: ignore - except Exception as exc: # pragma: no cover - defensive import guard + except (ImportError, ModuleNotFoundError) as exc: # pragma: no cover - defensive import guard logger.error("json_mode_adapter_unavailable", error=str(exc)) return None return dspy diff --git a/examples/multiplication_analysis/difficulty_analysis.py b/examples/multiplication_analysis/difficulty_analysis.py index 6d06ad2..dda2e04 100644 --- a/examples/multiplication_analysis/difficulty_analysis.py +++ b/examples/multiplication_analysis/difficulty_analysis.py @@ -60,7 +60,7 @@ def analyze_difficulty_distribution(session): parts = problem.replace("×", "*").split("*") a = int(parts[0].strip()) b = int(parts[1].strip()) - except: + except (ValueError, IndexError, AttributeError): continue difficulty = calculate_problem_difficulty(a, b)