"""Repo-local temporary directory helpers for pipeline scripts.""" from pathlib import Path import os import tempfile REPO_ROOT = Path(__file__).resolve().parent.parent LOCAL_TMP_DIR = REPO_ROOT / ".tmp" _TEMP_ENV_VARS = ("TMPDIR", "TEMP", "TMP") def local_tmp_dir() -> Path: """Return the repo-local temp directory, creating it if needed.""" LOCAL_TMP_DIR.mkdir(parents=True, exist_ok=True) return LOCAL_TMP_DIR def configure_tempfile_defaults() -> Path: """Point stdlib and subprocess temp defaults at the repo-local temp dir.""" temp_dir = local_tmp_dir() temp_dir_str = str(temp_dir) for env_var in _TEMP_ENV_VARS: os.environ[env_var] = temp_dir_str tempfile.tempdir = temp_dir_str return temp_dir