Coverage for src/finbot/market/data_provider.py: 100%
6 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-04 12:05 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-04 12:05 +0000
1from abc import ABC, abstractmethod
2from datetime import datetime
4from finbot.market.models import Bar
7class MarketDataProvider(ABC):
9 @abstractmethod
10 def get_latest_bar(self, symbol: str) -> Bar:
11 ...
13 def get_latest_bars(self, symbols: list[str]) -> dict[str, Bar]:
14 return {symbol: self.get_latest_bar(symbol) for symbol in symbols}
16 @abstractmethod
17 def get_bars(
18 self,
19 symbols: list[str],
20 start: datetime,
21 end: datetime,
22 timeframe: str = "1Min",
23 ) -> dict[str, list[Bar]]:
24 ...