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

1from abc import ABC, abstractmethod 

2from datetime import datetime 

3 

4from finbot.market.models import Bar 

5 

6 

7class MarketDataProvider(ABC): 

8 

9 @abstractmethod 

10 def get_latest_bar(self, symbol: str) -> Bar: 

11 ... 

12 

13 def get_latest_bars(self, symbols: list[str]) -> dict[str, Bar]: 

14 return {symbol: self.get_latest_bar(symbol) for symbol in symbols} 

15 

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 ...