[package]
edition = "2021"
name = "studio-worker"
version = "0.4.5"
authors = ["Webber Takken"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pull-based image-generation worker for the minis.gg studio."
homepage = "https://github.com/webbertakken/studio-worker"
readme = "README.md"
keywords = [
"studio",
"image-generation",
"worker",
"inference",
]
categories = ["command-line-utilities"]
license = "MIT"
repository = "https://github.com/webbertakken/studio-worker"
[features]
all = [
"ui",
"llama",
"image-candle",
"image-onnx",
"video",
"tts",
]
all-engines-llm = [
"llama",
"image-candle",
"video",
"tts",
]
all-engines-stt = [
"whisper",
"image-candle",
"video",
"tts",
]
default = ["ui"]
image-candle = [
"dep:candle-core",
"dep:candle-nn",
"dep:candle-transformers",
"dep:tokenizers",
"dep:hf-hub",
]
image-onnx = ["dep:ort"]
llama = [
"dep:llama-cpp-2",
"dep:encoding_rs",
]
tts = []
ui = [
"dep:egui",
"dep:eframe",
"dep:notify-rust",
"dep:rfd",
"dep:tray-icon",
"dep:ksni",
]
video = ["dep:gif"]
whisper = ["dep:whisper-rs"]
[lib]
name = "studio_worker"
path = "src/lib.rs"
[[bin]]
name = "studio-worker"
path = "src/main.rs"
[[test]]
name = "auto_register_http"
path = "tests/auto_register_http.rs"
[[test]]
name = "auto_register_orchestration"
path = "tests/auto_register_orchestration.rs"
[[test]]
name = "auto_register_save_tracing"
path = "tests/auto_register_save_tracing.rs"
[[test]]
name = "auto_update"
path = "tests/auto_update.rs"
[[test]]
name = "config_tracing"
path = "tests/config_tracing.rs"
[[test]]
name = "engine_download"
path = "tests/engine_download.rs"
[[test]]
name = "engine_tracing"
path = "tests/engine_tracing.rs"
[[test]]
name = "host_probe_tracing"
path = "tests/host_probe_tracing.rs"
[[test]]
name = "http_contract"
path = "tests/http_contract.rs"
[[test]]
name = "http_errors"
path = "tests/http_errors.rs"
[[test]]
name = "multi_modal"
path = "tests/multi_modal.rs"
[[test]]
name = "real_candle_image"
path = "tests/real_candle_image.rs"
[[test]]
name = "real_llama"
path = "tests/real_llama.rs"
[[test]]
name = "real_whisper"
path = "tests/real_whisper.rs"
[[test]]
name = "register_reset"
path = "tests/register_reset.rs"
[[test]]
name = "runtime_helpers"
path = "tests/runtime_helpers.rs"
[[test]]
name = "runtime_observers"
path = "tests/runtime_observers.rs"
[[test]]
name = "runtime_startup_tracing"
path = "tests/runtime_startup_tracing.rs"
[[test]]
name = "runtime_ticks"
path = "tests/runtime_ticks.rs"
[[test]]
name = "sd_provision"
path = "tests/sd_provision.rs"
[[test]]
name = "telemetry"
path = "tests/telemetry.rs"
[[test]]
name = "ws_client_contract"
path = "tests/ws_client_contract.rs"
[[test]]
name = "ws_session_full_loop"
path = "tests/ws_session_full_loop.rs"
[[test]]
name = "ws_wire"
path = "tests/ws_wire.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.candle-core]
version = "0.10.2"
optional = true
[dependencies.candle-nn]
version = "0.10.2"
optional = true
[dependencies.candle-transformers]
version = "0.10.2"
optional = true
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"serde",
]
default-features = false
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.directories]
version = "5.0"
[dependencies.eframe]
version = "0.34"
features = [
"default_fonts",
"glow",
"wayland",
"x11",
]
optional = true
default-features = false
[dependencies.egui]
version = "0.34"
optional = true
default-features = false
[dependencies.futures-util]
version = "0.3"
features = [
"sink",
"std",
]
default-features = false
[dependencies.getrandom]
version = "0.3"
[dependencies.gif]
version = "0.13"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.hf-hub]
version = "0.4"
optional = true
[dependencies.hostname]
version = "0.4"
[dependencies.hound]
version = "3.5.1"
[dependencies.image]
version = "0.25"
features = [
"png",
"webp",
]
default-features = false
[dependencies.libloading]
version = "0.8"
[dependencies.notify-rust]
version = "4"
optional = true
[dependencies.ort]
version = "2.0.0-rc.10"
features = [
"std",
"ndarray",
"tracing",
"download-binaries",
"copy-dylibs",
"tls-rustls",
"api-24",
]
optional = true
default-features = false
[dependencies.parking_lot]
version = "0.12"
[dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
"multipart",
"rustls-tls-webpki-roots",
"charset",
"http2",
]
default-features = false
[dependencies.rfd]
version = "0.15"
features = [
"xdg-portal",
"tokio",
]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"logging",
"tls12",
]
default-features = false
[dependencies.semver]
version = "1.0.28"
[dependencies.sentry]
version = "0.48"
features = [
"backtrace",
"contexts",
"panic",
"reqwest",
"rustls",
]
default-features = false
[dependencies.sentry-tracing]
version = "0.48"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "2"
[dependencies.tokenizers]
version = "0.22"
features = ["onig"]
optional = true
default-features = false
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"time",
"sync",
"signal",
]
[dependencies.tokio-tungstenite]
version = "0.27"
features = [
"connect",
"rustls-tls-webpki-roots",
]
default-features = false
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.url]
version = "2.5"
[dependencies.whisper-rs]
version = "0.14"
optional = true
default-features = false
[dependencies.whoami]
version = "1.5"
[dependencies.zip]
version = "8.6"
features = ["deflate"]
default-features = false
[dev-dependencies.dirs]
version = "6.0.0"
[dev-dependencies.sentry]
version = "0.48"
features = ["test"]
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"time",
"sync",
"net",
]
[dev-dependencies.tokio-tungstenite]
version = "0.27"
features = ["handshake"]
default-features = false
[dev-dependencies.wiremock]
version = "0.6"
[dev-dependencies.zip]
version = "8.6"
features = ["deflate"]
default-features = false
[target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies.tray-icon]
version = "0.24"
optional = true
[target.'cfg(not(target_os = "windows"))'.dependencies.encoding_rs]
version = "0.8"
optional = true
[target.'cfg(not(target_os = "windows"))'.dependencies.llama-cpp-2]
version = "0.1.124"
optional = true
default-features = false
[target.'cfg(target_os = "linux")'.dependencies.ksni]
version = "0.3"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.winreg]
version = "0.52"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage_nightly)"]
[profile.dist]
lto = "thin"
inherits = "release"
[profile.release]
lto = "thin"
codegen-units = 1
strip = "symbols"