rustrade-integration 0.2.0

Low-level framework for composing flexible web integrations, especially with financial exchanges
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"