[package] name = "wickra-data" description = "Data sources for Wickra: CSV readers, tick-to-candle aggregator, and live exchange feeds." version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true readme.workspace = true keywords.workspace = true categories.workspace = true documentation = "https://docs.rs/wickra-data" # Render the docs on docs.rs with every feature enabled so the optional # live-binance feed is documented (otherwise it is hidden behind its feature). [package.metadata.docs.rs] all-features = true [lints] workspace = true [dependencies] wickra-core = { workspace = true } thiserror = { workspace = true } csv = "1.3" serde = { version = "1", features = ["derive"] } serde_json = "1" # Async / live feeds are opt-in: only pulled when a `live-*` feature is requested. tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "net", "time", "io-util"], optional = true } tokio-tungstenite = { version = "0.29", optional = true, features = ["native-tls"] } futures-util = { version = "0.3", optional = true } url = { version = "2", optional = true } [features] default = [] # Each exchange is gated so users only pay for the WS stack they actually want. live-binance = ["dep:tokio", "dep:tokio-tungstenite", "dep:futures-util", "dep:url"] [dev-dependencies] approx = { workspace = true } tempfile = "3"