git: d4f98422326a - main - misc/py-crewai: update 1.15.4 → 1.15.6

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 25 Jul 2026 04:25:35 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d4f98422326a974e78fe100fa22d506b3b704e7a

commit d4f98422326a974e78fe100fa22d506b3b704e7a
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-07-25 04:16:02 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-07-25 04:24:27 +0000

    misc/py-crewai: update 1.15.4 → 1.15.6
---
 misc/py-crewai/Makefile                   |  65 ++++++++++--
 misc/py-crewai/distinfo                   |   6 +-
 misc/py-crewai/files/patch-pyproject.toml | 167 ++----------------------------
 3 files changed, 68 insertions(+), 170 deletions(-)

diff --git a/misc/py-crewai/Makefile b/misc/py-crewai/Makefile
index 2d7d76719097..3200fe9273dc 100644
--- a/misc/py-crewai/Makefile
+++ b/misc/py-crewai/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	crewai
-PORTVERSION=	1.15.4
+PORTVERSION=	1.15.6
 CATEGORIES=	misc python
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -19,14 +19,15 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiofiles>=23.2.1:devel/py-aiofiles@${PY_FLAV
 		${PYTHON_PKGNAMEPREFIX}cel-python>=0.5.0,<0.6:devel/py-cel-python@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}chromadb>=1.1.0:databases/py-chromadb@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}click>=8.1.7,<9:devel/py-click@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}crewai-cli>=1.15.4:misc/py-crewai-cli@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}crewai-core>=1.15.4:misc/py-crewai-core@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}crewai-cli>=1.15.6:misc/py-crewai-cli@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}crewai-core>=1.15.6:misc/py-crewai-core@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}httpx>=0.28.1:www/py-httpx@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}instructor>=1.3.3:misc/py-instructor@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}json-repair>=0.25.2:textproc/py-json-repair@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}json-repair>=0.60.1:textproc/py-json-repair@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}json5>=0.10.0:devel/py-json5@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}jsonref>=1.1.0:devel/py-jsonref@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}mcp>=1.26.0:misc/py-mcp@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}lancedb>=0.29.2:databases/py-lancedb@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mcp>0:misc/py-mcp@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}openai>=2.30.0,<3:misc/py-openai@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}openpyxl>=3.1.5:textproc/py-openpyxl@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}opentelemetry-api>=1.42.0:devel/py-opentelemetry-api@${PY_FLAVOR} \
@@ -34,7 +35,7 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiofiles>=23.2.1:devel/py-aiofiles@${PY_FLAV
 		${PYTHON_PKGNAMEPREFIX}opentelemetry-sdk>=1.42.0:devel/py-opentelemetry-sdk@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pdfplumber>=0.11.4:graphics/py-pdfplumber@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}portalocker>=2.7.0:devel/py-portalocker@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.10.1,<3:devel/py-pydantic-settings@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pydantic-settings>=2.14.2:devel/py-pydantic-settings@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pydantic2>=2.11.9:devel/py-pydantic2@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pyjwt>=2.13.0,<3:www/py-pyjwt@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}python-dotenv>=1.2.2,<2:www/py-python-dotenv@${PY_FLAVOR} \
@@ -59,7 +60,57 @@ PEP517_INSTALL_CMD=	${PYTHON_CMD} -m installer --no-compile-bytecode \
 
 TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} CREWAI_TESTING=true
 TEST_WRKSRC=	${WRKSRC}/tests
