Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 7 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SMITHY_PYTHON ?= ../smithy-python
# Clients per gradle build in `make clients`; lower it if the build runs out of heap.
BATCH_SIZE ?= 25

.PHONY: docs docs-serve docs-clean docs-install docs-lock venv gen clients fragments publish-codegen aio-check static-analysis test-unit test-functional test-integration
.PHONY: docs docs-serve docs-clean docs-install docs-lock venv gen clients fragments publish-codegen aio-check meta-package-check static-analysis test-unit test-functional test-integration

# Each client and package runs in its own .venv. Dependencies outside this repo,
# including smithy-python, resolve from PyPI at the versions each one declares.
Expand All @@ -20,6 +20,7 @@ UV_RUN = uv run --python $(PYTHON_VERSION) --project
INTEGRATION_SKIP := clients/aws-sdk-qbusiness

static-analysis:
$(MAKE) meta-package-check
@set -e; for p in $(PROJECTS); do \
dirs=$$(ls -d $$p/src $$p/tests 2>/dev/null || true); \
group=$$(grep -q '^test = \[' $$p/pyproject.toml && echo --group test || true); \
Expand Down Expand Up @@ -87,6 +88,11 @@ endif
aio-check:
uv run --no-project --python $(PYTHON_VERSION) python scripts/aio-naming/aio_naming.py

# Catches a client missing from aws-sdk-python's extras or in-repo sources, which
# would otherwise resolve from PyPI and fail on any unpublished version bump.
meta-package-check:
uv run --no-project --python $(PYTHON_VERSION) python scripts/meta-package/meta_package.py

venv:
uv venv --python $(PYTHON_VERSION)

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ to verify your setup:
```python
import asyncio

from aws_sdk_sts.client import AsyncSTSClient
from aws_sdk_sts.aio.client import AsyncSTSClient
from aws_sdk_sts.models import GetCallerIdentityInput


Expand All @@ -130,8 +130,8 @@ python -m pip install "aws-sdk-bedrock-runtime[awscrt]"
```

