{"record":{"id":"c1db07d61c2b5665","repo":"BerriAI/litellm","slug":"missing-botocore-to-call-s3-vectors-run-pip-inst","errorCode":null,"errorMessage":"Missing botocore to call S3 Vectors. Run 'pip install boto3'.","messagePattern":"Missing botocore to call S3 Vectors\\. Run 'pip install boto3'\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"litellm/rag/ingestion/s3_vectors_ingestion.py","lineNumber":204,"sourceCode":"\n    async def _sign_and_execute_request(\n        self,\n        method: str,\n        url: str,\n        data: str | None = None,\n        headers: dict[str, str] | None = None,\n    ) -> Any:\n        \"\"\"\n        Helper to sign and execute AWS API requests using httpx + SigV4.\n\n        Pattern from litellm/integrations/s3_v2.py\n        \"\"\"\n        try:\n            import requests\n            from botocore.auth import SigV4Auth\n            from botocore.awsrequest import AWSRequest\n        except ImportError:\n            raise ImportError(\"Missing botocore to call S3 Vectors. Run 'pip install boto3'.\")\n\n        # Get AWS credentials using BaseAWSLLM's get_credentials method\n        credentials: Final = self.get_credentials(\n            aws_access_key_id=self.vector_store_config.get(\"aws_access_key_id\"),\n            aws_secret_access_key=self.vector_store_config.get(\"aws_secret_access_key\"),\n            aws_session_token=self.vector_store_config.get(\"aws_session_token\"),\n            aws_region_name=self.aws_region_name,\n            aws_session_name=self.vector_store_config.get(\"aws_session_name\"),\n            aws_profile_name=self.vector_store_config.get(\"aws_profile_name\"),\n            aws_role_name=self.vector_store_config.get(\"aws_role_name\"),\n            aws_web_identity_token=self.vector_store_config.get(\"aws_web_identity_token\"),\n            aws_sts_endpoint=self.vector_store_config.get(\"aws_sts_endpoint\"),\n            aws_external_id=self.vector_store_config.get(\"aws_external_id\"),\n        )\n\n        # Prepare headers\n        if headers is None:\n            headers = {}","sourceCodeStart":186,"sourceCodeEnd":222,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/rag/ingestion/s3_vectors_ingestion.py#L186-L222","documentation":"Missing-dependency error in the S3 Vectors ingestion signer: botocore (shipped with boto3) is not installed, so SigV4Auth/AWSRequest cannot be imported to sign AWS API requests. Install boto3 and retry; no AWS call has been made yet.","triggerScenarios":"Thrown at litellm/rag/ingestion/s3_vectors_ingestion.py:204 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install boto3 (which includes botocore): pip install boto3."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}