c8beb7e3ae
One class per provider (TwelveData, Oanda, Tiingo), all subclassing BaseDataProvider which owns cache, validation/cleaning, freshness + boundary guarantees, fetch_range pagination, and streaming stubs — subclasses implement only _fetch_raw. config.json data_providers.active selects the live feed; data_provider.py / oanda_provider.py stay as back-compat shims. Module 16 provider-abstraction tests (253 total green). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mc7XKYyPySVXiUpcN82QEK
10 lines
386 B
Python
10 lines
386 B
Python
"""
|
|
ForexBot2 — Oanda provider (back-compat shim)
|
|
==============================================
|
|
The implementation lives in `providers/oanda.py`; shared behavior is in
|
|
`providers/base.py`. This module keeps the historical import path working.
|
|
"""
|
|
|
|
from providers.base import _is_forex_weekend # noqa: F401
|
|
from providers.oanda import OandaDataError, OandaDataProvider # noqa: F401
|