+TEST_ARGS=	-m 'not vcr' \
+		--ignore=a2a \
+		--ignore=agents/test_agent_a2a_wrapping.py \
+		--ignore=agents/test_agent_executor.py \
+		--ignore=agents/test_crew_agent_parser.py \
+		--ignore=agents/test_native_tool_calling.py \
+		--ignore=cli/test_plus_api.py \
+		--ignore=crew/test_async_crew.py \
+		--ignore=events/test_event_context.py \
+		--ignore=events/test_llm_finish_reason_response_id.py \
+		--ignore=llms/anthropic \
+		--ignore=llms/azure \
+		--ignore=llms/google \
+		--ignore=llms/hooks \
+		--ignore=llms/openai \
+		--ignore=llms/test_multimodal.py \
+		--ignore=llms/test_multimodal_integration.py \
+		--ignore=llms/test_prompt_cache.py \
+		--ignore=memory \
+		--ignore=mcp \
+		--ignore=rag/chromadb \
+		--ignore=rag/qdrant/test_client.py \
+		--ignore=tracing/test_tracing.py \
+		--ignore=test_agent_multimodal.py \
+		--ignore=test_crew.py \
+		--ignore=test_crew_multimodal.py \
+		--ignore=test_flow_multimodal.py \
+		--ignore=test_llm.py \
+		--ignore=test_llm_streaming_finish_reason.py \
+		--ignore=test_project.py \
+		--ignore=tools/agent_tools/test_read_file_tool.py \
+		--ignore=utilities/test_converter.py \
+		--ignore=utilities/test_file_store.py \
+		--ignore=utilities/test_files.py \
+		--deselect=tests/agents/test_agent.py::test_agent_from_repository \
+		--deselect=tests/agents/test_agent.py::test_agent_from_repository_override_attributes \
+		--deselect=tests/agents/test_agent.py::test_agent_from_repository_with_invalid_tools \
+		--deselect=tests/agents/test_agent.py::test_agent_with_callbacks \
+		--deselect=tests/agents/test_agent.py::test_crew_agent_executor_litellm_auth_error \
+		--deselect=tests/agents/test_agent.py::test_litellm_anthropic_error_handling \
+		--deselect=tests/agents/test_lite_agent.py::test_agent_kickoff_with_files_parameter \
+		--deselect=tests/agents/test_lite_agent.py::test_prepare_kickoff_extracts_files_from_messages \
+		--deselect=tests/agents/test_lite_agent.py::test_prepare_kickoff_merges_files_from_messages_and_parameter \
+		--deselect=tests/agents/test_lite_agent.py::test_prepare_kickoff_param_files_override_message_files \
+		--deselect=tests/llms/bedrock/test_bedrock.py::test_bedrock_raises_error_when_model_not_found \
+		--deselect=tests/test_flow_conversation.py::TestDeferredFlowLifecycleEvents::test_finalize_batch_is_idempotent \
+		--deselect=tests/test_flow_from_definition.py::test_crew_action_repository_fetch_does_not_block_event_loop \
+		--deselect=tests/utilities/events/test_shutdown.py::test_concurrent_access_during_shutdown_flag \
+		--deselect=tests/utilities/events/test_shutdown.py::test_mixed_sync_async_handler_execution \
+		--deselect=tests/utilities/events/test_thread_safety.py::test_concurrent_emit_and_registration
 
-# tests as of 1.15.4: 918 failed, 3697 passed, 89 skipped, 23 errors in 246.84s
+# tests as of 1.15.5: 2477 passed, 27 skipped, 254 deselected, 1661 warnings in 40.00s
 
 .include <bsd.port.mk>
diff --git a/misc/py-crewai/distinfo b/misc/py-crewai/distinfo
index 68059d281a26..78f138b39fa0 100644
--- a/misc/py-crewai/distinfo
+++ b/misc/py-crewai/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1784322027
-SHA256 (crewai-1.15.4.tar.gz) = e41fd19147ad2ac1c482fd7233e4adc4d8dae82e7b7014dd65aef1c1dd0f3e25
-SIZE (crewai-1.15.4.tar.gz) = 7794807
+TIMESTAMP = 1784952451
+SHA256 (crewai-1.15.6.tar.gz) = e149bdc15db029df453a0e93cca27bdcf1b74de4cd4aca181cc2ac276c98f148
+SIZE (crewai-1.15.6.tar.gz) = 7800480
diff --git a/misc/py-crewai/files/patch-pyproject.toml b/misc/py-crewai/files/patch-pyproject.toml
index 5253e2441838..9aef5eae1b8e 100644
--- a/misc/py-crewai/files/patch-pyproject.toml
+++ b/misc/py-crewai/files/patch-pyproject.toml
@@ -1,169 +1,16 @@
 --- pyproject.toml.orig	2026-07-17 21:30:24 UTC
 +++ pyproject.toml
