Spaces:
Runtime error
Runtime error
| from __future__ import annotations | |
| from dataclasses import dataclass | |
| from pathlib import Path | |
| import os | |
| class AppConfig: | |
| project_key: str | |
| app_mode: str | |
| root_dir: Path | |
| data_dir: Path | |
| sqlite_path: Path | |
| artifact_dir: Path | |
| cache_dir: Path | |
| model_registry_path: Path | |
| def _env_path(name: str, default: str) -> Path: | |
| return Path(os.environ.get(name, default)).expanduser().resolve() | |
| def load_app_config(project_key: str = 'p1', data_subdir: str | None = None) -> AppConfig: | |
| root_dir = Path(os.environ.get('APP_ROOT_DIR', Path.cwd())).resolve() | |
| data_root = _env_path('DATA_DIR', str(root_dir / 'data')) | |
| if data_subdir: | |
| data_dir = (data_root / data_subdir).resolve() | |
| else: | |
| data_dir = data_root | |
| sqlite_path = Path(os.environ.get('SQLITE_PATH', data_dir / 'sqlite' / f'{project_key}.sqlite3')).expanduser().resolve() | |
| artifact_dir = Path(os.environ.get('ARTIFACT_DIR', data_dir / 'artifacts' / project_key)).expanduser().resolve() | |
| cache_dir = _env_path('MODEL_CACHE_DIR', str(root_dir / 'models')) | |
| model_registry_path = _env_path('MODEL_REGISTRY_PATH', str(root_dir / 'configs' / 'model_registry.yaml')) | |
| app_mode = os.environ.get('APP_MODE', 'dev') | |
| return AppConfig( | |
| project_key=project_key, | |
| app_mode=app_mode, | |
| root_dir=root_dir, | |
| data_dir=data_dir, | |
| sqlite_path=sqlite_path, | |
| artifact_dir=artifact_dir, | |
| cache_dir=cache_dir, | |
| model_registry_path=model_registry_path, | |
| ) | |