```python
from aws_sdk_bedrock_runtime.client import AsyncBedrockRuntimeClient
from aws_sdk_bedrock_runtime.config import AsyncBedrockRuntimeConfig
from aws_sdk_bedrock_runtime.aio.client import AsyncBedrockRuntimeClient
from aws_sdk_bedrock_runtime.aio.config import AsyncBedrockRuntimeConfig
from smithy_http.aio.crt import AWSCRTHTTPClient


Expand Down
25 changes: 0 additions & 25 deletions clients/aws-sdk-api-gateway/Makefile

This file was deleted.

18 changes: 0 additions & 18 deletions clients/aws-sdk-api-gateway/docs/README.md

This file was deleted.

1 change: 0 additions & 1 deletion clients/aws-sdk-api-gateway/docs/index.md

This file was deleted.

9 changes: 0 additions & 9 deletions clients/aws-sdk-api-gateway/docs/stylesheets/extra.css

This file was deleted.

21 changes: 11 additions & 10 deletions clients/aws-sdk-api-gateway/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,26 @@ classifiers = [
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14"
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15"
]

dependencies = [
"smithy_aws_core[json]~=0.12.0",
"smithy_core~=0.9.0",
"smithy_http[aiohttp]~=0.6.0"
"smithy_aws_core[json]~=0.13.0",
"smithy_core~=0.10.0",
"smithy_http[aiohttp, urllib3]~=0.7.0"
]

[project.optional-dependencies]
awscrt = [
"smithy_http[awscrt]~=0.6.0"
"smithy_http[awscrt]~=0.7.0"
]

[dependency-groups]
docs = [
"mkdocstrings[python]~=1.0.4",
"zensical>=0.0.53,<0.0.71",
]
test = [
"pytest>=9.0.1,<10.0.0",
"pytest-asyncio>=1.3.0,<1.4.0"
"pytest-asyncio>=1.3.0,<1.4.0",
"smithy_test~=0.2.0"
]

[build-system]
Expand All @@ -55,6 +53,9 @@ reportUnusedVariable = false
reportUnnecessaryComparison = false
reportUnusedClass = false
enableExperimentalFeatures = true
# models.py is the dynamic runtime; models.pyi carries the typed
# surface for consumers, so don't type-check the implementation body.
exclude = ["**/models.py"]

[tool.ruff]
target-version = "py312"
Expand Down
31 changes: 31 additions & 0 deletions clients/aws-sdk-api-gateway/src/aws_sdk_api_gateway/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
# Code generated by smithy-python-codegen DO NOT EDIT.

from importlib import import_module
from typing import Any, TYPE_CHECKING


if TYPE_CHECKING:
from .client import APIGatewayClient
from .config import APIGatewayConfig
from .aio.client import AsyncAPIGatewayClient
from .aio.config import AsyncAPIGatewayConfig

__all__ = [
"APIGatewayClient",
"APIGatewayConfig",
"AsyncAPIGatewayClient",
"AsyncAPIGatewayConfig",
]

_EXPORTS = {
"APIGatewayClient": ".client",
"APIGatewayConfig": ".config",
"AsyncAPIGatewayClient": ".aio.client",
"AsyncAPIGatewayConfig": ".aio.config",
}


def __getattr__(name: str) -> Any:
if name in _EXPORTS:
return getattr(import_module(_EXPORTS[name], __name__), name)
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")


__version__: str = "0.12.0"
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Code generated by smithy-python-codegen DO NOT EDIT.

"""Endpoint BDD for com.amazonaws.apigateway#BackplaneControlService."""

from smithy_core.endpoints import EndpointBdd

# fmt: off
# Tags: ref=0, attr=1, call=2, list=3, map=4, error=5, endpoint=6.
BDD = EndpointBdd(
# (name, type, required, default, builtin, client_context_attribute)
parameters=(
("Region", "string", False, None, "AWS::Region", None),
("UseDualStack", "boolean", True, False, "AWS::UseDualStack", None),
("UseFIPS", "boolean", True, False, "AWS::UseFIPS", None),
("Endpoint", "string", False, None, "SDK::Endpoint", None),
),
functions=("aws.partition", "booleanEquals", "isSet"),
conditions=(
((2, "isSet", (0, "Endpoint")), None), # 0: isSet(Endpoint)
((2, "isSet", (0, "Region")), None), # 1: isSet(Region)
((2, "aws.partition", (0, "Region")), "PartitionResult"), # 2: PartitionResult = aws.partition(Region)
((2, "booleanEquals", (0, "UseFIPS"), True), None), # 3: booleanEquals(UseFIPS, true)
((2, "booleanEquals", (0, "UseDualStack"), True), None), # 4: booleanEquals(UseDualStack, true)
((2, "booleanEquals", (1, (0, "PartitionResult"), "supportsDualStack"), True), None), # 5: booleanEquals(PartitionResult#supportsDualStack, true)
((2, "booleanEquals", (1, (0, "PartitionResult"), "supportsFIPS"), True), None), # 6: booleanEquals(PartitionResult#supportsFIPS, true)
),
results=(
None, # 0: no match
(5, "Invalid Configuration: FIPS and custom endpoint are not supported"), # 1
(5, "Invalid Configuration: Dualstack and custom endpoint are not supported"), # 2
(6, (0, "Endpoint"), None, ()), # 3
(6, "https://apigateway-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", None, ()), # 4
(5, "FIPS and DualStack are enabled, but this partition does not support one or both"), # 5
(6, "https://apigateway-fips.{Region}.{PartitionResult#dnsSuffix}", None, ()), # 6
(5, "FIPS is enabled but this partition does not support FIPS"), # 7
(6, "https://apigateway.{Region}.{PartitionResult#dualStackDnsSuffix}", None, ()), # 8
(5, "DualStack is enabled but this partition does not support DualStack"), # 9
(6, "https://apigateway.{Region}.{PartitionResult#dnsSuffix}", None, ()), # 10
(5, "Invalid Configuration: Missing Region"), # 11
),
root=2,
# (condition, high, low); 1 and -1 are terminals, a negative reference is a
# complement edge, and 100_000_000 + k is result k.
nodes=(
-1, 1, -1,
0, 12, 3,
1, 4, 100_000_011,
2, 5, 100_000_011,
3, 8, 6,
4, 7, 100_000_010,
5, 100_000_008, 100_000_009,
4, 10, 9,
6, 100_000_006, 100_000_007,
5, 11, 100_000_005,
6, 100_000_004, 100_000_005,
3, 100_000_001, 13,
4, 100_000_002, 100_000_003,
),
)
# fmt: on
Loading
Loading