[package]
edition.workspace = true
name = "longbridge"
version.workspace = true
description = "Longbridge OpenAPI SDK for Rust"
homepage = "https://open.longbridge.com/en/"
readme = "README.md"
repository = "https://github.com/longbridge/openapi"
license = "MIT OR Apache-2.0"
keywords = ["longbridge", "openapi", "sdk"]
categories = ["api-bindings"]

[features]
blocking = ["flume", "longbridge-oauth/blocking"]

[dependencies]
longbridge-wscli.workspace = true
longbridge-httpcli.workspace = true
longbridge-proto.workspace = true
longbridge-candlesticks.workspace = true
longbridge-oauth.workspace = true

tokio = { workspace = true, features = ["time", "rt", "macros", "sync", "net"] }
tokio-tungstenite.workspace = true
rust_decimal = { workspace = true, features = ["serde-with-str", "maths"] }
num_enum.workspace = true
prost.workspace = true
tracing.workspace = true
bitflags = { workspace = true, features = ["serde"] }
futures-util.workspace = true
time = { workspace = true, features = [
  "parsing",
  "macros",
  "formatting",
  "serde",
  "serde-human-readable",
] }
flume = { workspace = true, optional = true }
thiserror.workspace = true
strum.workspace = true
strum_macros.workspace = true
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
dotenv.workspace = true
http.workspace = true
comfy-table.workspace = true
itertools.workspace = true
tracing-subscriber.workspace = true
tracing-appender.workspace = true
time-tz.workspace = true
anyhow = "1.0"
url.workspace = true

[dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread"] }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
