aboutsummaryrefslogtreecommitdiff
path: root/app/backends/sglomni/catalog.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/backends/sglomni/catalog.py')
-rw-r--r--app/backends/sglomni/catalog.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/app/backends/sglomni/catalog.py b/app/backends/sglomni/catalog.py
index 160eb8b..f20509f 100644
--- a/app/backends/sglomni/catalog.py
+++ b/app/backends/sglomni/catalog.py
@@ -104,10 +104,16 @@ _QWEN_EXTRAS: Tuple[Extra, ...] = (
_SOX_HINT = ("install the sox system package (e.g. sudo pacman -S sox, "
"sudo apt install sox, brew install sox)")
# The Fish Audio and ZONOS2 pipelines use the Descript DAC codec, which
-# upstream installs WITH dependencies (nothing conflicts).
+# upstream installs WITH dependencies — but descript-audiotools carries a
+# vestigial 2021-era pin, protobuf<3.20 (its code never imports protobuf),
+# that downgrades the protobuf 6.x the sglang-omni stack itself needs
+# (smg-grpc-proto, grpcio health/reflection, cutlass-dsl, onnxruntime,
+# s3prl all demand >=4). The final extra re-pins protobuf AFTER
+# descript-audiotools so the downgrade never survives the install.
_DAC_EXTRAS: Tuple[Extra, ...] = (
("descript-audiotools==0.7.2", False),
- ("descript-audio-codec==1.0.0", False))
+ ("descript-audio-codec==1.0.0", False),
+ ("protobuf==6.33.6", False))
# Companion distributions whose top-level import name differs from the pip
# name's plain dash-to-underscore normalization (verified against their
@@ -115,6 +121,11 @@ _DAC_EXTRAS: Tuple[Extra, ...] = (
_EXTRA_IMPORT_OVERRIDES = {
"descript-audiotools": "audiotools",
"descript-audio-codec": "dac",
+ # Not a naming quirk: a version marker. `google.protobuf` imports just
+ # as happily at the downgraded 3.19.6 as at the required 6.33.6, but
+ # this submodule only exists from protobuf 5.27 — so the venv probe
+ # fails (and the extra re-installs) whenever the audiotools pin won.
+ "protobuf": "google.protobuf.runtime_version",
}