From 4afec9aea83ba3d49574e5497097eb9740066698 Mon Sep 17 00:00:00 2001 From: Wouter Bles Date: Mon, 27 Apr 2026 18:38:04 +0200 Subject: [PATCH] fix: scip unavailable --- CHANGELOG.md | 4 ++++ src/pyaugmecon/solver/adapter.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c269c2e..e4d9c43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Unreleased + +- Fixed `select_solver` crashing on `subprocess.TimeoutExpired` when a solver binary (SCIP, CBC, bare `gurobi`/`cplex` shells) exceeds Pyomo's 2-second version probe on cold starts. Timeouts are now caught as backend-unavailable conditions. + ## 2.0.1 - 2026-04-27 - Removed pre-v2 dead code (model.py, pyaugmecon.py, process_handler.py, queue_handler.py, solver_adapter.py, solver_process.py) superseded by the solver/ subpackage. diff --git a/src/pyaugmecon/solver/adapter.py b/src/pyaugmecon/solver/adapter.py index 4eba9b4..be1fcb1 100644 --- a/src/pyaugmecon/solver/adapter.py +++ b/src/pyaugmecon/solver/adapter.py @@ -1,6 +1,7 @@ from __future__ import annotations import contextlib +import subprocess from collections.abc import Mapping from dataclasses import dataclass from enum import StrEnum @@ -178,6 +179,7 @@ def release_solver(solver: SolverLike, backend_name: str) -> None: AttributeError, ImportError, OSError, + subprocess.TimeoutExpired, )