bees-knees/prophet/config.py

41 lines
838 B
Python

import os
# Load environment variables from .env
from dataclasses import dataclass
from dotenv import load_dotenv
_ = load_dotenv()
@dataclass
class AiConfig:
API_KEY: str
@classmethod
def from_env(cls) -> "AiConfig":
API_KEY = os.getenv("GROQ_API_KEY", "")
if not API_KEY:
raise ValueError(f"{API_KEY} cannot be empty")
return cls(**{"API_KEY": API_KEY})
@dataclass
class SupaConfig:
URL: str
KEY: str
@classmethod
def from_env(cls) -> "SupaConfig":
URL = os.getenv("SUPABASE_URL", "")
KEY = os.getenv("SUPABASE_KEY", "")
values: dict[str, str] = {"URL": URL, "KEY": KEY}
for name, val in values.items():
if not val:
raise ValueError(f"SUPABASE_{name} cannot be empty")
return cls(**values)