[package]
name = "rustrade-data"
version = "0.6.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
documentation = "https://docs.rs/rustrade-data"
readme = "README.md"
description = "High performance & normalised WebSocket intergration for leading cryptocurrency exchanges - batteries included."
[features]
default = []
ibkr = ["dep:ibapi", "dep:time", "dep:quick-xml", "rustrade-instrument/ibkr"]
hyperliquid = ["dep:hyperliquid_rust_sdk"]
alpaca = ["rust_decimal/serde-with-float"]
databento = ["dep:databento"]
lse = ["dep:sha2", "dep:hex", "reqwest/stream", "tokio/fs", "tokio/io-util"]
lse-parquet = ["lse", "dep:parquet"]
massive = ["dep:tokio-tungstenite", "dep:urlencoding", "rust_decimal/serde-with-float", "serde_json/raw_value"]
[dev-dependencies]
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }
rust_decimal_macros = { workspace = true }
time = { version = "0.3", features = ["macros"] }
temp-env = { workspace = true }
serial_test = { workspace = true }
wiremock = { workspace = true }
http = { workspace = true }
tokio = { workspace = true, features = ["test-util", "macros", "rt-multi-thread"] }
tempfile = { workspace = true }
sha2 = { workspace = true }
hex = { workspace = true }
tokio-tungstenite = { workspace = true }
[dependencies]
rustrade-integration = { workspace = true, features = ["channel", "collection", "corporate-action", "error", "protocol", "serde", "subscription", "stream"] }
rustrade-instrument = { workspace = true }
rustrade-macro = { workspace = true }
tracing = { workspace = true }
tokio = { workspace = true, features = ["sync", "macros", "rt-multi-thread"] }
tokio-stream = { workspace = true, features = ["sync"] }
futures = { workspace = true }
futures-util = { workspace = true }
async-stream = { workspace = true }
sha2 = { workspace = true, optional = true }
hex = { workspace = true, optional = true }
parquet = { version = "59.1.0", default-features = false, features = ["zstd"], optional = true }
url = { workspace = true }
reqwest = { workspace = true}
thiserror = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
parking_lot = { workspace = true }
rust_decimal = { workspace = true, features = ["serde-with-str"] }
smol_str = { workspace = true, features = ["serde"] }
chrono = { workspace = true, features = ["serde"] }
derive_more = { workspace = true }
itertools = { workspace = true }
vecmap-rs = { workspace = true }
fnv = { workspace = true }
ibapi = { version = "=4.0.1", optional = true, default-features = false, features = ["sync"] }
time = { version = "0.3", optional = true, features = ["macros"] }
quick-xml = { workspace = true, optional = true }
hyperliquid_rust_sdk = { version = "0.6", optional = true }
databento = { version = "0.61", optional = true, features = ["chrono"] }
tokio-tungstenite = { version = "0.30", optional = true, features = ["native-tls"] }
urlencoding = { version = "2.1", optional = true }
[[test]]
name = "alpaca_corporate_actions"
required-features = ["alpaca"]
[[test]]
name = "alpaca_data"
required-features = ["alpaca"]
[[test]]
name = "alpaca_pagination"
required-features = ["alpaca"]
[[test]]
name = "databento_integration"
required-features = ["databento"]
[[test]]
name = "databento_transformer"
required-features = ["databento"]
[[test]]
name = "hyperliquid_data"
required-features = ["hyperliquid"]
[[test]]
name = "hyperliquid_spot_data"
required-features = ["hyperliquid"]
[[test]]
name = "ibkr_flex_corporate_actions"
required-features = ["ibkr"]
[[test]]
name = "ibkr_integration"
required-features = ["ibkr"]
[[test]]
name = "lse_export"
required-features = ["lse"]
[[test]]
name = "lse_vault"
required-features = ["lse"]
[[test]]
name = "lse_vault_canary"
required-features = ["lse"]
[[test]]
name = "lse_ws_handshake"
required-features = ["lse"]
[[test]]
name = "lse_ws_canary"
required-features = ["lse"]
[[test]]
name = "lse_export_canary"
required-features = ["lse-parquet"]
[[test]]
name = "lse_parquet"
required-features = ["lse-parquet"]
[[test]]
name = "massive_integration"
required-features = ["massive"]
[[test]]
name = "massive_pagination"
required-features = ["massive"]
[[example]]
name = "download_databento_fixtures"
required-features = ["databento"]
[[example]]
name = "hyperliquid_historical"
required-features = ["hyperliquid"]
[[example]]
name = "hyperliquid_market_data"
required-features = ["hyperliquid"]
[[example]]
name = "hyperliquid_spot_market_data"
required-features = ["hyperliquid"]
[[example]]
name = "lse_candles"
required-features = ["lse"]
[[example]]
name = "lse_export"
required-features = ["lse-parquet"]
[[example]]
name = "lse_market_data"
required-features = ["lse"]
[[example]]
name = "ibkr_historical"
required-features = ["ibkr"]
[[example]]
name = "ibkr_market_data"
required-features = ["ibkr"]
[[example]]
name = "ibkr_flex_corporate_actions"
required-features = ["ibkr"]