[package]
name = "trailbase-client"
version = "0.8.1"
edition = "2024"
license = "Apache-2.0 OR OSL-3.0"
description = "Client for accessing TrailBase's record APIs"
homepage = "https://trailbase.io"
repository = "https://github.com/trailbaseio/trailbase"
readme = "../../README.md"
exclude = [
  "tests",
]

[features]
default = []
ws = ["dep:reqwest-websocket"]

[dependencies]
async-trait = "0.1.89"
bytes = "1.11.1"
eventsource-stream = { version = "0.2.3", features = [] }
futures-lite = "2.6.1"
http = "1.4.0"
http-body-util = "0.1.3"
jsonwebtoken = { version = "10.2.0", default-features = false, features = ["rust_crypto"] }
parking_lot = { workspace = true }
reqwest = { version = "0.13.1", features = ["stream"] }
reqwest-websocket = { version = "0.6.0", features = ["json"], optional = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_repr = "0.1.20"
thiserror = "2.0.12"
tracing = "0.1.41"
url = "2.5.4"

[dev-dependencies]
base64 = { version = "0.22.1", default-features = false, features = ["alloc"] }
futures-util = { workspace = true }
lazy_static = "1.4.0"
reqwest = { version = "0.13.1", features = ["stream", "multipart", "json"] }
rustix = { version = "1.1.4", features = ["process"] }
temp-dir = "0.2.0"
tokio = { version = "1.43.0", features = ["macros", "rt-multi-thread", "process"] }
totp-rs = { version = "5.7.1", default-features = false, features = ["otpauth"] }
