final-python-env / app /utils /runtime.py
uvpatel7271's picture
Upload folder using huggingface_hub
989722c verified
"""Formatting, parsing, and IO-suppression helpers for inference."""
from __future__ import annotations
import io
from collections.abc import Iterable
from contextlib import contextmanager, redirect_stderr, redirect_stdout
from typing import Any, Iterator
try:
from tasks import task_ids
except ImportError: # pragma: no cover
from python_env.tasks import task_ids # type: ignore[no-redef]
def compact_text(
value: Any,
*,
default: str = "",
limit: int = 240,
preserve_newlines: bool = False,
) -> str:
"""Convert values into validator-safe text."""
if value is None:
return default
try:
text = str(value)
except Exception:
return default
if preserve_newlines:
text = text.strip()
else:
text = " ".join(text.split())
return text[:limit] if text else default
def observation_attr(observation: Any, name: str, default: Any = None, *, preserve_newlines: bool = False) -> Any:
"""Read an observation attribute without trusting the payload shape."""
if isinstance(observation, dict):
value = observation.get(name, default)
else:
value = getattr(observation, name, default)
if isinstance(value, str):
return compact_text(
value,
default=default if isinstance(default, str) else "",
preserve_newlines=preserve_newlines,
)
return value
def format_bool(value: Any) -> str:
return "true" if bool(value) else "false"
def format_reward(value: Any) -> str:
try:
reward = float(value)
except Exception:
reward = 0.0
return f"{reward:.2f}"
def format_error(value: Any) -> str:
text = compact_text(value, default="")
return text if text else "null"
def parse_task_ids() -> list[str]:
"""Load stable task names with a deterministic fallback."""
try:
values = task_ids()
if isinstance(values, Iterable):
loaded = [compact_text(item, default="") for item in values]
loaded = [item for item in loaded if item]
if loaded:
return loaded
except Exception:
pass
return [
"syntax_fix_invoice_totals",
"bug_fix_session_windows",
"optimization_rank_active_users",
]
@contextmanager
def suppress_output() -> Iterator[None]:
"""Silence libraries that write noisy logs to stdout or stderr."""
with redirect_stdout(io.StringIO()), redirect_stderr(io.StringIO()):
yield