From 980201fb4986f22578659e64574a5a98cd39627f Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 5 Apr 2026 09:39:55 +0200 Subject: [PATCH] chore(db): wire ensure_venv() into connector scripts Add venv auto-activation to audio_batch, audio_connector, image_connector, qdrant_connector, and trellis_connector. Scripts re-exec into .venv/bin/python when invoked outside the venv, with a friendly error if .venv is missing. Co-Authored-By: Claude Opus 4.6 --- tooling/db/audio_batch.py | 16 +++++++++++----- tooling/db/audio_connector.py | 12 ++++++++++-- tooling/db/image_connector.py | 10 +++++++++- tooling/db/qdrant_connector.py | 12 +++++++++--- tooling/db/trellis_connector.py | 13 ++++++++++--- 5 files changed, 49 insertions(+), 14 deletions(-) diff --git a/tooling/db/audio_batch.py b/tooling/db/audio_batch.py index 419bce4f6..8b6af3c11 100644 --- a/tooling/db/audio_batch.py +++ b/tooling/db/audio_batch.py @@ -8,12 +8,18 @@ Usage: python3 audio_batch.py manifest.json [--dry-run] [--only ID,ID,...] [--skip-existing] """ -import json -import math -import os -import struct -import subprocess import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from common import ensure_venv # noqa: E402 + +ensure_venv() + +import json +import os +import subprocess import wave import numpy as np diff --git a/tooling/db/audio_connector.py b/tooling/db/audio_connector.py index a19473813..89b78c6af 100644 --- a/tooling/db/audio_connector.py +++ b/tooling/db/audio_connector.py @@ -10,14 +10,22 @@ Usage: python3 audio_connector.py health """ +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from common import ensure_venv # noqa: E402 + +ensure_venv() + import json import os +import shutil import subprocess -import sys import time import urllib.error import urllib.request -import shutil CONFIG_PATH = os.path.join(os.path.dirname(__file__), "config.json") diff --git a/tooling/db/image_connector.py b/tooling/db/image_connector.py index 6c0884991..e7eb3e1c1 100755 --- a/tooling/db/image_connector.py +++ b/tooling/db/image_connector.py @@ -10,10 +10,18 @@ Usage: python3 image_connector.py generate "prompt" [--output file.png] [--aspect 1:1] [--size 1K] [--input image.png] """ +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from common import ensure_venv # noqa: E402 + +ensure_venv() + import base64 import json import os -import sys import urllib.error import urllib.request diff --git a/tooling/db/qdrant_connector.py b/tooling/db/qdrant_connector.py index 7abd29436..e0559cb96 100755 --- a/tooling/db/qdrant_connector.py +++ b/tooling/db/qdrant_connector.py @@ -14,14 +14,20 @@ Usage: Requires only Python 3 stdlib (no pip dependencies). """ +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from common import ensure_venv # noqa: E402 + +ensure_venv() + import hashlib import json -import os import re -import sys import urllib.error import urllib.request -from pathlib import Path # --------------------------------------------------------------------------- # Paths / Config diff --git a/tooling/db/trellis_connector.py b/tooling/db/trellis_connector.py index a49035254..8dc21f093 100755 --- a/tooling/db/trellis_connector.py +++ b/tooling/db/trellis_connector.py @@ -36,15 +36,22 @@ Gradio API Parameter Reference (TRELLIS v1, microsoft/TRELLIS): - CUDA device mismatch after crash: restart the container to clear GPU state """ -import base64 +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +from common import ensure_venv # noqa: E402 + +ensure_venv() + import json import os import shutil -import sys import time import urllib.error -import urllib.request import urllib.parse +import urllib.request CONFIG_PATH = os.path.join(os.path.dirname(__file__), "config.json")