[package]
name = "schwab"
version = "0.1.1"
edition = "2024"
rust-version = "1.88"
description = "Unofficial Rust client library for the Schwab API, unaffiliated with Schwab brokerage or thinkorswim"
license = "Apache-2.0"
repository = "https://github.com/major/schwab-rs"
homepage = "https://github.com/major/schwab-rs"
keywords = ["schwab", "trading", "finance", "api-client"]
categories = ["api-bindings", "finance"]

[dependencies]
base64 = "0.22.1"
rand = "0.10.0"
rcgen = "0.14.0"
reqwest = { version = "0.13.3", default-features = false, features = ["form", "json", "query", "rustls"] }
rustls = { version = "0.23.35", default-features = false, features = ["ring", "std"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
thiserror = "2.0.18"
tracing = "0.1"
tokio = { version = "1.48.0", features = ["rt", "sync"] }
urlencoding = "2.1.3"
rust_decimal = { version = "1.37", features = ["serde-with-float"], optional = true }

[features]
decimal = ["dep:rust_decimal"]
test_online = []

[dev-dependencies]
assert-json-diff = "2"
mockito = "1"
tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread"] }

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