diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 85fdb48d4..ed73a95e2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,16 +7,18 @@ repos: language: system types: [python] files: ^lib/crewai/src/ + exclude: ^lib/crewai/ - id: ruff-format name: ruff-format entry: uv run ruff format language: system types: [python] files: ^lib/crewai/src/ + exclude: ^lib/crewai/ - id: mypy name: mypy entry: uv run mypy language: system types: [python] files: ^lib/crewai/src/ - exclude: ^lib/crewai/tests/ + exclude: ^lib/crewai/ diff --git a/lib/crewai/src/crewai/cli/templates/flow/crews/poem_crew/poem_crew.py b/lib/crewai/src/crewai/cli/templates/flow/crews/poem_crew/poem_crew.py index 1f2a81466..a3feceb77 100644 --- a/lib/crewai/src/crewai/cli/templates/flow/crews/poem_crew/poem_crew.py +++ b/lib/crewai/src/crewai/cli/templates/flow/crews/poem_crew/poem_crew.py @@ -1,7 +1,6 @@ from crewai import Agent, Crew, Process, Task -from crewai.project import CrewBase, agent, crew, task from crewai.agents.agent_builder.base_agent import BaseAgent -from typing import List +from crewai.project import CrewBase, agent, crew, task # If you want to run a snippet of code before or after the crew starts, # you can use the @before_kickoff and @after_kickoff decorators @@ -12,8 +11,8 @@ from typing import List class PoemCrew: """Poem Crew""" - agents: List[BaseAgent] - tasks: List[Task] + agents: list[BaseAgent] + tasks: list[Task] # Learn more about YAML configuration files here: # Agents: https://docs.crewai.com/concepts/agents#yaml-configuration-recommended diff --git a/lib/crewai/src/crewai/cli/templates/flow/tools/custom_tool.py b/lib/crewai/src/crewai/cli/templates/flow/tools/custom_tool.py index 718d2be1b..a76f70e28 100644 --- a/lib/crewai/src/crewai/cli/templates/flow/tools/custom_tool.py +++ b/lib/crewai/src/crewai/cli/templates/flow/tools/custom_tool.py @@ -1,7 +1,6 @@ -from typing import Type +from pydantic import BaseModel, Field from crewai.tools import BaseTool -from pydantic import BaseModel, Field class MyCustomToolInput(BaseModel): @@ -12,10 +11,8 @@ class MyCustomToolInput(BaseModel): class MyCustomTool(BaseTool): name: str = "Name of my tool" - description: str = ( - "Clear description for what this tool is useful for, your agent will need this information to use it." - ) - args_schema: Type[BaseModel] = MyCustomToolInput + description: str = "Clear description for what this tool is useful for, your agent will need this information to use it." + args_schema: type[BaseModel] = MyCustomToolInput def _run(self, argument: str) -> str: # Implementation goes here diff --git a/lib/crewai/src/crewai/context.py b/lib/crewai/src/crewai/context.py index 1701c279c..6f9b7de16 100644 --- a/lib/crewai/src/crewai/context.py +++ b/lib/crewai/src/crewai/context.py @@ -1,21 +1,23 @@ -import os import contextvars -from typing import Optional +import os from contextlib import contextmanager -_platform_integration_token: contextvars.ContextVar[Optional[str]] = contextvars.ContextVar( - "platform_integration_token", default=None +_platform_integration_token: contextvars.ContextVar[str | None] = ( + contextvars.ContextVar("platform_integration_token", default=None) ) + def set_platform_integration_token(integration_token: str) -> None: _platform_integration_token.set(integration_token) -def get_platform_integration_token() -> Optional[str]: + +def get_platform_integration_token() -> str | None: token = _platform_integration_token.get() if token is None: token = os.getenv("CREWAI_PLATFORM_INTEGRATION_TOKEN") return token + @contextmanager def platform_context(integration_token: str): token = _platform_integration_token.set(integration_token) diff --git a/lib/crewai/src/crewai/project/__init__.py b/lib/crewai/src/crewai/project/__init__.py index d60212153..7aabbebe1 100644 --- a/lib/crewai/src/crewai/project/__init__.py +++ b/lib/crewai/src/crewai/project/__init__.py @@ -14,16 +14,16 @@ from .annotations import ( from .crew_base import CrewBase __all__ = [ + "CrewBase", + "after_kickoff", "agent", + "before_kickoff", + "cache_handler", + "callback", "crew", - "task", + "llm", "output_json", "output_pydantic", + "task", "tool", - "callback", - "CrewBase", - "llm", - "cache_handler", - "before_kickoff", - "after_kickoff", ] diff --git a/lib/crewai/src/crewai/project/annotations.py b/lib/crewai/src/crewai/project/annotations.py index d7c636ccf..cc8b332fa 100644 --- a/lib/crewai/src/crewai/project/annotations.py +++ b/lib/crewai/src/crewai/project/annotations.py @@ -1,5 +1,5 @@ +from collections.abc import Callable from functools import wraps -from typing import Callable from crewai import Crew from crewai.project.utils import memoize diff --git a/lib/crewai/src/crewai/rag/chromadb/client.py b/lib/crewai/src/crewai/rag/chromadb/client.py index fa28098b6..53a4189dd 100644 --- a/lib/crewai/src/crewai/rag/chromadb/client.py +++ b/lib/crewai/src/crewai/rag/chromadb/client.py @@ -31,7 +31,7 @@ from crewai.rag.core.base_client import ( BaseCollectionParams, ) from crewai.rag.types import SearchResult -from crewai.core.utilities.logger_utils import suppress_logging +from crewai.utilities.logger_utils import suppress_logging class ChromaDBClient(BaseClient): diff --git a/lib/crewai/src/crewai/rag/chromadb/constants.py b/lib/crewai/src/crewai/rag/chromadb/constants.py index 994a756fd..8082356c6 100644 --- a/lib/crewai/src/crewai/rag/chromadb/constants.py +++ b/lib/crewai/src/crewai/rag/chromadb/constants.py @@ -3,7 +3,7 @@ import re from typing import Final -from crewai.core.utilities.paths import db_storage_path +from crewai.utilities.paths import db_storage_path DEFAULT_TENANT: Final[str] = "default_tenant" DEFAULT_DATABASE: Final[str] = "default_database" diff --git a/lib/crewai/src/crewai/rag/config/utils.py b/lib/crewai/src/crewai/rag/config/utils.py index 147300bc9..80f8559df 100644 --- a/lib/crewai/src/crewai/rag/config/utils.py +++ b/lib/crewai/src/crewai/rag/config/utils.py @@ -11,7 +11,7 @@ from crewai.rag.config.constants import ( from crewai.rag.config.types import RagConfigType from crewai.rag.core.base_client import BaseClient from crewai.rag.factory import create_client -from crewai.core.utilities.import_utils import require +from crewai.utilities.import_utils import require class RagContext(BaseModel): diff --git a/lib/crewai/src/crewai/rag/embeddings/factory.py b/lib/crewai/src/crewai/rag/embeddings/factory.py index 5faa8ea04..468e23de4 100644 --- a/lib/crewai/src/crewai/rag/embeddings/factory.py +++ b/lib/crewai/src/crewai/rag/embeddings/factory.py @@ -9,7 +9,7 @@ from typing_extensions import deprecated from crewai.rag.core.base_embeddings_callable import EmbeddingFunction from crewai.rag.core.base_embeddings_provider import BaseEmbeddingsProvider -from crewai.core.utilities.import_utils import import_and_validate_definition +from crewai.utilities.import_utils import import_and_validate_definition if TYPE_CHECKING: from chromadb.utils.embedding_functions.amazon_bedrock_embedding_function import ( diff --git a/lib/crewai/src/crewai/rag/factory.py b/lib/crewai/src/crewai/rag/factory.py index 3276188a0..47fc6cb62 100644 --- a/lib/crewai/src/crewai/rag/factory.py +++ b/lib/crewai/src/crewai/rag/factory.py @@ -8,7 +8,7 @@ from crewai.rag.config.optional_imports.protocols import ( ) from crewai.rag.config.types import RagConfigType from crewai.rag.core.base_client import BaseClient -from crewai.core.utilities.import_utils import require +from crewai.utilities.import_utils import require def create_client(config: RagConfigType) -> BaseClient: diff --git a/lib/crewai/src/crewai/rag/qdrant/constants.py b/lib/crewai/src/crewai/rag/qdrant/constants.py index 059dd0690..9714c9de6 100644 --- a/lib/crewai/src/crewai/rag/qdrant/constants.py +++ b/lib/crewai/src/crewai/rag/qdrant/constants.py @@ -5,7 +5,7 @@ from typing import Final from qdrant_client.models import Distance, VectorParams -from crewai.core.utilities.paths import db_storage_path +from crewai.utilities.paths import db_storage_path DEFAULT_VECTOR_PARAMS: Final = VectorParams(size=384, distance=Distance.COSINE) DEFAULT_EMBEDDING_MODEL: Final[str] = "sentence-transformers/all-MiniLM-L6-v2"