Implements [DATA-10] Interface routing - add new data vendors with: - VendorRegistry: Thread-safe singleton for centralized vendor registration - VendorCapability enum: STOCK_DATA, FUNDAMENTALS, NEWS, MACROECONOMIC, etc. - BaseVendor ABC: 3-stage lifecycle (transform_query, extract_data, transform_data) - SimpleVendor: Wrapper for migrating existing vendor functions - Decorators: @register_vendor, @vendor_method, @rate_limited, @with_retry, @cache_result - RateLimiter: Thread-safe sliding window rate limiting - 84 tests covering registry, base vendor, and decorators Files: - tradingagents/dataflows/vendor_registry.py (253 lines) - tradingagents/dataflows/base_vendor.py (222 lines) - tradingagents/dataflows/vendor_decorators.py (188 lines) - tests/unit/dataflows/test_vendor_registry.py (30 tests) - tests/unit/dataflows/test_base_vendor.py (27 tests) - tests/unit/dataflows/test_vendor_decorators.py (27 tests) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| akshare.py | ||
| alpha_vantage.py | ||
| alpha_vantage_common.py | ||
| alpha_vantage_fundamentals.py | ||
| alpha_vantage_indicator.py | ||
| alpha_vantage_news.py | ||
| alpha_vantage_stock.py | ||
| base_vendor.py | ||
| benchmark.py | ||
| config.py | ||
| fred.py | ||
| fred_common.py | ||
| google.py | ||
| googlenews_utils.py | ||
| interface.py | ||
| local.py | ||
| multi_timeframe.py | ||
| openai.py | ||
| reddit_utils.py | ||
| stockstats_utils.py | ||
| utils.py | ||
| vendor_decorators.py | ||
| vendor_registry.py | ||
| y_finance.py | ||
| yfin_utils.py | ||