From 222912d14b8320555a4fce24848b73191076a57f Mon Sep 17 00:00:00 2001 From: Vini Brasil Date: Thu, 22 May 2025 16:37:54 -0300 Subject: [PATCH] Add crew name attribute to `CrewBase` annotated classes (#2890) * Add crew name attribute to `CrewBase` annotated classes * Fix linting issue --- src/crewai/project/crew_base.py | 1 + tests/project_test.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/crewai/project/crew_base.py b/src/crewai/project/crew_base.py index e90a0d30e..96bae2f24 100644 --- a/src/crewai/project/crew_base.py +++ b/src/crewai/project/crew_base.py @@ -252,5 +252,6 @@ def CrewBase(cls: T) -> T: # Include base class (qual)name in the wrapper class (qual)name. WrappedClass.__name__ = CrewBase.__name__ + "(" + cls.__name__ + ")" WrappedClass.__qualname__ = CrewBase.__qualname__ + "(" + cls.__name__ + ")" + WrappedClass._crew_name = cls.__name__ return cast(T, WrappedClass) diff --git a/tests/project_test.py b/tests/project_test.py index 0ca435895..affdf234a 100644 --- a/tests/project_test.py +++ b/tests/project_test.py @@ -1,5 +1,4 @@ from typing import List -from unittest.mock import patch import pytest @@ -234,3 +233,7 @@ def test_multiple_before_after_kickoff(): assert "plants" in result.raw, "First before_kickoff not executed" assert "processed first" in result.raw, "First after_kickoff not executed" assert "processed second" in result.raw, "Second after_kickoff not executed" + +def test_crew_name(): + crew = InternalCrew() + assert crew._crew_name == "InternalCrew"