From 9bd1e2a708f92abc454d11433873005288e6bc45 Mon Sep 17 00:00:00 2001 From: pnookala-godaddy Date: Mon, 30 Mar 2026 09:35:44 -0700 Subject: [PATCH] fix: use lazy import for prisma in _is_deadlock_error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit prisma is an optional dependency — a top-level import in _types.py breaks non-proxy SDK users with ImportError. --- litellm/proxy/_types.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/litellm/proxy/_types.py b/litellm/proxy/_types.py index 27f652f2241..7aa1516d656 100644 --- a/litellm/proxy/_types.py +++ b/litellm/proxy/_types.py @@ -4,7 +4,6 @@ from datetime import datetime from typing import TYPE_CHECKING, Any, Callable, Dict, List, Literal, Optional, Union import httpx -import prisma.errors from pydantic import ( BaseModel, ConfigDict, @@ -3579,6 +3578,10 @@ PRISMA_DEADLOCK_CODE = "P2034" def _is_deadlock_error(e: Exception) -> bool: """Check if a Prisma error is a PostgreSQL deadlock / write conflict (P2034).""" + try: + import prisma.errors + except ImportError: + return False return ( isinstance(e, prisma.errors.DataError) and getattr(e, "code", None) == PRISMA_DEADLOCK_CODE