[package] name = "data" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true documentation.workspace = true publish.workspace = true keywords.workspace = true categories.workspace = true description = "Market data ingestion and broker integration for high-frequency trading systems" [dependencies] # Core dependencies tokio = { workspace = true } tokio-stream = { workspace = true } tokio-util = "0.7" anyhow = { workspace = true } thiserror = { workspace = true } uuid = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } chrono = { workspace = true } tracing = { workspace = true } async-trait = { workspace = true } futures = { workspace = true } futures-util = "0.3" bytes = { workspace = true } # Network and connectivity reqwest = { workspace = true } tokio-tungstenite = { workspace = true } url = { workspace = true } # Data providers databento = "0.34.0" # Benzinga dependencies already present: reqwest, tokio-tungstenite, serde_json native-tls = { workspace = true } tokio-native-tls = { workspace = true } # FIX protocol and broker connectivity xml-rs = { workspace = true } time = { workspace = true } hex = { workspace = true } md5 = { workspace = true } # Financial types and calculations rust_decimal = { workspace = true } rust_decimal_macros = { workspace = true } # Configuration and utilities config = { workspace = true } toml = { workspace = true } base64 = { workspace = true } regex = { workspace = true } # Collections and performance # Compression and serialization flate2 = "1.0" zstd = "0.13" lz4 = "1.24" bincode = "1.3" sha2 = "0.10" hashbrown = "0.14" smallvec = { workspace = true } fastrand = { workspace = true } crossbeam = { workspace = true } crossbeam-channel = { workspace = true } # Parquet support for market data persistence - temporarily disabled due to chrono compatibility issues parquet = "56.2" arrow = "56.2" dashmap = { workspace = true } parking_lot = { workspace = true } # Workspace crates core = { workspace = true } [dev-dependencies] tokio-test = { workspace = true } proptest = { workspace = true } tempfile = { workspace = true } wiremock = { workspace = true } tracing-subscriber = { workspace = true } [features] default = ["databento", "benzinga", "icmarkets"] databento = [] benzinga = [] icmarkets = [] ib = [] mock = [] [[example]] name = "icmarkets_demo" path = "examples/icmarkets_demo.rs" required-features = ["icmarkets"] [[example]] name = "broker_connection" path = "examples/broker_connection.rs" [lints] workspace = true