From e0d3d859d2f240b3367e3660bb9d8ccca11f6898 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:59:51 +0000 Subject: [PATCH] Fix Crewai alias implementation to preserve type checking Co-Authored-By: Joe Moura --- src/crewai/crew.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/crewai/crew.py b/src/crewai/crew.py index d35003159..6098fd39a 100644 --- a/src/crewai/crew.py +++ b/src/crewai/crew.py @@ -1398,16 +1398,17 @@ class Crew(BaseModel): raise RuntimeError(f"Failed to reset {name} memory") from e -def _get_crewai(): - warnings.warn( - "Crewai is deprecated, use Crew instead.", - DeprecationWarning, - stacklevel=2 - ) - return Crew - -class _CrewaiDescriptor: - def __get__(self, obj, objtype=None): - return _get_crewai() - -sys.modules[__name__].__dict__['Crewai'] = _get_crewai() +class Crewai(Crew): + """Alias for Crew class to provide backward compatibility. + + This class inherits from Crew and provides the same functionality, + but emits a deprecation warning when used. + """ + + def __new__(cls, *args, **kwargs): + warnings.warn( + "Crewai is deprecated, use Crew instead.", + DeprecationWarning, + stacklevel=2 + ) + return super().__new__(cls)