scribble 0.5.1

High-level Rust API for audio transcription using Whisper
Documentation
[[bin]]
name = "model-downloader"
path = "src/bin/model-downloader.rs"
required-features = ["bin-model-downloader"]

[[bin]]
name = "scribble-cli"
path = "src/bin/scribble-cli.rs"
required-features = ["bin-scribble-cli"]

[[bin]]
name = "scribble-server"
path = "src/bin/scribble-server/main.rs"
required-features = ["bin-scribble-server"]

[dependencies.anyhow]
version = "1"

[dependencies.audioadapter]
version = "2"

[dependencies.audioadapter-buffers]
version = "2"

[dependencies.axum]
features = ["multipart"]
optional = true
version = "0.8.7"

[dependencies.clap]
features = ["derive"]
optional = true
version = "4.5"

[dependencies.futures-util]
optional = true
version = "0.3"

[dependencies.hound]
version = "3"

[dependencies.indicatif]
optional = true
version = "0.18"

[dependencies.num_cpus]
version = "1"

[dependencies.prometheus]
optional = true
version = "0.14"

[dependencies.reqwest]
default-features = false
features = ["blocking", "rustls"]
optional = true
version = "0.13.1"

[dependencies.rubato]
version = "1.0.0"

[dependencies.serde]
features = ["derive"]
version = "1"

[dependencies.serde_json]
version = "1"

[dependencies.symphonia]
features = ["all"]
version = "0.5"

[dependencies.tempfile]
version = "3"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
features = ["rt-multi-thread", "macros", "io-util", "net", "sync"]
optional = true
version = "1"

[dependencies.tokio-util]
features = ["io", "io-util"]
optional = true
version = "0.7"

[dependencies.tower-http]
features = ["trace"]
optional = true
version = "0.6"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
features = ["env-filter", "json"]
optional = true
version = "0.3"

[dependencies.uuid]
features = ["v4"]
version = "1"

[dependencies.whisper-rs]
version = "0.15"

[features]
bin-model-downloader = ["cli", "dep:indicatif", "dep:reqwest"]
bin-scribble-cli = ["cli", "logging"]
bin-scribble-server = ["cli", "logging", "dep:axum", "dep:futures-util", "dep:prometheus", "dep:tokio", "dep:tokio-util", "dep:tower-http"]
cli = ["dep:clap"]
default = []
logging = ["dep:tracing-subscriber"]

[lib]
name = "scribble"
path = "src/lib.rs"

[package]
authors = ["Josh Montoya <josh@montoya.io>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["multimedia::audio"]
description = "High-level Rust API for audio transcription using Whisper"
documentation = "https://docs.rs/scribble"
edition = "2024"
include = ["src/**", "tests/**", "README.md", "CHANGELOG.md", "AGENTS.md", "STYLEGUIDE.md", "SECURITY.md", "CONTRIBUTING.md", "CODE_OF_CONDUCT.md", "LICENSE", "banner.png", "footer.png", "demo/**"]
keywords = ["whisper", "transcription", "speech-to-text"]
license = "MIT"
name = "scribble"
readme = "README.md"
repository = "https://github.com/itsmontoya/scribble"
rust-version = "1.85"
version = "0.5.1"

[package.metadata.docs.rs]
all-features = true

[[test]]
name = "scribble"
path = "tests/scribble.rs"