From 6ca6bf745794678baa7c155720bc3d4045d0af03 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 5 Mar 2025 17:06:23 -0800 Subject: [PATCH] refactor: Extract model-specific dependency checks into dedicated function --- aider/models.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/aider/models.py b/aider/models.py index 16bc6ec83..1982d0d79 100644 --- a/aider/models.py +++ b/aider/models.py @@ -804,6 +804,32 @@ def sanity_check_model(io, model): return show +def check_for_dependencies(io, model_name): + """ + Check for model-specific dependencies and install them if needed. + + Args: + io: The IO object for user interaction + model_name: The name of the model to check dependencies for + """ + from aider.utils import check_pip_install_extra + + # Check if this is a Bedrock model and ensure boto3 is installed + if model_name.startswith("bedrock/"): + check_pip_install_extra( + io, "boto3", "AWS Bedrock models require the boto3 package.", ["boto3"] + ) + + # Check if this is a Vertex AI model and ensure google-cloud-aiplatform is installed + elif model_name.startswith("vertex_ai/"): + check_pip_install_extra( + io, + "google.cloud.aiplatform", + "Google Vertex AI models require the google-cloud-aiplatform package.", + ["google-cloud-aiplatform"] + ) + + def fuzzy_match_models(name): name = name.lower()