Repository navigation
Internalize client generation - #117
Merged
Merged
Conversation
kuhe
force-pushed
the
kuhe/chore/make-clients
branch
from
October 29, 2026 17:13
ebb2ad4 to
24f47b7
Compare
kuhe
marked this pull request as ready for review
October 29, 2026 19:21
jonathan343
approved these changes
Oct 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This implements
make clientslocal to this repository and a target pointer to the version of smithy-python to use.Why do we need to internalize codegen?
In the current release model, the heads of develop in smithy-python and aws-sdk-python release together.
This means, you can't land an intentional breaking change in smithy-python without instantly breaking the SDK. You need to carefully time your merges, which when the SDK goes into production will happen daily for hundreds of packages, making it extremely difficult.
The pointer keeps the SDK chugging along at a pinned codegen version, so it can release every day. When we're ready to integrate a new codegen version, we will bump the pointer, regenerate, and then be able to test that new codegen series in a PR before merging.
Ask internally for more details.
What is the client-overlays directory?
You can ignore the actual contents, but this contains files that overwrite what is generated by smithy-python and isn't in a non-conflicting folder like integration tests.