Edwin Salguero
Prepare for Streamlit Cloud deployment - Add deployment files, fix clustering chart error, update requirements
6ce20d9
""" | |
FRED ML - Configuration Settings | |
Configuration for FRED API and application settings | |
""" | |
import os | |
from typing import Optional | |
class Config: | |
"""Configuration class for FRED ML application""" | |
# FRED API Configuration | |
FRED_API_KEY: Optional[str] = os.getenv('FRED_API_KEY') | |
# Application Settings | |
APP_TITLE = "FRED ML - Economic Analytics Platform" | |
APP_DESCRIPTION = "Enterprise-grade economic analytics and forecasting platform" | |
# Data Settings | |
DEFAULT_START_DATE = "2020-01-01" | |
DEFAULT_END_DATE = "2024-12-31" | |
# Analysis Settings | |
FORECAST_PERIODS = 12 | |
CONFIDENCE_LEVEL = 0.95 | |
# UI Settings | |
THEME_COLOR = "#1f77b4" | |
SUCCESS_COLOR = "#2ca02c" | |
WARNING_COLOR = "#ff7f0e" | |
ERROR_COLOR = "#d62728" | |
def validate_fred_api_key(cls) -> bool: | |
"""Validate if FRED API key is properly configured""" | |
if not cls.FRED_API_KEY: | |
return False | |
if cls.FRED_API_KEY == 'your-fred-api-key-here': | |
return False | |
return True | |
def get_fred_api_key(cls) -> Optional[str]: | |
"""Get FRED API key with validation""" | |
if cls.validate_fred_api_key(): | |
return cls.FRED_API_KEY | |
return None | |
def setup_fred_api_key(): | |
"""Helper function to guide users in setting up FRED API key""" | |
print("=" * 60) | |
print("FRED ML - API Key Setup") | |
print("=" * 60) | |
print() | |
print("To use real FRED data, you need to:") | |
print("1. Get a free API key from: https://fred.stlouisfed.org/docs/api/api_key.html") | |
print("2. Set the environment variable:") | |
print(" export FRED_API_KEY='your-api-key-here'") | |
print() | |
print("Or create a .env file in the project root with:") | |
print("FRED_API_KEY=your-api-key-here") | |
print() | |
print("The application will work with demo data if no API key is provided.") | |
print("=" * 60) | |
if __name__ == "__main__": | |
setup_fred_api_key() |