Skip to main content

Crate opendeviationbar_providers

Crate opendeviationbar_providers 

Source
Expand description

Data provider integrations

Source-specific adapters for fetching and processing tick/trade data.

§Supported Providers

  • binance - Binance spot and futures markets

§Design Principles

  1. Adapter pattern: Convert provider format → Tick (core format)
  2. Error propagation: Raise immediately, no silent failures
  3. Stateless where possible: Cache externally, not in provider
  4. Documented edge cases: Timezone handling, decimal factors, etc.
  5. Out-of-box dependencies: Use standard crates (zip, csv, chrono)

§Quick Start

Top-level re-exports allow shorter import paths:

use opendeviationbar_providers::{HistoricalDataLoader, get_tier1_symbols};

Re-exports§

pub use binance::AdaptiveRateLimiter;
pub use binance::BinanceWebSocketStream;
pub use binance::CsvTick;
pub use binance::HistoricalDataLoader;
pub use binance::HistoricalError;
pub use binance::IntraDayChunkIterator;
pub use binance::RateLimitError;
pub use binance::TIER1_SYMBOLS;
pub use binance::WebSocketError;
pub use binance::detect_csv_headers;
pub use binance::fetch_aggtrades_parallel;
pub use binance::get_tier1_symbols;
pub use binance::get_tier1_usdt_pairs;
pub use binance::is_tier1_symbol;
pub use binance::python_bool;
pub use binance::shared_binance_limiter;

Modules§

binance
Binance data provider
serde_helpers
Binance sends price and quantity as JSON strings (e.g., "112070.01000000"). Instead of deserializing to String then parsing, these helpers deserialize directly to FixedPoint — eliminating per-trade String allocations (~4000/sec on WS).