Soto Code Generator
The code generator for Soto, an AWS SDK for Swift, turning AWS Smithy service models into Swift client code, usable as a Swift Package Manager build plugin so a project only compiles the AWS services it actually uses.
Soto Code Generator produces Swift client code for AWS services from the Smithy models AWS publishes. Because the full Soto project is large and most consumers only need a handful of its many supported services, it is most commonly used as a Swift Package Manager build plugin, added alongside the soto-core dependency, which converts Smithy model files into Swift source as part of a project's own build.
A project selects which services to generate in a soto.config.json file, listing each AWS service it uses; the required Smithy model files and the shared endpoint definition file are fetched into the target's folder with a bundled download-aws-models plugin command. If a target only contains model files and no other Swift source, an empty dummy Swift file is needed so Swift Package Manager still recognizes it as a target.
Some extension code, such as S3 multipart upload or DynamoDB Codable support, is not produced by this generation process and may need separate handling.