Spaces:
Running
Running
# src/config/constants.py | |
"""Constants for configuration across the project.""" | |
from pathlib import Path | |
import tomllib | |
# ==================== PROJECT METADATA ==================== | |
root = Path(__file__).parent.parent.parent | |
with open(root / "pyproject.toml", "rb") as f: | |
pyproject = tomllib.load(f) | |
PROJECT_NAME = pyproject["project"]["name"] | |
VERSION = pyproject["project"]["version"] | |
# ==================== ENVIRONMENT CONFIG ==================== | |
ENV = "PROD" # or "PROD" | |
IS_PROD = ENV == "PROD" | |
IS_DEMO_VERSION = IS_PROD # True if PROD, False if DEV | |
# App naming for Modal | |
APP_NAME = f"{PROJECT_NAME}-{ENV.lower()}-{VERSION}" | |
# ==================== APPLICATION LIMITS ==================== | |
MAX_DEMO_RUNS_PER_DAY = 5 | |
MAX_LOG_LINES = 50 | |
MAX_DEALS_PER_FEED = 20 | |
MAX_CATEGORY_SELECTION = 3 | |
MEMORY_EXPIRATION_DAYS = 5 | |
# ==================== BUSINESS LOGIC ==================== | |
CURRENCY = "$" | |
DEAL_THRESHOLD = 50 | |
# ==================== PATHS ==================== | |
BASE_DIR = Path(__file__).resolve().parent.parent.parent | |
MEMORY_DIR = BASE_DIR / "memory" | |
STATE_FILE = MEMORY_DIR / "demo_state.json" | |
DEALS_FILE = MEMORY_DIR / "memory.json" | |