[package]
edition = "2024"
rust-version = "1.95"
name = "rustrade-integration"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Low-level framework for composing flexible web integrations, especially with financial exchanges"
documentation = "https://docs.rs/rustrade-integration"
readme = "README.md"
keywords = [
"trading",
"backtesting",
"crypto",
"stocks",
"algorithmic",
]
categories = [
"finance",
"simulation",
]
license = "MIT"
repository = "https://github.com/Niqnil/rustrade"
[features]
channel = [
"dep:tokio",
"dep:tokio-stream",
"dep:derive_more",
"dep:tracing",
]
collection = [
"dep:indexmap",
"dep:fnv",
"dep:itertools",
"dep:derive_more",
]
default = [
"collection",
"error",
"protocol",
"serde",
"subscription",
"socket",
"stream",
]
error = [
"dep:url",
"dep:serde_qs",
"dep:serde_urlencoded",
"dep:thiserror",
]
full = [
"collection",
"channel",
"error",
"metric",
"protocol",
"serde",
"subscription",
"socket",
"stream",
]
metric = []
protocol = [
"error",
"metric",
"serde",
"dep:tokio-tungstenite",
"dep:reqwest",
"dep:hmac",
"dep:hex",
"dep:base64",
"dep:tokio",
"dep:chrono",
"dep:bytes",
"dep:tracing",
]
serde = [
"dep:serde_json",
"dep:prost",
"dep:bytes",
"dep:thiserror",
"dep:tracing",
"dep:chrono",
]
socket = [
"dep:tokio",
"dep:pin-project",
"dep:futures",
]
stream = [
"dep:tokio-stream",
"dep:pin-project",
"dep:futures",
"dep:rustrade-instrument",
"dep:chrono",
"dep:derive_more",
]
subscription = ["dep:smol_str"]
[lib]
name = "rustrade_integration"
path = "src/lib.rs"
[[example]]
name = "signed_get_request"
path = "examples/signed_get_request.rs"
[[example]]
name = "simple_websocket_integration"
path = "examples/simple_websocket_integration.rs"
[dependencies.base64]
version = "0.22.1"
optional = true
[dependencies.bytes]
version = "1.5.0"
optional = true
[dependencies.chrono]
version = "0.4.39"
features = [
"serde",
"serde",
]
optional = true
[dependencies.derive_more]
version = "2.0.1"
features = [
"constructor",
"display",
"from",
"display",
"constructor",
]
optional = true
[dependencies.fnv]
version = "1.0.7"
optional = true
[dependencies.futures]
version = "0.3.31"
optional = true
[dependencies.hex]
version = "0.4.3"
optional = true
[dependencies.hmac]
version = "0.13.0"
optional = true
[dependencies.indexmap]
version = "2.6.0"
optional = true
[dependencies.itertools]
version = "0.14.0"
optional = true
[dependencies.pin-project]
version = "1.1.7"
optional = true
[dependencies.prost]
version = "0.14.3"
optional = true
[dependencies.reqwest]
version = "0.13.3"
features = [
"rustls",
"json",
"query",
]
optional = true
default-features = false
[dependencies.rustrade-instrument]
version = "0.2"
optional = true
[dependencies.serde]
version = "1.0.216"
features = [
"derive",
"derive",
]
[dependencies.serde_json]
version = "1.0.133"
optional = true
[dependencies.serde_qs]
version = "1.1.1"
optional = true
[dependencies.serde_urlencoded]
version = "0.7.1"
optional = true
[dependencies.smol_str]
version = "0.3.2"
features = ["serde"]
optional = true
[dependencies.thiserror]
version = "2.0.8"
optional = true
[dependencies.tokio]
version = "1.42"
features = [
"macros",
"net",
"rt-multi-thread",
"signal",
"time",
"net",
"sync",
"macros",
"rt-multi-thread",
]
optional = true
default-features = false
[dependencies.tokio-stream]
version = "0.1.17"
optional = true
[dependencies.tokio-tungstenite]
version = "0.29.0"
features = [
"url",
"rustls-tls-webpki-roots",
]
optional = true
[dependencies.tracing]
version = "0.1.41"
optional = true
[dependencies.url]
version = "2.5.4"
optional = true
[dev-dependencies.sha2]
version = "0.11.0"
[dev-dependencies.tokio-test]
version = "0.4.4"