diff --git a/libs/arcade-cli/arcade_cli/main.py b/libs/arcade-cli/arcade_cli/main.py index 3a1e773db..d95159280 100644 --- a/libs/arcade-cli/arcade_cli/main.py +++ b/libs/arcade-cli/arcade_cli/main.py @@ -382,7 +382,8 @@ def evals( require_dependency( package_name="arcade_evals", command_name="evals", - install_command=r"pip install 'arcade-mcp\[evals]'", + uv_install_command=r"uv tool install 'arcade-mcp[evals]'", + pip_install_command=r"pip install 'arcade-mcp[evals]'", ) # Although Evals does not depend on the TDK, some evaluations import the # ToolCatalog class from the TDK instead of from arcade_core, so we require @@ -390,7 +391,8 @@ def evals( require_dependency( package_name="arcade_tdk", command_name="evals", - install_command=r"pip install arcade-tdk", + uv_install_command=r"uv pip install arcade-tdk", + pip_install_command=r"pip install arcade-tdk", ) models_list = models.split(",") # Use 'models_list' to avoid shadowing diff --git a/libs/arcade-cli/arcade_cli/utils.py b/libs/arcade-cli/arcade_cli/utils.py index ed0b7d0aa..d3a945462 100644 --- a/libs/arcade-cli/arcade_cli/utils.py +++ b/libs/arcade-cli/arcade_cli/utils.py @@ -961,20 +961,25 @@ def resolve_provider_api_key(provider: Provider, provider_api_key: str | None = def require_dependency( package_name: str, command_name: str, - install_command: str, + uv_install_command: str, + pip_install_command: str, ) -> None: """ Display a helpful error message if the required dependency is missing. Args: package_name: The name of the package to import (e.g., 'arcade_serve') - command_name: The command that requires the package (e.g., 'serve') - install_command: The command to install the package (e.g., "pip install 'arcade-mcp[evals]'") + command_name: The command that requires the package (e.g., 'evals') + uv_install_command: The uv command to install the package (e.g., "uv tool install 'arcade-mcp[evals]'") + pip_install_command: The pip command to install the package (e.g., "pip install 'arcade-mcp[evals]'") """ try: importlib.import_module(package_name.replace("-", "_")) except ImportError: - handle_cli_error( - f"The '{package_name}' package is required to run the '{command_name}' command but is not installed. " - f"To install it, run the following command: {install_command}" + error_message = ( + f"The '{package_name}' package is required to run the '{command_name}' command but is not installed.\n\n" + f"To install it:\n" + f" - If using uv: {uv_install_command}\n" + f" - If using pip: {pip_install_command}" ) + handle_cli_error(error_message) diff --git a/pyproject.toml b/pyproject.toml index 1afdbf0d2..8458dabf1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "arcade-mcp" -version = "1.5.3" +version = "1.5.4" description = "Arcade.dev - Tool Calling platform for Agents" readme = "README.md" license = {file = "LICENSE"}