From d3395488c74de51b4316d6ac4c4a4a7c6ff67b60 Mon Sep 17 00:00:00 2001 From: Nicolas Kruse Date: Wed, 26 Nov 2025 15:29:15 +0100 Subject: [PATCH] Updated optional scipy importing to pass type checking without scipy stubs --- src/gaspype/_solver.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gaspype/_solver.py b/src/gaspype/_solver.py index 64a813d..100aa94 100644 --- a/src/gaspype/_solver.py +++ b/src/gaspype/_solver.py @@ -5,12 +5,13 @@ from .typing import NDFloat, FloatArray from .constants import p0, epsy if TYPE_CHECKING: - from scipy.optimize import minimize + def minimize(*a: Any, **b: Any) -> dict[str, FloatArray]: + ... else: try: from scipy.optimize import minimize except ImportError: - def minimize(*a: Any, **b: Any) -> Any: + def minimize(*a, **b): raise ImportError('scipy is required for the "gibs minimization" solver') @@ -67,7 +68,7 @@ def equilibrium_gmin(fs: fluid_system, element_composition: FloatArray, t: float start_composition_array = np.ones_like(fs.species, dtype=float) sol = np.array(minimize(gibbs_rt, start_composition_array, args=(grt, p_rel), method='SLSQP', - bounds=bnds, constraints=cons, options={'maxiter': 2000, 'ftol': 1e-12})['x'], dtype=NDFloat) # type: ignore + bounds=bnds, constraints=cons, options={'maxiter': 2000, 'ftol': 1e-12})['x'], dtype=NDFloat) return sol