070be2eb27
* fix(docs-rs): rename `doc_auto_cfg` to `doc_cfg` after Rust 1.92 merge `doc_auto_cfg` was removed in Rust 1.92.0 and folded back into `doc_cfg` (rust-lang/rust#138907). docs.rs builds with the latest nightly and sets `--cfg docsrs`, so the previous #![cfg_attr(docsrs, feature(doc_auto_cfg))] aborts compilation with E0557 on every published 0.2.x. GitHub CI never tripped this — stable rustc ignores the line because nothing sets the `docsrs` cfg there. Switch all three published library crates (`wickra`, `wickra-core`, `wickra-data`) to the merged-into `doc_cfg` gate. Same intent, same on-docs.rs output, builds again on nightly. * docs(readme): float Wickra to the top of the comparison tables Reorders the "Why Wickra exists" library-comparison table and the two benchmark headers so Wickra is the first row (with a ★ marker) instead of the last. The previous order placed Wickra at the bottom, which buries the only row a reader landing on the README is here to compare against. Same column data, same ★/winner annotations, just the row order flipped and a ★ prefix on the Wickra label. Mirrored across the umbrella README and every binding README so the crates.io / PyPI / npm landing pages stay in sync. * release: bump workspace + bindings to 0.2.6 Workspace, every binding (Python, Node, Node platform stubs), the release.yml comment and the CHANGELOG all move together to 0.2.6 so the next tagged release lines every artefact up. 0.2.6 carries two changes from the [0.2.6] CHANGELOG entry: - fix(docs-rs): swap the now-removed `doc_auto_cfg` feature gate for the merged-into `doc_cfg` so docs.rs nightly builds resume. - docs(readme): float ★ Wickra to the top of every comparison table across the umbrella + binding READMEs. wickra-win32-arm64-msvc stays excluded for this release with the same npm spam-filter rationale that held for 0.2.5.
25 lines
948 B
Rust
25 lines
948 B
Rust
//! `wickra-data`: offline and online data sources for the Wickra indicator engine.
|
|
//!
|
|
//! - [`csv`]: stream OHLCV bars out of CSV files without buffering the whole
|
|
//! history in memory.
|
|
//! - [`aggregator`]: roll trade ticks up into candles of arbitrary timeframes.
|
|
//! - [`resample`]: convert a stream of candles from one timeframe to a coarser one.
|
|
//! - [`live`] (feature `live-binance`): connect to exchange websockets and yield
|
|
//! typed events compatible with the rest of the crate.
|
|
|
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
|
// `tokio_tungstenite::Error` is large by itself (~200 B). Boxing every Err
|
|
// variant per clippy::result_large_err just shifts allocation pressure into
|
|
// the hot path. We accept the size because errors are rare in this crate.
|
|
#![allow(clippy::result_large_err)]
|
|
|
|
pub mod aggregator;
|
|
pub mod csv;
|
|
pub mod error;
|
|
pub mod resample;
|
|
|
|
#[cfg(feature = "live-binance")]
|
|
pub mod live;
|
|
|
|
pub use error::{Error, Result};
|