#!/usr/bin/env python3 """List Ollama models on nvidia.hell:11434 with size + capabilities.""" import json import urllib.request BASE = "http://nvidia.hell:11434" with urllib.request.urlopen(f"{BASE}/api/tags", timeout=10) as r: tags = json.load(r) models = [] for m in tags.get("models", []): name = m.get("name") size = m.get("size", 0) # fetch capabilities via /api/show req = urllib.request.Request( f"{BASE}/api/show", data=json.dumps({"model": name}).encode(), headers={"Content-Type": "application/json"}, ) try: with urllib.request.urlopen(req, timeout=10) as r: show = json.load(r) caps = show.get("capabilities", []) except Exception as e: caps = [f"ERR: {e}"] models.append({"name": name, "size_gb": round(size / 1e9, 1), "capabilities": caps}) models.sort(key=lambda x: x["size_gb"]) for m in models: print(f"{m['size_gb']:>6.1f} GB {','.join(m['capabilities']):<40} {m['name']}")