Cargo Features

[dependencies]
openai_dive = { version = "0.7.1", default-features = false, features = ["download", "stream", "rustls-tls", "realtime", "tokio", "tokio-util", "log"] }
default = reqwest, tokio, tokio-util

These default features are set whenever openai_dive is added without default-features = false somewhere in the dependency tree.

Enables default-tls of reqwest

reqwest:

Note: this doesn't enable the 'native-tls' feature, which adds specific functionality for it.

download

Enables base64 and futures

Affects helpers::generate_file_name

stream

Enables futures, reqwest-eventsource, and tokio-stream

Affects chat::RoleTrackingStream, audio::StreamAudioSpeechParameters, audio::AudioSpeechResponseChunkResponse, chat::ChatCompletionChunkResponse, chat::ChatCompletionChunkChoice

rustls-tls

Enables rustls-tls of reqwest

realtime = reqwest-websocket

Affects endpoints::realtime, resources::realtime

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

reqwest default rustls-tls?

Affects v1::api, v1::endpoints, v1::helpers

reqwest-websocket realtime?
tokio default
tokio-util default
log implicit feature

Enables log

log:

A lightweight logging facade for Rust