From 559769eb28a87c18fad71f71c58f5f1a4013ddb3 Mon Sep 17 00:00:00 2001 From: eminyouskn Date: Tue, 7 Oct 2025 16:25:30 -0400 Subject: [PATCH 1/2] Fix boolean conversion in DeferredImportIndicator class --- pyomo/common/dependencies.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyomo/common/dependencies.py b/pyomo/common/dependencies.py index 27167f12f70..e20bcdd966c 100644 --- a/pyomo/common/dependencies.py +++ b/pyomo/common/dependencies.py @@ -346,7 +346,7 @@ def __init__( def __bool__(self): self.resolve() - return self._available + return bool(self._available) def resolve(self): # Only attempt the import once, then cache some form of result From e27bd216bc48b582435e0034c048a607fb99d7be Mon Sep 17 00:00:00 2001 From: eminyouskn Date: Thu, 9 Oct 2025 20:40:12 -0400 Subject: [PATCH 2/2] Update pyomo/common/dependencies.py Co-authored-by: John Siirola --- pyomo/common/dependencies.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyomo/common/dependencies.py b/pyomo/common/dependencies.py index e20bcdd966c..9f3e54e1a4d 100644 --- a/pyomo/common/dependencies.py +++ b/pyomo/common/dependencies.py @@ -346,6 +346,9 @@ def __init__( def __bool__(self): self.resolve() + # resolve() guarantees that _available has been resolved to a bool + assert self._available.__class__ is bool + # The following cast is to keep static code analysis linters happy return bool(self._available) def resolve(self):