scribble 0.5.4

High-level Rust API for audio transcription using Whisper
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "scribble"
version = "0.5.4"
authors = ["Josh Montoya <josh@montoya.io>"]
build = false
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/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-level Rust API for audio transcription using Whisper"
documentation = "https://docs.rs/scribble"
readme = "README.md"
keywords = [
    "whisper",
    "transcription",
    "speech-to-text",
]
categories = ["multimedia::audio"]
license = "MIT"
repository = "https://github.com/itsmontoya/scribble"

[package.metadata.docs.rs]
features = [
    "bin-scribble-cli",
    "bin-model-downloader",
    "bin-scribble-server",
]

[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"]
coreml = ["whisper-rs/coreml"]
cuda = ["whisper-rs/cuda"]
default = []
hipblas = ["whisper-rs/hipblas"]
logging = ["dep:tracing-subscriber"]
metal = ["whisper-rs/metal"]
vulkan = ["whisper-rs/vulkan"]

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

[[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"]

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

[dependencies.anyhow]
version = "1"

[dependencies.audioadapter]
version = "2"

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

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

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

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

[dependencies.hound]
version = "3"

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

[dependencies.num_cpus]
version = "1"

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

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

[dependencies.rubato]
version = "1.0.1"

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

[dependencies.serde_json]
version = "1"

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

[dependencies.tempfile]
version = "3"

[dependencies.thiserror]
version = "2"

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

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

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

[dependencies.tracing]
version = "0.1"

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

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

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

[profile.release]
lto = true
codegen-units = 1

[profile.release-quick]
lto = false
codegen-units = 16
inherits = "release"