#!/usr/bin/env python3 from __future__ import annotations import argparse import importlib.util import sys DEP_GROUPS = { "diffsynth": [ "torch", "transformers", "diffsynth", "safetensors", "imageio", "PIL", "requests", "vgen", ], "qwen35_27b": [ "torch", "transformers", "vllm", ], "cosyvoice": [ "torch", "torchaudio", "cosyvoice", ], } def main() -> None: parser = argparse.ArgumentParser(description="Check required Python imports.") parser.add_argument("--group", required=True, choices=sorted(DEP_GROUPS)) args = parser.parse_args() missing = [name for name in DEP_GROUPS[args.group] if importlib.util.find_spec(name) is None] if missing: print(f"[FAIL] {args.group}: missing {', '.join(missing)}", file=sys.stderr) raise SystemExit(1) print(f"[ OK ] {args.group}: all imports available") if __name__ == "__main__": main()