Implements [DATA-11] Data caching layer - FRED rate limits with: - CacheEntry: Generic cache entries with TTL and metadata - CacheStats: Hit/miss/stale statistics tracking - RateLimitState: Per-source rate limit tracking with exponential backoff - MemoryCache: In-memory LRU cache backend - FileCache: File-based JSON cache backend - DataCache: Main cache with source-specific TTLs and stale-while-rate-limited - @cached decorator: Function result caching Features: - Multi-backend support (memory, file) - TTL-based expiration with configurable per-source defaults - Stale-while-revalidate when rate limited - Thread-safe operations throughout - 41 tests covering all components 🤖 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 | ||
| cache.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 | ||