PlanMate / planmate /config.py
embed786's picture
Upload 2 files
1300f75 verified
import os
from dotenv import load_dotenv
# Load .env if present (local dev convenience)
load_dotenv()
APP_TITLE = "PlanMate"
APP_TAGLINE = "AI Powered smart trip planner"
THEME = {
"bg": "#fcfcfc",
"text": "#383838",
"label": "#153d15",
"border": "#153d15",
}
CURRENCY = "PKR"
UNITS = "metric"
LANGUAGE = "en"
# API Base URLs
AMADEUS_BASE = "https://test.api.amadeus.com"
OPENWEATHER_BASE = "https://api.openweathermap.org"
OPENTRIPMAP_BASE = "https://api.opentripmap.com/0.1/en"
# ---------- Hugging Face Secrets Configuration ----------
def get_secret(key, default=None):
"""
Get secret from Hugging Face Spaces environment or fallback to local .env
"""
# Try to get from environment first (Hugging Face Spaces)
value = os.getenv(key)
if value is None and default is not None:
return default
elif value is None:
st.error(f"Missing required secret: {key}")
st.info("Please add this secret in your Hugging Face Space settings.")
st.stop()
return value
def get_env(key: str) -> str:
val = os.getenv(key)
if not val:
raise RuntimeError(f"Missing required environment variable: {key}")
return val
def get_gemini_key():
return get_secret("GEMINI_API_KEY")
def get_amadeus_credentials():
return get_secret("AMADEUS_CLIENT_ID"), get_secret("AMADEUS_CLIENT_SECRET")
def get_openweather_key():
return get_secret("OPENWEATHER_API_KEY")
def get_opentripmap_key():
return get_secret("OPENTRIPMAP_API_KEY")