Smithy is an interface definition language (IDL) provided by AWS. It is protocol agnostic, flexible, and reasonably low surface, which facilitates the writing of tooling around it.
Smithy4s is a tool that generates third-party-free, protocol-agnostic scala code from smithy specifications.
Smithy4s can be used to:
- quickly derive http/rest servers and clients
- derive pure-scala AWS clients
- derive CLI tools
- and has the potential for much, much more!
Smithy4s supports both Smithy 2.0 and Smithy 1.0 models. You can read about the differences in this blogpost from AWS.