pine_core/lib.rs
1mod bar;
2mod syminfo;
3mod timeframe;
4mod version;
5
6pub use bar::{Bar, Data, Ohlcv};
7pub use syminfo::SymInfo;
8pub use timeframe::{Timeframe, TimeframeError, TimeframeUnit};
9pub use version::{PineVersion, VersionError};
10
11/// The error a [`DataProvider`] fails with.
12pub type ProviderError = Box<dyn std::error::Error + Send + Sync>;
13
14/// A source of market data: given a symbol and a Pine timeframe, produce its
15/// bars.
16pub trait DataProvider {
17 fn request(&self, symbol: &str, timeframe: Timeframe) -> Result<Data, ProviderError>;
18}