From 0172208c52f763d0ea66ee5a438d45760f9cff02 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 12 Feb 2025 20:12:12 +0100 Subject: [PATCH] solver: add type-hints to OutputConfiguration (#48979) --- lib/spack/spack/solver/asp.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index fc568770748..da924ff11f7 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -6,6 +6,7 @@ import copy import enum import functools +import io import itertools import os import pathlib @@ -73,17 +74,19 @@ #: Enable the addition of a runtime node WITH_RUNTIME = sys.platform != "win32" -#: Data class that contain configuration on what a -#: clingo solve should output. -#: -#: Args: -#: timers (bool): Print out coarse timers for different solve phases. -#: stats (bool): Whether to output Clingo's internal solver statistics. -#: out: Optional output stream for the generated ASP program. -#: setup_only (bool): if True, stop after setup and don't solve (default False). -OutputConfiguration = collections.namedtuple( - "OutputConfiguration", ["timers", "stats", "out", "setup_only"] -) + +class OutputConfiguration(NamedTuple): + """Data class that contains configuration on what a clingo solve should output.""" + + #: Print out coarse timers for different solve phases + timers: bool + #: Whether to output Clingo's internal solver statistics + stats: bool + #: Optional output stream for the generated ASP program + out: Optional[io.IOBase] + #: If True, stop after setup and don't solve + setup_only: bool + #: Default output configuration for a solve DEFAULT_OUTPUT_CONFIGURATION = OutputConfiguration(