[package]
edition = "2021"
name = "deepgram"
version = "0.9.0"
authors = ["Deepgram <developers@deepgram.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Community Rust SDK for Deepgram's automated speech recognition APIs."
readme = "README.md"
keywords = [
"transcription",
"voice-ai",
"text-to-speech",
"speech-to-text",
"asr",
]
categories = [
"api-bindings",
"multimedia::audio",
"network-programming",
]
license = "MIT"
repository = "https://github.com/deepgram/deepgram-rust-sdk"
[features]
default = [
"manage",
"listen",
"speak",
]
listen = [
"dep:tungstenite",
"dep:tokio-tungstenite",
]
manage = []
speak = []
[lib]
name = "deepgram"
path = "src/lib.rs"
[[example]]
name = "callback"
path = "examples/transcription/rest/callback.rs"
required-features = ["listen"]
[[example]]
name = "callback_stream"
path = "examples/transcription/websocket/callback_stream.rs"
required-features = ["listen"]
[[example]]
name = "grant_token"
path = "examples/auth/grant_token.rs"
[[example]]
name = "make_prerecorded_request_builder"
path = "examples/transcription/rest/make_prerecorded_request_builder.rs"
required-features = ["listen"]
[[example]]
name = "microphone_flux"
path = "examples/transcription/flux/microphone_flux.rs"
required-features = ["listen"]
[[example]]
name = "microphone_stream"
path = "examples/transcription/websocket/microphone_stream.rs"
required-features = ["listen"]
[[example]]
name = "prerecorded_from_file"
path = "examples/transcription/rest/prerecorded_from_file.rs"
required-features = ["listen"]
[[example]]
name = "prerecorded_from_url"
path = "examples/transcription/rest/prerecorded_from_url.rs"
required-features = ["listen"]
[[example]]
name = "simple_flux"
path = "examples/transcription/flux/simple_flux.rs"
required-features = ["listen"]
[[example]]
name = "simple_flux_token"
path = "examples/transcription/flux/simple_flux_token.rs"
required-features = ["listen"]
[[example]]
name = "simple_stream"
path = "examples/transcription/websocket/simple_stream.rs"
required-features = ["listen"]
[[example]]
name = "text_to_speech_to_file"
path = "examples/speak/rest/text_to_speech_to_file.rs"
required-features = ["speak"]
[[example]]
name = "text_to_speech_to_stream"
path = "examples/speak/rest/text_to_speech_to_stream.rs"
required-features = ["speak"]
[dependencies.anyhow]
version = "^1.0.98"
[dependencies.bytes]
version = "1"
[dependencies.futures]
version = "^0.3"
[dependencies.http]
version = "1.4"
[dependencies.pin-project]
version = "1"
[dependencies.reqwest]
version = "^0.13"
features = [
"json",
"rustls",
"stream",
"query",
]
default-features = false
[dependencies.serde]
version = "^1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.145"
[dependencies.serde_urlencoded]
version = "0.7.1"
[dependencies.sha256]
version = "^1.6.0"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "^1.45.1"
features = ["full"]
[dependencies.tokio-stream]
version = "^0.1.17"
[dependencies.tokio-tungstenite]
version = "^0.28.0"
features = ["rustls-tls-webpki-roots"]
optional = true
[dependencies.tokio-util]
version = "^0.7"
features = [
"codec",
"io",
]
[dependencies.tracing]
version = ">=0.1.41"
[dependencies.tungstenite]
version = "^0.28.0"
optional = true
[dependencies.url]
version = "2"
[dependencies.uuid]
version = "1"
features = ["serde"]
[dev-dependencies.audio]
version = "0.2.0"
[dev-dependencies.cpal]
version = "^0.16"
[dev-dependencies.crossbeam]
version = "0.8"
[dev-dependencies.pkg-config]
version = "0.3.30"
[dev-dependencies.rodio]
version = "0.20.1"