[package]
name = "async-openai-alt"
version = "0.26.2"
authors = ["TabbyML", "Himanshu Neema"]
categories = ["api-bindings", "web-programming", "asynchronous"]
keywords = ["openai", "async", "openapi", "ai"]
description = "Rust library for OpenAI"
edition = "2021"
rust-version = "1.65"
license = "MIT"
readme = "README.md"
homepage = "https://github.com/TabbyML/async-openai"
repository = "https://github.com/TabbyML/async-openai"

[features]
default = ["rustls"]
# Enable rustls for TLS support
rustls = ["reqwest/rustls-tls-native-roots"]
# Enable rustls and webpki-roots
rustls-webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
# Enable native-tls for TLS support
native-tls = ["reqwest/native-tls"]
# Remove dependency on OpenSSL
native-tls-vendored = ["reqwest/native-tls-vendored"]
realtime = ["dep:tokio-tungstenite"]

[dependencies]
backoff = { version = "0.4.0", features = ["tokio"] }
base64 = "0.22.1"
futures = "0.3.30"
rand = "0.8.5"
reqwest = { version = "0.12.4", features = [
    "json",
    "stream",
    "multipart",
], default-features = false }
reqwest-eventsource = "0.6.0"
serde = { version = "1.0.203", features = ["derive", "rc"] }
serde_json = "1.0.117"
thiserror = "1.0.61"
tokio = { version = "1.38.0", features = ["fs", "macros"] }
tokio-stream = "0.1.15"
tokio-util = { version = "0.7.11", features = ["codec", "io-util"] }
tracing = "0.1.40"
derive_builder = "0.20.0"
async-convert = "1.0.0"
secrecy = { version = "0.8.0", features = ["serde"] }
bytes = "1.6.0"
eventsource-stream = "0.2.3"
tokio-tungstenite = { version = "0.24.0", optional = true, default-features = false }

[dev-dependencies]
tokio-test = "0.4.4"

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