[dependencies.async-openai-macros]
optional = true
version = "0.1.0"
[dependencies.backoff]
features = ["tokio"]
optional = true
version = "0.4.0"
[dependencies.base64]
optional = true
version = "0.22"
[dependencies.bytes]
optional = true
version = "1.11"
[dependencies.derive_builder]
optional = true
version = "0.20"
[dependencies.eventsource-stream]
optional = true
version = "0.2"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.hex]
default-features = false
optional = true
version = "0.4"
[dependencies.hmac]
default-features = false
optional = true
version = "0.12"
[dependencies.rand]
optional = true
version = "0.9"
[dependencies.reqwest]
default-features = false
features = ["json", "stream", "multipart"]
optional = true
version = "0.12"
[dependencies.reqwest-eventsource]
optional = true
version = "0.6.0"
[dependencies.secrecy]
features = ["serde"]
optional = true
version = "0.10"
[dependencies.serde]
features = ["derive", "rc"]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.serde_urlencoded]
optional = true
version = "0.7"
[dependencies.sha2]
default-features = false
optional = true
version = "0.10"
[dependencies.thiserror]
optional = true
version = "2"
[dependencies.tokio]
features = ["fs", "macros"]
optional = true
version = "1"
[dependencies.tokio-stream]
optional = true
version = "0.1"
[dependencies.tokio-tungstenite]
default-features = false
optional = true
version = "0.28"
[dependencies.tokio-util]
features = ["codec", "io-util"]
optional = true
version = "0.7"
[dependencies.tracing]
optional = true
version = "0.1"
[dependencies.url]
optional = true
version = "2.5"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio-test]
version = "0.4"
[features]
_api = ["dep:async-openai-macros", "dep:backoff", "dep:base64", "dep:bytes", "dep:futures", "dep:rand", "dep:reqwest", "dep:reqwest-eventsource", "dep:thiserror", "dep:tokio", "dep:tokio-stream", "dep:tokio-util", "dep:tracing", "dep:secrecy", "dep:eventsource-stream", "dep:serde_urlencoded", "dep:url"]
administration = ["administration-types", "_api"]
administration-types = ["dep:derive_builder"]
assistant = ["assistant-types", "_api"]
assistant-types = ["dep:derive_builder"]
audio = ["audio-types", "_api"]
audio-types = ["dep:derive_builder", "dep:bytes"]
batch = ["batch-types", "_api"]
batch-types = ["dep:derive_builder"]
byot = ["dep:async-openai-macros"]
chat-completion = ["chat-completion-types", "_api"]
chat-completion-types = ["dep:derive_builder", "dep:bytes"]
chatkit = ["chatkit-types", "_api"]
chatkit-types = ["dep:derive_builder"]
completion-types = ["dep:derive_builder", "chat-completion-types"]
completions = ["completion-types", "_api"]
container = ["container-types", "_api"]
container-types = ["dep:derive_builder", "dep:bytes"]
default = ["rustls"]
embedding = ["embedding-types", "_api"]
embedding-types = ["dep:derive_builder"]
eval-types = ["dep:derive_builder", "chat-completion-types", "response-types", "grader-types"]
evals = ["eval-types", "_api"]
file = ["file-types", "_api"]
file-types = ["dep:derive_builder", "dep:bytes"]
finetuning = ["finetuning-types", "_api"]
finetuning-types = ["dep:derive_builder", "grader-types"]
full = ["responses", "webhook", "audio", "video", "image", "embedding", "evals", "finetuning", "batch", "file", "upload", "model", "moderation", "vectorstore", "chatkit", "container", "realtime", "chat-completion", "assistant", "administration", "completions", "types", "byot"]
grader = ["grader-types"]
grader-types = ["dep:derive_builder", "eval-types"]
image = ["image-types", "_api"]
image-types = ["dep:derive_builder", "dep:bytes"]
model = ["model-types", "_api"]
model-types = ["dep:derive_builder"]
moderation = ["moderation-types", "_api"]
moderation-types = ["dep:derive_builder"]
native-tls = ["dep:reqwest", "reqwest/native-tls"]
native-tls-vendored = ["dep:reqwest", "reqwest/native-tls-vendored"]
realtime = ["realtime-types", "_api", "dep:tokio-tungstenite"]
realtime-types = ["dep:derive_builder", "dep:bytes", "response-types"]
response-types = ["dep:derive_builder"]
responses = ["response-types", "_api"]
rustls = ["dep:reqwest", "reqwest/rustls-tls-native-roots"]
rustls-webpki-roots = ["dep:reqwest", "reqwest/rustls-tls-webpki-roots"]
types = ["response-types", "webhook-types", "audio-types", "video-types", "image-types", "embedding-types", "eval-types", "finetuning-types", "grader-types", "batch-types", "file-types", "upload-types", "model-types", "moderation-types", "vectorstore-types", "chatkit-types", "container-types", "realtime-types", "chat-completion-types", "assistant-types", "administration-types", "completion-types"]
upload = ["upload-types", "_api"]
upload-types = ["dep:derive_builder", "dep:bytes", "file-types"]
vectorstore = ["vectorstore-types", "_api"]
vectorstore-types = ["dep:derive_builder"]
video = ["video-types", "_api"]
video-types = ["dep:derive_builder", "dep:bytes"]
webhook = ["webhook-types", "dep:base64", "dep:thiserror", "dep:hmac", "dep:sha2", "dep:hex"]
webhook-types = ["dep:derive_builder"]
[lib]
name = "async_openai"
path = "src/lib.rs"
[package]
authors = ["Himanshu Neema"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["api-bindings", "web-programming", "asynchronous"]
description = "Rust library for OpenAI"
edition = "2021"
homepage = "https://github.com/64bit/async-openai"
keywords = ["openai", "async", "openapi", "ai"]
license = "MIT"
name = "async-openai"
readme = "README.md"
repository = "https://github.com/64bit/async-openai"
rust-version = "1.75"
version = "0.31.0"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[test]]
name = "boxed_future"
path = "tests/boxed_future.rs"
required-features = ["completions", "chat-completion-types"]
[[test]]
name = "bring_your_own_type"
path = "tests/bring_your_own_type.rs"
required-features = ["full"]
[[test]]
name = "chat_completion"
path = "tests/chat_completion.rs"
required-features = ["chat-completion-types"]
[[test]]
name = "embeddings"
path = "tests/embeddings.rs"
required-features = ["embedding-types"]
[[test]]
name = "ser_de"
path = "tests/ser_de.rs"
required-features = ["chat-completion-types"]
[[test]]
name = "whisper"
path = "tests/whisper.rs"
required-features = ["audio"]