From 8000e36a2bbf82fffea075a6567221a674a257e3 Mon Sep 17 00:00:00 2001 From: SamRemis Date: Sun, 26 Oct 2025 18:31:47 -0400 Subject: [PATCH 1/2] Fix missing deepcopy import for event stream operations --- .../software/amazon/smithy/python/codegen/ClientGenerator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java index e5e3b72d..ad873854 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java @@ -221,6 +221,7 @@ raise ExpectationNotMetError("protocol and transport MUST be set on the config t private void generateEventStreamOperation(PythonWriter writer, OperationShape operation) { writer.pushState(new OperationSection(service, operation)); + writer.addStdlibImport("copy", "deepcopy"); writer.addDependency(SmithyPythonDependency.SMITHY_CORE); writer.addDependency(SmithyPythonDependency.SMITHY_AWS_CORE.withOptionalDependencies("eventstream")); var operationSymbol = symbolProvider.toSymbol(operation); From 075e21ef5eba30b643f43f49a3b3f0a623395d27 Mon Sep 17 00:00:00 2001 From: SamRemis Date: Mon, 27 Oct 2025 12:20:39 -0400 Subject: [PATCH 2/2] Updates based on feedback --- .../software/amazon/smithy/python/codegen/ClientGenerator.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java index ad873854..026e4dfe 100644 --- a/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java +++ b/codegen/core/src/main/java/software/amazon/smithy/python/codegen/ClientGenerator.java @@ -131,7 +131,6 @@ private void generateOperation(PythonWriter writer, OperationShape operation) { var outputSymbol = symbolProvider.toSymbol(output); writer.pushState(new OperationSection(service, operation)); - writer.addStdlibImport("copy", "deepcopy"); writer.putContext("input", inputSymbol); writer.putContext("output", outputSymbol); writer.putContext("plugin", pluginSymbol); @@ -189,6 +188,7 @@ private void writeSharedOperationInit(PythonWriter writer, OperationShape operat writer.addImport("smithy_core.types", "TypedProperties"); writer.addImport("smithy_core.aio.client", "RequestPipeline"); writer.addImport("smithy_core.exceptions", "ExpectationNotMetError"); + writer.addStdlibImport("copy", "deepcopy"); writer.write(""" operation_plugins: list[Plugin] = [ @@ -221,7 +221,6 @@ raise ExpectationNotMetError("protocol and transport MUST be set on the config t private void generateEventStreamOperation(PythonWriter writer, OperationShape operation) { writer.pushState(new OperationSection(service, operation)); - writer.addStdlibImport("copy", "deepcopy"); writer.addDependency(SmithyPythonDependency.SMITHY_CORE); writer.addDependency(SmithyPythonDependency.SMITHY_AWS_CORE.withOptionalDependencies("eventstream")); var operationSymbol = symbolProvider.toSymbol(operation);