[package]
edition = "2021"
name = "studio-worker"
version = "0.2.0"
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",
"gradio",
]
categories = ["command-line-utilities"]
license = "MIT"
repository = "https://github.com/webbertakken/studio-worker"
[features]
all-engines-llm = [
"llama",
"image-candle",
"video",
"tts",
]
all-engines-stt = [
"whisper",
"image-candle",
"video",
"tts",
]
default = []
image-candle = [
"dep:candle-core",
"dep:candle-nn",
"dep:candle-transformers",
"dep:tokenizers",
"dep:hf-hub",
]
llama = [
"dep:llama-cpp-2",
"dep:encoding_rs",
]
tts = []
ui = [
"dep:egui",
"dep:eframe",
"dep:tray-icon",
"dep:notify-rust",
"dep:gtk",
]
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_update"
path = "tests/auto_update.rs"
[[test]]
name = "config_tracing"
path = "tests/config_tracing.rs"
[[test]]
name = "engine_tracing"
path = "tests/engine_tracing.rs"
[[test]]
name = "gradio_engine"
path = "tests/gradio_engine.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_and_label"
path = "tests/register_reset_and_label.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 = "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.base64]
version = "0.22"
[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.encoding_rs]
version = "0.8"
optional = true
[dependencies.futures-util]
version = "0.3"
features = [
"sink",
"std",
]
default-features = false
[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.llama-cpp-2]
version = "0.1.124"
optional = true
default-features = false
[dependencies.mp4]
version = "0.14.0"
[dependencies.notify-rust]
version = "4"
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
"multipart",
]
[dependencies.semver]
version = "1.0.28"
[dependencies.sentry]
version = "0.48"
[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.tray-icon]
version = "0.24"
optional = true
[dependencies.url]
version = "2.5"
[dependencies.whisper-rs]
version = "0.14"
optional = true
default-features = false
[dependencies.whoami]
version = "1.5"
[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"
[target.'cfg(target_os = "linux")'.dependencies.gtk]
version = "0.18"
optional = true
[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"