wickra-data 0.1.4

Data sources for Wickra: CSV readers, tick-to-candle aggregator, and live exchange feeds.
[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

[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.24", 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"
wickra = { path = "../wickra" }
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

[[example]]
name = "live_binance"
required-features = ["live-binance"]