From 181a62100fa48c33f0abd306cec8f41d18787d84 Mon Sep 17 00:00:00 2001 From: Iris Clawd Date: Thu, 26 Mar 2026 16:25:06 +0000 Subject: [PATCH] fix: auto-use qdrant-edge on Windows where lancedb has no wheels (#5045) lancedb v0.30.x only ships wheels for Linux and macOS. On Windows, `crewai install` fails because there is no compatible distribution. This change: - Makes lancedb a platform-conditional dependency (non-Windows only) - Adds qdrant-edge-py as an automatic dependency on Windows - Defaults Memory storage to qdrant-edge on Windows Closes #5045 --- lib/crewai/pyproject.toml | 3 ++- lib/crewai/src/crewai/memory/unified_memory.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/crewai/pyproject.toml b/lib/crewai/pyproject.toml index 0133eaffa22..a92a957c149 100644 --- a/lib/crewai/pyproject.toml +++ b/lib/crewai/pyproject.toml @@ -43,7 +43,8 @@ dependencies = [ "uv~=0.9.13", "aiosqlite~=0.21.0", "pyyaml~=6.0", - "lancedb>=0.29.2,<0.30.1", + "lancedb>=0.29.2,<0.30.1; sys_platform != 'win32'", + "qdrant-edge-py>=0.6.0; sys_platform == 'win32'", ] [project.urls] diff --git a/lib/crewai/src/crewai/memory/unified_memory.py b/lib/crewai/src/crewai/memory/unified_memory.py index d879bace0cc..43b6edd246f 100644 --- a/lib/crewai/src/crewai/memory/unified_memory.py +++ b/lib/crewai/src/crewai/memory/unified_memory.py @@ -2,6 +2,7 @@ from __future__ import annotations +import sys from concurrent.futures import Future, ThreadPoolExecutor import contextvars from datetime import datetime @@ -68,7 +69,7 @@ class Memory(BaseModel): description="LLM for analysis (model name or BaseLLM instance).", ) storage: Annotated[StorageBackend | str, PlainValidator(_passthrough)] = Field( - default="lancedb", + default="qdrant-edge" if sys.platform == "win32" else "lancedb", description="Storage backend instance or path string.", ) embedder: Any = Field(