49 lines
1.9 KiB
Python
49 lines
1.9 KiB
Python
"""
|
||
Environment variable loader for TradingAgents.
|
||
Automatically loads environment variables from .env file if it exists.
|
||
"""
|
||
|
||
import os
|
||
from pathlib import Path
|
||
|
||
def load_environment():
|
||
"""Load environment variables from .env file if it exists."""
|
||
try:
|
||
from dotenv import load_dotenv
|
||
|
||
# Find the project root (where .env should be located)
|
||
current_dir = Path(__file__).parent
|
||
project_root = current_dir.parent # Go up one level from tradingagents/
|
||
env_file = project_root / ".env"
|
||
|
||
if env_file.exists():
|
||
load_dotenv(env_file)
|
||
print(f"✅ Environment variables loaded from {env_file}")
|
||
|
||
# Verify required API keys are loaded
|
||
required_keys = ["FINNHUB_API_KEY", "OPENAI_API_KEY"]
|
||
missing_keys = []
|
||
|
||
for key in required_keys:
|
||
if not os.getenv(key) or os.getenv(key) == f"your_{key.lower()}_here":
|
||
missing_keys.append(key)
|
||
|
||
if missing_keys:
|
||
print(f"⚠️ Warning: The following API keys need to be set in your .env file:")
|
||
for key in missing_keys:
|
||
print(f" - {key}")
|
||
print(f" Please edit {env_file} and replace the placeholder values with your actual API keys.")
|
||
else:
|
||
print("✅ All required API keys are configured!")
|
||
|
||
else:
|
||
print(f"ℹ️ No .env file found at {env_file}")
|
||
print(" You can create one with your API keys or use environment variables directly.")
|
||
|
||
except ImportError:
|
||
print("⚠️ python-dotenv not installed. Install it with: pip install python-dotenv")
|
||
except Exception as e:
|
||
print(f"❌ Error loading .env file: {e}")
|
||
|
||
# Call load_environment when this module is imported
|
||
load_environment() |