|
|
""" |
|
|
Path configuration for local vs deployed environments. |
|
|
|
|
|
This module handles different paths for local development vs deployed (HF Spaces) environments. |
|
|
""" |
|
|
import os |
|
|
from pathlib import Path |
|
|
|
|
|
|
|
|
|
|
|
IS_DEPLOYED = ( |
|
|
os.getenv("DEPLOYED", "false").lower() == "true" or |
|
|
os.path.exists("/app") or |
|
|
os.getenv("SPACES_ID") is not None or |
|
|
os.path.exists("/.dockerenv") |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
if IS_DEPLOYED: |
|
|
PROJECT_DIR = Path("/app") |
|
|
else: |
|
|
|
|
|
cwd = Path.cwd() |
|
|
|
|
|
project_root = cwd |
|
|
while project_root != project_root.parent: |
|
|
if (project_root / "src" / "config").exists(): |
|
|
break |
|
|
project_root = project_root.parent |
|
|
PROJECT_DIR = project_root |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if IS_DEPLOYED: |
|
|
CACHE_DIR = PROJECT_DIR / ".cache" |
|
|
HF_CACHE_DIR = CACHE_DIR / "huggingface" |
|
|
STREAMLIT_CACHE_DIR = CACHE_DIR / "streamlit" |
|
|
else: |
|
|
|
|
|
HF_CACHE_DIR = None |
|
|
STREAMLIT_CACHE_DIR = None |
|
|
|
|
|
|
|
|
FEEDBACK_DIR = PROJECT_DIR / "feedback" |
|
|
CONVERSATIONS_DIR = PROJECT_DIR / "conversations" |
|
|
STREAMLIT_CONFIG_DIR = PROJECT_DIR / ".streamlit" |
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
print(f"IS_DEPLOYED: {IS_DEPLOYED}") |
|
|
print(f"PROJECT_DIR: {PROJECT_DIR}") |
|
|
print(f"HF_CACHE_DIR: {HF_CACHE_DIR}") |
|
|
print(f"FEEDBACK_DIR: {FEEDBACK_DIR}") |
|
|
print(f"CONVERSATIONS_DIR: {CONVERSATIONS_DIR}") |
|
|
|
|
|
|
|
|
|
|
|
|