From bf8fbb0a44935a48f202e87ff1cbaea82914ce39 Mon Sep 17 00:00:00 2001 From: Lucas Gomide Date: Wed, 4 Jun 2025 12:58:26 -0300 Subject: [PATCH] Minor adjustments on Tool publish and docs (#2958) * fix: fix tool publisher logger when available_exports is found * docs: update docs and templates since we support Python 3.13 --- README.md | 2 +- src/crewai/cli/templates/crew/README.md | 2 +- src/crewai/cli/templates/crew/pyproject.toml | 2 +- src/crewai/cli/templates/flow/README.md | 2 +- src/crewai/cli/templates/flow/pyproject.toml | 2 +- src/crewai/cli/templates/tool/README.md | 2 +- src/crewai/cli/templates/tool/pyproject.toml | 2 +- src/crewai/cli/tools/main.py | 2 +- tests/cli/deploy/test_deploy_main.py | 4 ++-- tests/cli/tools/test_main.py | 12 ++++++------ 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index a753c0a30..808c3d538 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ To get started with CrewAI, follow these simple steps: ### 1. Installation -Ensure you have Python >=3.10 <3.13 installed on your system. CrewAI uses [UV](https://docs.astral.sh/uv/) for dependency management and package handling, offering a seamless setup and execution experience. +Ensure you have Python >=3.10 <3.14 installed on your system. CrewAI uses [UV](https://docs.astral.sh/uv/) for dependency management and package handling, offering a seamless setup and execution experience. First, install CrewAI: diff --git a/src/crewai/cli/templates/crew/README.md b/src/crewai/cli/templates/crew/README.md index 327499d0a..ea89b7494 100644 --- a/src/crewai/cli/templates/crew/README.md +++ b/src/crewai/cli/templates/crew/README.md @@ -4,7 +4,7 @@ Welcome to the {{crew_name}} Crew project, powered by [crewAI](https://crewai.co ## Installation -Ensure you have Python >=3.10 <3.13 installed on your system. This project uses [UV](https://docs.astral.sh/uv/) for dependency management and package handling, offering a seamless setup and execution experience. +Ensure you have Python >=3.10 <3.14 installed on your system. This project uses [UV](https://docs.astral.sh/uv/) for dependency management and package handling, offering a seamless setup and execution experience. First, if you haven't already, install uv: diff --git a/src/crewai/cli/templates/crew/pyproject.toml b/src/crewai/cli/templates/crew/pyproject.toml index 9fefd42c6..8b857afe4 100644 --- a/src/crewai/cli/templates/crew/pyproject.toml +++ b/src/crewai/cli/templates/crew/pyproject.toml @@ -3,7 +3,7 @@ name = "{{folder_name}}" version = "0.1.0" description = "{{name}} using crewAI" authors = [{ name = "Your Name", email = "you@example.com" }] -requires-python = ">=3.10,<3.13" +requires-python = ">=3.10,<3.14" dependencies = [ "crewai[tools]>=0.121.1,<1.0.0" ] diff --git a/src/crewai/cli/templates/flow/README.md b/src/crewai/cli/templates/flow/README.md index 140834e62..b6b72fa30 100644 --- a/src/crewai/cli/templates/flow/README.md +++ b/src/crewai/cli/templates/flow/README.md @@ -4,7 +4,7 @@ Welcome to the {{crew_name}} Crew project, powered by [crewAI](https://crewai.co ## Installation -Ensure you have Python >=3.10 <3.13 installed on your system. This project uses [UV](https://docs.astral.sh/uv/) for dependency management and package handling, offering a seamless setup and execution experience. +Ensure you have Python >=3.10 <3.14 installed on your system. This project uses [UV](https://docs.astral.sh/uv/) for dependency management and package handling, offering a seamless setup and execution experience. First, if you haven't already, install uv: diff --git a/src/crewai/cli/templates/flow/pyproject.toml b/src/crewai/cli/templates/flow/pyproject.toml index 611183179..79f91a741 100644 --- a/src/crewai/cli/templates/flow/pyproject.toml +++ b/src/crewai/cli/templates/flow/pyproject.toml @@ -3,7 +3,7 @@ name = "{{folder_name}}" version = "0.1.0" description = "{{name}} using crewAI" authors = [{ name = "Your Name", email = "you@example.com" }] -requires-python = ">=3.10,<3.13" +requires-python = ">=3.10,<3.14" dependencies = [ "crewai[tools]>=0.121.1,<1.0.0", ] diff --git a/src/crewai/cli/templates/tool/README.md b/src/crewai/cli/templates/tool/README.md index d332fa197..367fe3d24 100644 --- a/src/crewai/cli/templates/tool/README.md +++ b/src/crewai/cli/templates/tool/README.md @@ -5,7 +5,7 @@ custom tools to power up your crews. ## Installing -Ensure you have Python >=3.10 <3.13 installed on your system. This project +Ensure you have Python >=3.10 <3.14 installed on your system. This project uses [UV](https://docs.astral.sh/uv/) for dependency management and package handling, offering a seamless setup and execution experience. diff --git a/src/crewai/cli/templates/tool/pyproject.toml b/src/crewai/cli/templates/tool/pyproject.toml index 3f569a1f5..aa5de22cd 100644 --- a/src/crewai/cli/templates/tool/pyproject.toml +++ b/src/crewai/cli/templates/tool/pyproject.toml @@ -3,7 +3,7 @@ name = "{{folder_name}}" version = "0.1.0" description = "Power up your crews with {{folder_name}}" readme = "README.md" -requires-python = ">=3.10,<3.13" +requires-python = ">=3.10,<3.14" dependencies = [ "crewai[tools]>=0.121.1" ] diff --git a/src/crewai/cli/tools/main.py b/src/crewai/cli/tools/main.py index fad69467d..cbd99b1eb 100644 --- a/src/crewai/cli/tools/main.py +++ b/src/crewai/cli/tools/main.py @@ -89,7 +89,7 @@ class ToolCommand(BaseCommand, PlusAPIMixin): if available_exports: console.print( - f"[green]Found these tools to publish: {', '.join(available_exports)}[/green]" + f"[green]Found these tools to publish: {', '.join([e['name'] for e in available_exports])}[/green]" ) with tempfile.TemporaryDirectory() as temp_build_dir: diff --git a/tests/cli/deploy/test_deploy_main.py b/tests/cli/deploy/test_deploy_main.py index c9a1b884e..8a8799ca9 100644 --- a/tests/cli/deploy/test_deploy_main.py +++ b/tests/cli/deploy/test_deploy_main.py @@ -231,7 +231,7 @@ class TestDeployCommand(unittest.TestCase): [project] name = "test_project" version = "0.1.0" - requires-python = ">=3.10,<3.13" + requires-python = ">=3.10,<3.14" dependencies = ["crewai"] """, ) @@ -250,7 +250,7 @@ class TestDeployCommand(unittest.TestCase): [project] name = "test_project" version = "0.1.0" - requires-python = ">=3.10,<3.13" + requires-python = ">=3.10,<3.14" dependencies = ["crewai"] """, ) diff --git a/tests/cli/tools/test_main.py b/tests/cli/tools/test_main.py index 79bb171b4..005663b56 100644 --- a/tests/cli/tools/test_main.py +++ b/tests/cli/tools/test_main.py @@ -165,7 +165,7 @@ def test_publish_when_not_in_sync(mock_is_synced, capsys, tool_command): ) @patch("crewai.cli.plus_api.PlusAPI.publish_tool") @patch("crewai.cli.tools.main.git.Repository.is_synced", return_value=False) -@patch("crewai.cli.tools.main.extract_available_exports", return_value=["SampleTool"]) +@patch("crewai.cli.tools.main.extract_available_exports", return_value=[{"name": "SampleTool"}]) def test_publish_when_not_in_sync_and_force( mock_available_exports, mock_is_synced, @@ -200,7 +200,7 @@ def test_publish_when_not_in_sync_and_force( version="1.0.0", description="A sample tool", encoded_file=unittest.mock.ANY, - available_exports=["SampleTool"], + available_exports=[{"name": "SampleTool"}], ) @@ -216,7 +216,7 @@ def test_publish_when_not_in_sync_and_force( ) @patch("crewai.cli.plus_api.PlusAPI.publish_tool") @patch("crewai.cli.tools.main.git.Repository.is_synced", return_value=True) -@patch("crewai.cli.tools.main.extract_available_exports", return_value=["SampleTool"]) +@patch("crewai.cli.tools.main.extract_available_exports", return_value=[{"name": "SampleTool"}]) def test_publish_success( mock_available_exports, mock_is_synced, @@ -251,7 +251,7 @@ def test_publish_success( version="1.0.0", description="A sample tool", encoded_file=unittest.mock.ANY, - available_exports=["SampleTool"], + available_exports=[{"name": "SampleTool"}], ) @@ -266,7 +266,7 @@ def test_publish_success( read_data=b"sample tarball content", ) @patch("crewai.cli.plus_api.PlusAPI.publish_tool") -@patch("crewai.cli.tools.main.extract_available_exports", return_value=["SampleTool"]) +@patch("crewai.cli.tools.main.extract_available_exports", return_value=[{"name": "SampleTool"}]) def test_publish_failure( mock_available_exports, mock_publish, @@ -304,7 +304,7 @@ def test_publish_failure( read_data=b"sample tarball content", ) @patch("crewai.cli.plus_api.PlusAPI.publish_tool") -@patch("crewai.cli.tools.main.extract_available_exports", return_value=["SampleTool"]) +@patch("crewai.cli.tools.main.extract_available_exports", return_value=[{"name": "SampleTool"}]) def test_publish_api_error( mock_available_exports, mock_publish,