-@@ -8,43 +8,43 @@ dependencies = [
- ]
- requires-python = ">=3.10, <3.14"
- dependencies = [
--    "crewai-core==1.15.4",
--    "crewai-cli==1.15.4",
-+    "crewai-core>=1.15.2",
-+    "crewai-cli>=1.15.2",
-     # Core Dependencies
--    "pydantic>=2.11.9,<2.13",
-+    "pydantic>=2.11.9",
-     "openai>=2.30.0,<3",
-     "instructor>=1.3.3",
-     # Text Processing
--    "pdfplumber~=0.11.4",
--    "regex~=2026.1.15",
-+    "pdfplumber>=0.11.4",
-+    "regex>=2026.1.15",
-     # Telemetry and Monitoring
--    "opentelemetry-api~=1.42.0",
--    "opentelemetry-sdk~=1.42.0",
--    "opentelemetry-exporter-otlp-proto-http~=1.42.0",
-+    "opentelemetry-api>=1.42.0",
-+    "opentelemetry-sdk>=1.42.0",
-+    "opentelemetry-exporter-otlp-proto-http>=1.42.0",
-     # Data Handling
--    "chromadb~=1.1.0",
-+    "chromadb>=1.1.0",
-     "tokenizers>=0.21,<1",
--    "openpyxl~=3.1.5",
-+    "openpyxl>=3.1.5",
-     # Authentication and Security
-     "python-dotenv>=1.2.2,<2",
-     "pyjwt>=2.13.0,<3",
-     # Configuration and Utils
-     "click>=8.1.7,<9",
--    "appdirs~=1.4.4",
--    "jsonref~=1.1.0",
--    "json-repair~=0.25.2",
-+    "appdirs>=1.4.4",
-+    "jsonref>=1.1.0",
-+    "json-repair>=0.25.2",
-     "cel-python>=0.5.0,<0.6",
--    "tomli-w~=1.1.0",
--    "tomli~=2.0.2",
--    "json5~=0.10.0",
--    "portalocker~=2.7.0",
-+    "tomli-w>=1.1.0",
-+    "tomli>=2.0.2",
-+    "json5>=0.10.0",
-+    "portalocker>=2.7.0",
-     "pydantic-settings>=2.10.1,<3",
--    "httpx~=0.28.1",
--    "mcp~=1.28.1",
--    "aiosqlite~=0.21.0",
--    "pyyaml~=6.0",
--    "aiofiles~=24.1.0",
+@@ -44,7 +44,7 @@
+     "aiosqlite~=0.21.0",
+     "pyyaml~=6.0",
+     "aiofiles~=24.1.0",
 -    "lancedb>=0.29.2,<0.30.1",
-+    "httpx>=0.28.1",
-+    "mcp>=1.26.0",
-+    "aiosqlite>=0.19.0",
-+    "pyyaml>=6.0",
-+    "aiofiles>=23.2.1",
 +    "lancedb>=0.29.2",
  ]
- 
+
  [project.urls]
-@@ -53,99 +53,6 @@ Repository = "https://github.com/crewAIInc/crewAI"
- Repository = "https://github.com/crewAIInc/crewAI"
- 
- 
--[project.optional-dependencies]
--tools = [
--    "crewai-tools==1.15.4",
--]
--embeddings = [
--    "tiktoken>=0.8.0,<0.13"
--]
--pandas = [
--    "pandas~=2.2.3",
--]
--openpyxl = [
--    "openpyxl~=3.1.5",
--]
--mem0 = ["mem0ai>=2.0.0,<3"]
--docling = [
--    "docling~=2.97.0",
--    # docling 2.97 split into docling-slim; the chunker package (HierarchicalChunker)
--    # now eagerly imports code-chunking submodules that need tree-sitter/semchunk,
--    # which only the docling-core[chunking] extra provides.
--    "docling-core[chunking]>=2.74.1",
--]
--qdrant = [
--    "qdrant-client[fastembed]~=1.14.3",
--]
--aws = [
--    "boto3~=1.42.90",
--    "aiobotocore~=3.5.0",
--]
--watson = [
--    "ibm-watsonx-ai~=1.3.39",
--]
--voyageai = [
--    "voyageai~=0.3.5",
--]
--litellm = [
--    "litellm>=1.84.0,<2",
--]
--bedrock = [
--    "boto3~=1.42.90",
--    "aiobotocore~=3.5.0",
--]
--google-genai = [
--    "google-genai~=1.65.0",
--]
--azure-ai-inference = [
--    "azure-ai-inference~=1.0.0b9",
--    "azure-identity>=1.17.0,<2",
--]
--anthropic = [
--    "anthropic~=0.73.0",
--]
--a2a = [
--     "a2a-sdk~=0.3.10",
--     "httpx-auth~=0.23.1",
--     "httpx-sse~=0.4.0",
--     "aiocache[redis,memcached]~=0.12.3",
--]
--file-processing = [
--    "crewai-files",
--]
--qdrant-edge = [
--    "qdrant-edge-py>=0.6.0",
--]
--
--
--[tool.uv]
--exclude-newer = "3 days"
--
--# PyTorch index configuration, since torch 2.5.0 is not compatible with python 3.13
--[[tool.uv.index]]
--name = "pytorch-nightly"
--url = "https://download.pytorch.org/whl/nightly/cpu"
--explicit = true
--
--[[tool.uv.index]]
--name = "pytorch"
--url = "https://download.pytorch.org/whl/cpu"
--explicit = true
--
--[tool.uv.sources]
--torch = [
--  { index = "pytorch-nightly", marker = "python_version >= '3.13'" },
--  { index = "pytorch", marker = "python_version < '3.13'" },
--]
--torchvision = [
--  { index = "pytorch-nightly", marker = "python_version >= '3.13'" },
--  { index = "pytorch", marker = "python_version < '3.13'" },
--]
--crewai-files = { workspace = true }
--
--
+@@ -147,5 +147,2 @@
 -[project.scripts]
 -crewai = "crewai_cli.cli:crewai"
- 
+-
  [build-system]
- requires = ["hatchling"]