29 lines
662 B
Python
29 lines
662 B
Python
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
|
|
def _env(name: str, default: str = "") -> str:
|
|
value = os.getenv(name, default)
|
|
return value.strip() if isinstance(value, str) else default
|
|
|
|
|
|
def _env_bool(name: str, default: str = "false") -> bool:
|
|
return _env(name, default).lower() in {"1", "true", "yes", "y", "on"}
|
|
|
|
|
|
def _env_int(name: str, default: int) -> int:
|
|
raw = _env(name, str(default))
|
|
try:
|
|
return int(raw)
|
|
except ValueError:
|
|
return default
|
|
|
|
|
|
def _env_float(name: str, default: float) -> float:
|
|
raw = _env(name, str(default))
|
|
try:
|
|
return float(raw)
|
|
except ValueError:
|
|
return default
|