"""Parse boolean values from environment variables.""" from __future__ import annotations import os _TRUTHY = frozenset({"1", "true", "yes", "on"}) _FALSY = frozenset({"0", "false", "no", "off"}) def env_bool(name: str, default: bool) -> bool: """Parse an environment variable as a boolean value.""" raw = os.getenv(name) if raw is None: return default normalized = raw.strip().lower() if normalized in _TRUTHY: return True if normalized in _FALSY: return False raise ValueError(f"Invalid boolean value for {name}: {raw!r}")