[package]
edition = "2021"
rust-version = "1.78"
name = "euhadra"
version = "0.3.0"
build = false
exclude = [
"/.github/",
"/docs/",
"/scripts/",
"/models/",
"/patches/",
"/git-hooks/",
"/tests/evaluation/",
"CLAUDE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A programmable voice input framework — ASR, LLM refinement, and OS integration as composable adapters"
documentation = "https://docs.rs/euhadra"
readme = "README.md"
keywords = [
"speech-recognition",
"asr",
"dictation",
"voice",
"pipeline",
]
categories = [
"multimedia::audio",
"text-processing",
"api-bindings",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/penta2himajin/euhadra"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
cli = [
"dep:clap",
"dep:tracing-subscriber",
"mic",
"clipboard",
]
clipboard = ["dep:arboard"]
default = []
mic = ["dep:cpal"]
onnx = [
"dep:ort",
"dep:ndarray",
"dep:tokenizers",
"dep:parakeet-rs-featsize",
"dep:rustfft",
]
testing = []
vad = ["dep:earshot"]
[lib]
name = "euhadra"
path = "src/lib.rs"
[[bin]]
name = "euhadra"
path = "src/main.rs"
required-features = ["cli"]
[[example]]
name = "bench_dolphin_ko"
path = "examples/bench_dolphin_ko.rs"
required-features = ["onnx"]
[[example]]
name = "bench_whisper_onnx_ko"
path = "examples/bench_whisper_onnx_ko.rs"
required-features = ["onnx"]
[[example]]
name = "check_embedder"
path = "examples/check_embedder.rs"
required-features = ["onnx"]
[[example]]
name = "dump_canary_rust_tensors"
path = "examples/dump_canary_rust_tensors.rs"
required-features = ["onnx"]
[[example]]
name = "eval_l1_fast"
path = "examples/eval_l1_fast.rs"
[[example]]
name = "eval_l1_smoke"
path = "examples/eval_l1_smoke.rs"
[[example]]
name = "eval_l2"
path = "examples/eval_l2.rs"
[[example]]
name = "eval_l3"
path = "examples/eval_l3.rs"
[[example]]
name = "eval_paragraph"
path = "examples/eval_paragraph.rs"
required-features = ["onnx"]
[[example]]
name = "eval_vad"
path = "examples/eval_vad.rs"
required-features = [
"onnx",
"vad",
]
[[example]]
name = "score_hypotheses"
path = "examples/score_hypotheses.rs"
[[test]]
name = "backpressure"
path = "tests/backpressure.rs"
[[test]]
name = "cancellation"
path = "tests/cancellation.rs"
[[test]]
name = "fallback"
path = "tests/fallback.rs"
[[test]]
name = "pipeline_e2e"
path = "tests/pipeline_e2e.rs"
[[test]]
name = "router_onnx_factories"
path = "tests/router_onnx_factories.rs"
[[test]]
name = "router_sensevoice"
path = "tests/router_sensevoice.rs"
[[test]]
name = "router_whisper_local"
path = "tests/router_whisper_local.rs"
[[test]]
name = "term_dictionary"
path = "tests/term_dictionary.rs"
[[test]]
name = "vad_streaming"
path = "tests/vad_streaming.rs"
[dependencies.arboard]
version = "3"
optional = true
default-features = false
[dependencies.async-trait]
version = "0.1"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
optional = true
[dependencies.cpal]
version = "0.15"
optional = true
[dependencies.earshot]
version = "1.2"
optional = true
[dependencies.ndarray]
version = "0.17"
optional = true
[dependencies.ort]
version = "2.0.0-rc.13"
optional = true
[dependencies.parakeet-rs-featsize]
version = "0.3.8"
optional = true
[dependencies.rustfft]
version = "6"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.text-processing-rs]
version = "0.2.2"
[dependencies.thiserror]
version = "2"
[dependencies.tokenizers]
version = "0.21"
optional = true
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dev-dependencies.rustfft]
version = "6"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]