PyMCP / app /config.py
aniketppanchal's picture
Added PyMCP
3b93525
import os
import shutil
from pathlib import Path
class Config:
def __init__(self):
self.working_dir = Path("working").resolve()
self.pkg_timeout = self._get_env_float("PACKAGE_INSTALLATION_TIMEOUT_SEC", 600)
self.code_timeout = self._get_env_float("CODE_EXECUTION_TIMEOUT_SEC", 600)
self.command_timeout = self._get_env_float("COMMAND_EXECUTION_TIMEOUT_SEC", 600)
self.share_online = self._get_env_bool("SHARE_ONLINE", False)
def setup_working_dir(self) -> None:
if self.working_dir.exists():
shutil.rmtree(self.working_dir)
self.working_dir.mkdir(parents=True)
def _get_env_float(self, env_var: str, default: float) -> float:
value_str = os.getenv(env_var)
if value_str is None:
return default
try:
return float(value_str)
except ValueError:
raise ValueError(f"{env_var} must be a valid number.")
def _get_env_bool(self, env_var: str, default: bool) -> bool:
value_str = os.getenv(env_var)
if value_str is None:
return default
return value_str.lower() == "true"
config = Config()