Skip to content

Commit c57c8db

Browse files
authored
chore: rename 'aws' to 'bedrock' (#403)
## Description <!-- What does this PR do? --> Prep for #183 by first renaming aws to bedrock. ## PR Type <!-- Delete the types that don't apply --!> 💅 Refactor ## Relevant issues <!-- e.g. "Fixes #123" --> ## Checklist - [x] I have added unit tests that prove my fix/feature works - [ ] New and existing tests pass locally - [x] Documentation was updated where necessary - [ ] I have read and followed the [contribution guidelines](https://github.com/mozilla-ai/any-llm/blob/main/CONTRIBUTING.md)```
1 parent b5377f3 commit c57c8db

File tree

9 files changed

+20
-20
lines changed

9 files changed

+20
-20
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dependencies = [
1919
[project.optional-dependencies]
2020

2121
all = [
22-
"any-llm-sdk[mistral,anthropic,huggingface,gemini,vertexai,cohere,cerebras,fireworks,groq,aws,azure,azureopenai,watsonx,together,sambanova,ollama,moonshot,nebius,xai,databricks,deepseek,inception,openai,openrouter,portkey,lmstudio,llama,voyage,perplexity,llamafile,llamacpp]"
22+
"any-llm-sdk[mistral,anthropic,huggingface,gemini,vertexai,cohere,cerebras,fireworks,groq,bedrock,azure,azureopenai,watsonx,together,sambanova,ollama,moonshot,nebius,xai,databricks,deepseek,inception,openai,openrouter,portkey,lmstudio,llama,voyage,perplexity,llamafile,llamacpp]"
2323
]
2424

2525
perplexity = []
@@ -56,7 +56,7 @@ groq = [
5656
"groq"
5757
]
5858

59-
aws = [
59+
bedrock = [
6060
"boto3",
6161
"instructor",
6262
]

src/any_llm/provider.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class ProviderName(StrEnum):
3535
"""String enum for supported providers."""
3636

3737
ANTHROPIC = "anthropic"
38-
AWS = "aws"
38+
BEDROCK = "bedrock"
3939
AZURE = "azure"
4040
AZUREOPENAI = "azureopenai"
4141
CEREBRAS = "cerebras"

src/any_llm/providers/aws/__init__.py

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from .bedrock import BedrockProvider
2+
3+
__all__ = ["BedrockProvider"]

src/any_llm/providers/aws/aws.py renamed to src/any_llm/providers/bedrock/bedrock.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
MISSING_PACKAGES_ERROR = e
3030

3131

32-
class AwsProvider(Provider):
32+
class BedrockProvider(Provider):
3333
"""AWS Bedrock Provider using boto3 and instructor for structured output."""
3434

3535
PROVIDER_NAME = "aws"
File renamed without changes.

tests/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def provider_model_map() -> dict[ProviderName, str]:
4949
ProviderName.COHERE: "command-a-03-2025",
5050
ProviderName.CEREBRAS: "llama-3.3-70b",
5151
ProviderName.HUGGINGFACE: "huggingface/tgi", # This is the syntax used in `litellm` when using HF Inference Endpoints (https://docs.litellm.ai/docs/providers/huggingface#dedicated-inference-endpoints)
52-
ProviderName.AWS: "amazon.nova-lite-v1:0",
52+
ProviderName.BEDROCK: "amazon.nova-lite-v1:0",
5353
ProviderName.WATSONX: "ibm/granite-3-8b-instruct",
5454
ProviderName.FIREWORKS: "accounts/fireworks/models/llama4-scout-instruct-basic",
5555
ProviderName.GROQ: "llama-3.1-8b-instant",
@@ -73,7 +73,7 @@ def embedding_provider_model_map() -> dict[ProviderName, str]:
7373
ProviderName.NEBIUS: "Qwen/Qwen3-Embedding-8B",
7474
ProviderName.SAMBANOVA: "E5-Mistral-7B-Instruct",
7575
ProviderName.MISTRAL: "mistral-embed",
76-
ProviderName.AWS: "amazon.titan-embed-text-v2:0",
76+
ProviderName.BEDROCK: "amazon.titan-embed-text-v2:0",
7777
ProviderName.OLLAMA: "gpt-oss:20b",
7878
ProviderName.LLAMAFILE: "N/A",
7979
ProviderName.LMSTUDIO: "text-embedding-nomic-embed-text-v1.5",

tests/unit/providers/test_aws_provider.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
from unittest.mock import Mock, patch
55

66
from any_llm.provider import ClientConfig
7-
from any_llm.providers.aws.aws import AwsProvider
7+
from any_llm.providers.bedrock import BedrockProvider
88
from any_llm.types.completion import CompletionParams
99

1010

1111
@contextmanager
1212
def mock_aws_provider(region: str): # type: ignore[no-untyped-def]
1313
with (
1414
patch.dict(os.environ, {"AWS_REGION": region}),
15-
patch("any_llm.providers.aws.aws.AwsProvider._check_aws_credentials"),
16-
patch("any_llm.providers.aws.aws._convert_response"),
15+
patch("any_llm.providers.bedrock.bedrock.BedrockProvider._check_aws_credentials"),
16+
patch("any_llm.providers.bedrock.bedrock._convert_response"),
1717
patch("boto3.client") as mock_boto3_client,
1818
):
1919
mock_client = Mock()
@@ -28,7 +28,7 @@ def test_boto3_client_created_with_api_base() -> None:
2828
region = "us-east-1"
2929

3030
with mock_aws_provider(region) as mock_boto3_client:
31-
provider = AwsProvider(ClientConfig(api_base=custom_endpoint, api_key="test_key"))
31+
provider = BedrockProvider(ClientConfig(api_base=custom_endpoint, api_key="test_key"))
3232
provider.completion(CompletionParams(model_id="model-id", messages=[{"role": "user", "content": "Hello"}]))
3333

3434
mock_boto3_client.assert_called_once_with("bedrock-runtime", endpoint_url=custom_endpoint, region_name=region)
@@ -39,7 +39,7 @@ def test_boto3_client_created_without_api_base() -> None:
3939
region = "us-west-2"
4040

4141
with mock_aws_provider(region) as mock_boto3_client:
42-
provider = AwsProvider(ClientConfig(api_key="test_key"))
42+
provider = BedrockProvider(ClientConfig(api_key="test_key"))
4343
provider.completion(CompletionParams(model_id="model-id", messages=[{"role": "user", "content": "Hello"}]))
4444

4545
mock_boto3_client.assert_called_once_with("bedrock-runtime", endpoint_url=None, region_name=region)
@@ -52,7 +52,7 @@ def test_completion_with_kwargs() -> None:
5252
messages = [{"role": "user", "content": "Hello"}]
5353

5454
with mock_aws_provider(region) as mock_boto3_client:
55-
provider = AwsProvider(ClientConfig(api_key="test_key"))
55+
provider = BedrockProvider(ClientConfig(api_key="test_key"))
5656
provider.completion(
5757
CompletionParams(
5858
model_id=model_id,
@@ -85,7 +85,7 @@ def mock_aws_embedding_provider(region: str): # type: ignore[no-untyped-def]
8585
"""Mock AWS provider specifically for embedding tests."""
8686
with (
8787
patch.dict(os.environ, {"AWS_REGION": region}),
88-
patch("any_llm.providers.aws.aws.AwsProvider._check_aws_credentials"),
88+
patch("any_llm.providers.bedrock.bedrock.BedrockProvider._check_aws_credentials"),
8989
patch("boto3.client") as mock_boto3_client,
9090
):
9191
mock_client = Mock()
@@ -104,7 +104,7 @@ def test_embedding_single_string() -> None:
104104
with mock_aws_embedding_provider(region) as (mock_boto3_client, mock_client):
105105
mock_client.invoke_model.return_value = {"body": Mock(read=Mock(return_value=json.dumps(mock_response_body)))}
106106

107-
provider = AwsProvider(ClientConfig(api_key="test_key"))
107+
provider = BedrockProvider(ClientConfig(api_key="test_key"))
108108
response = provider.embedding(model_id, input_text)
109109

110110
mock_boto3_client.assert_called_once_with("bedrock-runtime", endpoint_url=None, region_name=region)
@@ -138,7 +138,7 @@ def test_embedding_list_of_strings() -> None:
138138
{"body": Mock(read=Mock(return_value=json.dumps(mock_response_bodies[1])))},
139139
]
140140

141-
provider = AwsProvider(ClientConfig(api_key="test_key"))
141+
provider = BedrockProvider(ClientConfig(api_key="test_key"))
142142
response = provider.embedding(model_id, input_texts)
143143

144144
mock_boto3_client.assert_called_once_with("bedrock-runtime", endpoint_url=None, region_name=region)

tests/unit/test_provider.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def test_all_providers_have_required_attributes(provider: ProviderName) -> None:
129129

130130

131131
def test_providers_raise_MissingApiKeyError(provider: ProviderName) -> None:
132-
if provider.value in ("aws", "ollama", "lmstudio", "llamafile"):
132+
if provider in (ProviderName.BEDROCK, ProviderName.OLLAMA, ProviderName.LMSTUDIO, ProviderName.LLAMAFILE):
133133
pytest.skip("This provider handles `api_key` differently.")
134134
with patch.dict(os.environ, {}, clear=True):
135135
with pytest.raises(MissingApiKeyError):
@@ -140,7 +140,7 @@ def test_providers_raise_MissingApiKeyError(provider: ProviderName) -> None:
140140
("provider_name", "module_name"),
141141
[
142142
("anthropic", "anthropic"),
143-
("aws", "boto3"),
143+
("bedrock", "boto3"),
144144
("azure", "azure"),
145145
("cerebras", "cerebras"),
146146
("cohere", "cohere"),

0 commit comments

Comments
 (0)