- Add pykrx-openapi dependency - New krx_client.py wrapper module - ETFCollector: Open API bulk fetch + pykrx fallback - ETFPriceCollector: Open API date-based bulk + pykrx fallback - StockCollector: Open API base_info + daily_trade + pykrx fallback - PriceCollector: Open API date-based bulk + pykrx fallback - ValuationCollector: pykrx retained (Open API has no PER/PBR) - generate_snapshots.py: Open API + pykrx fallback - Auto-switch based on KRX_OPENAPI_KEY env var - All 278 tests passing
34 lines
959 B
Plaintext
34 lines
959 B
Plaintext
# Galaxy-PO Environment Variables
|
|
# Copy this file to .env and fill in the values
|
|
|
|
# Database
|
|
DATABASE_URL=postgresql://galaxy:your_secure_password_here@localhost:5432/galaxy_po
|
|
|
|
# JWT Authentication
|
|
JWT_SECRET=your_jwt_secret_key_here_at_least_32_characters
|
|
|
|
# Korea Investment & Securities OpenAPI (optional)
|
|
KIS_APP_KEY=your_kis_app_key
|
|
KIS_APP_SECRET=your_kis_app_secret
|
|
KIS_ACCOUNT_NO=your_account_number
|
|
|
|
# KRX Open API (preferred for data collection)
|
|
# Register at https://openapi.krx.co.kr to get an API key
|
|
KRX_OPENAPI_KEY=your_krx_openapi_key
|
|
|
|
# KRX Data Portal (fallback for ValuationCollector when Open API key is not set)
|
|
# Register at https://data.krx.co.kr to get credentials
|
|
KRX_ID=your_krx_login_id
|
|
KRX_PW=your_krx_password
|
|
|
|
# DART OpenAPI (Financial Statements, optional)
|
|
DART_API_KEY=your_dart_api_key
|
|
|
|
# Notifications (optional)
|
|
DISCORD_WEBHOOK_URL=
|
|
TELEGRAM_BOT_TOKEN=
|
|
TELEGRAM_CHAT_ID=
|
|
|
|
# Production only
|
|
API_URL=https://your-domain.com
|