From a593be5627980660f273c6bd6398ad16ce367b5f Mon Sep 17 00:00:00 2001 From: George Fu Date: Thu, 29 Oct 2026 23:52:52 +0000 Subject: [PATCH] Pin smithy-python codegen to the 2026-10-08 release --- clients/aws-sdk-api-gateway/pyproject.toml | 2 +- .../aws-sdk-bedrock-agent-runtime/pyproject.toml | 2 +- clients/aws-sdk-bedrock-agent/pyproject.toml | 2 +- .../pyproject.toml | 2 +- clients/aws-sdk-bedrock-agentcore/pyproject.toml | 2 +- .../pyproject.toml | 2 +- .../aws-sdk-bedrock-data-automation/pyproject.toml | 2 +- clients/aws-sdk-bedrock-runtime/pyproject.toml | 2 +- clients/aws-sdk-bedrock/pyproject.toml | 2 +- clients/aws-sdk-cloudtrail/pyproject.toml | 2 +- clients/aws-sdk-cognito-identity/pyproject.toml | 2 +- clients/aws-sdk-connecthealth/pyproject.toml | 2 +- clients/aws-sdk-dynamodb/pyproject.toml | 2 +- clients/aws-sdk-guardduty/pyproject.toml | 2 +- clients/aws-sdk-lambda/pyproject.toml | 2 +- clients/aws-sdk-lex-runtime-v2/pyproject.toml | 2 +- clients/aws-sdk-polly/pyproject.toml | 2 +- clients/aws-sdk-qbusiness/pyproject.toml | 2 +- .../aws-sdk-sagemaker-runtime-http2/pyproject.toml | 2 +- clients/aws-sdk-secrets-manager/pyproject.toml | 2 +- clients/aws-sdk-signin/pyproject.toml | 2 +- clients/aws-sdk-sns/pyproject.toml | 2 +- clients/aws-sdk-sqs/pyproject.toml | 2 +- clients/aws-sdk-sts/pyproject.toml | 2 +- clients/aws-sdk-transcribe-streaming/pyproject.toml | 2 +- codegen/gen_client.py | 13 +++++++------ codegen/smithy-python.toml | 2 +- 27 files changed, 33 insertions(+), 32 deletions(-) diff --git a/clients/aws-sdk-api-gateway/pyproject.toml b/clients/aws-sdk-api-gateway/pyproject.toml index 63cad077..efbeb990 100644 --- a/clients/aws-sdk-api-gateway/pyproject.toml +++ b/clients/aws-sdk-api-gateway/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock-agent-runtime/pyproject.toml b/clients/aws-sdk-bedrock-agent-runtime/pyproject.toml index 8ee64ffd..b6258da3 100644 --- a/clients/aws-sdk-bedrock-agent-runtime/pyproject.toml +++ b/clients/aws-sdk-bedrock-agent-runtime/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock-agent/pyproject.toml b/clients/aws-sdk-bedrock-agent/pyproject.toml index fea30760..925f46d9 100644 --- a/clients/aws-sdk-bedrock-agent/pyproject.toml +++ b/clients/aws-sdk-bedrock-agent/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock-agentcore-control/pyproject.toml b/clients/aws-sdk-bedrock-agentcore-control/pyproject.toml index 7c4b49b6..d26fb637 100644 --- a/clients/aws-sdk-bedrock-agentcore-control/pyproject.toml +++ b/clients/aws-sdk-bedrock-agentcore-control/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock-agentcore/pyproject.toml b/clients/aws-sdk-bedrock-agentcore/pyproject.toml index eac2358c..089a61d1 100644 --- a/clients/aws-sdk-bedrock-agentcore/pyproject.toml +++ b/clients/aws-sdk-bedrock-agentcore/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock-data-automation-runtime/pyproject.toml b/clients/aws-sdk-bedrock-data-automation-runtime/pyproject.toml index 98bdd584..c17dc221 100644 --- a/clients/aws-sdk-bedrock-data-automation-runtime/pyproject.toml +++ b/clients/aws-sdk-bedrock-data-automation-runtime/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock-data-automation/pyproject.toml b/clients/aws-sdk-bedrock-data-automation/pyproject.toml index 50edf397..35ff0206 100644 --- a/clients/aws-sdk-bedrock-data-automation/pyproject.toml +++ b/clients/aws-sdk-bedrock-data-automation/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock-runtime/pyproject.toml b/clients/aws-sdk-bedrock-runtime/pyproject.toml index de79912c..8f0cd847 100644 --- a/clients/aws-sdk-bedrock-runtime/pyproject.toml +++ b/clients/aws-sdk-bedrock-runtime/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-bedrock/pyproject.toml b/clients/aws-sdk-bedrock/pyproject.toml index 50fd4694..72d1be8a 100644 --- a/clients/aws-sdk-bedrock/pyproject.toml +++ b/clients/aws-sdk-bedrock/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-cloudtrail/pyproject.toml b/clients/aws-sdk-cloudtrail/pyproject.toml index 301b994f..24a128f5 100644 --- a/clients/aws-sdk-cloudtrail/pyproject.toml +++ b/clients/aws-sdk-cloudtrail/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-cognito-identity/pyproject.toml b/clients/aws-sdk-cognito-identity/pyproject.toml index 77ecf9a8..bfc3994e 100644 --- a/clients/aws-sdk-cognito-identity/pyproject.toml +++ b/clients/aws-sdk-cognito-identity/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-connecthealth/pyproject.toml b/clients/aws-sdk-connecthealth/pyproject.toml index f37aaef3..e182a724 100644 --- a/clients/aws-sdk-connecthealth/pyproject.toml +++ b/clients/aws-sdk-connecthealth/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "boto3", diff --git a/clients/aws-sdk-dynamodb/pyproject.toml b/clients/aws-sdk-dynamodb/pyproject.toml index 67ebde9c..c8e4da55 100644 --- a/clients/aws-sdk-dynamodb/pyproject.toml +++ b/clients/aws-sdk-dynamodb/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-guardduty/pyproject.toml b/clients/aws-sdk-guardduty/pyproject.toml index dd7b4194..f79dab66 100644 --- a/clients/aws-sdk-guardduty/pyproject.toml +++ b/clients/aws-sdk-guardduty/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-lambda/pyproject.toml b/clients/aws-sdk-lambda/pyproject.toml index 3e292a67..5a71372a 100644 --- a/clients/aws-sdk-lambda/pyproject.toml +++ b/clients/aws-sdk-lambda/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-lex-runtime-v2/pyproject.toml b/clients/aws-sdk-lex-runtime-v2/pyproject.toml index ac0c4a09..1a4f2c73 100644 --- a/clients/aws-sdk-lex-runtime-v2/pyproject.toml +++ b/clients/aws-sdk-lex-runtime-v2/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "boto3", diff --git a/clients/aws-sdk-polly/pyproject.toml b/clients/aws-sdk-polly/pyproject.toml index b8a1a26b..4a3c4a9e 100644 --- a/clients/aws-sdk-polly/pyproject.toml +++ b/clients/aws-sdk-polly/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-qbusiness/pyproject.toml b/clients/aws-sdk-qbusiness/pyproject.toml index c278bc6d..beda4d0b 100644 --- a/clients/aws-sdk-qbusiness/pyproject.toml +++ b/clients/aws-sdk-qbusiness/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-sagemaker-runtime-http2/pyproject.toml b/clients/aws-sdk-sagemaker-runtime-http2/pyproject.toml index b2b8c19e..6612a493 100644 --- a/clients/aws-sdk-sagemaker-runtime-http2/pyproject.toml +++ b/clients/aws-sdk-sagemaker-runtime-http2/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-secrets-manager/pyproject.toml b/clients/aws-sdk-secrets-manager/pyproject.toml index b147f2b6..ada7cb05 100644 --- a/clients/aws-sdk-secrets-manager/pyproject.toml +++ b/clients/aws-sdk-secrets-manager/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-signin/pyproject.toml b/clients/aws-sdk-signin/pyproject.toml index d63f4071..bbe78df8 100644 --- a/clients/aws-sdk-signin/pyproject.toml +++ b/clients/aws-sdk-signin/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-sns/pyproject.toml b/clients/aws-sdk-sns/pyproject.toml index acf2ab16..b554c4e6 100644 --- a/clients/aws-sdk-sns/pyproject.toml +++ b/clients/aws-sdk-sns/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-sqs/pyproject.toml b/clients/aws-sdk-sqs/pyproject.toml index 4b929db1..a200bed8 100644 --- a/clients/aws-sdk-sqs/pyproject.toml +++ b/clients/aws-sdk-sqs/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-sts/pyproject.toml b/clients/aws-sdk-sts/pyproject.toml index 96be032f..7e738618 100644 --- a/clients/aws-sdk-sts/pyproject.toml +++ b/clients/aws-sdk-sts/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "pytest>=9.0.1,<10.0.0", diff --git a/clients/aws-sdk-transcribe-streaming/pyproject.toml b/clients/aws-sdk-transcribe-streaming/pyproject.toml index a546c2ef..635b7f14 100644 --- a/clients/aws-sdk-transcribe-streaming/pyproject.toml +++ b/clients/aws-sdk-transcribe-streaming/pyproject.toml @@ -36,7 +36,7 @@ awscrt = [ [dependency-groups] docs = [ "mkdocstrings[python]~=1.0.4", - "zensical~=0.0.53", + "zensical>=0.0.53,<0.0.71", ] test = [ "boto3", diff --git a/codegen/gen_client.py b/codegen/gen_client.py index bbafd67d..64c32be1 100644 --- a/codegen/gen_client.py +++ b/codegen/gen_client.py @@ -184,9 +184,7 @@ def service_id(model: Path) -> str: def _projection(model: Path) -> dict[str, object]: slug = model.stem - # Per-projection imports make each client's input independent of its batch. return { - "imports": [str(model)], "plugins": { "python-client-codegen": { "service": service_id(model), @@ -219,8 +217,11 @@ def _read_version(pyproject: Path) -> str: def _build(models: list[Path], gradle_args: list[str]) -> None: + # Generated shape order depends on the loaded model set, so every build loads all + # models, as the release build does; batch size then cannot affect output. build_config = { "version": "1.0", + "imports": [str(MODELS)], "projections": {m.stem: _projection(m) for m in models}, } build_file = CODEGEN_DIR / "smithy-build.json" @@ -252,6 +253,7 @@ def _install_client(slug: str, docs_deps: list[str]) -> None: ) if not projection.is_dir(): sys.exit(f"codegen produced no output at {projection}") + _format(projection, projection / "pyproject.toml") generated = _relative_files(projection) _check_keep_untouched(name, generated) overlays = _overlay_files(name, generated) @@ -266,7 +268,6 @@ def _install_client(slug: str, docs_deps: list[str]) -> None: _uv_add(dest, "docs", docs_deps) if name in CLIENTS_REQUIRING_BOTO3: _uv_add(dest, "test", ["boto3"]) - _format(dest / "src" / _module(slug), dest / "pyproject.toml") print(f"wrote {dest}") @@ -356,7 +357,7 @@ def _uv_add(client: Path, group: str, deps: list[str]) -> None: ) -def _format(src_dir: Path, config: Path) -> None: +def _format(root: Path, config: Path) -> None: # The generator only formats when ruff is on gradle's PATH, which it usually is not. smithy_python = _smithy_python() if not (smithy_python / "pyproject.toml").exists(): @@ -364,8 +365,8 @@ def _format(src_dir: Path, config: Path) -> None: return cfg = ["--config", str(config)] for cmd in ( - ["uv", "run", "ruff", "check", str(src_dir), "--fix", *cfg], - ["uv", "run", "ruff", "format", str(src_dir), *cfg], + ["uv", "run", "ruff", "check", str(root), "--fix", *cfg], + ["uv", "run", "ruff", "format", str(root), *cfg], ): subprocess.run(cmd, cwd=smithy_python, check=True) diff --git a/codegen/smithy-python.toml b/codegen/smithy-python.toml index 5198efa4..6d7079aa 100644 --- a/codegen/smithy-python.toml +++ b/codegen/smithy-python.toml @@ -1,3 +1,3 @@ # The smithy-python commit `make clients` builds codegen from. May be any commit # reachable from the colocated smithy-python checkout, including a local one. -commit = "6c2dfa2c689c2352985ffb05eef1bfc5e3a697e7" +commit = "b8eceadb0573bd0c757def9a2b26fe7bf938b239"