Skip to content

api-evangelist/smithy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smithy

Smithy is an open source, protocol-agnostic interface definition language (IDL) and toolchain developed at AWS for defining, validating, and generating API clients, servers, and documentation for any programming language. It powers the AWS SDK code generation pipeline and supports protocol-agnostic API modeling with shapes, traits, validators, and code generators. Smithy IDL 2.0 is the current stable version.

Overview

Smithy models consist of shapes (the type system) and traits (annotations). Models can be written in the Smithy IDL syntax or represented as JSON AST. The Smithy CLI can build, validate, diff, and transform models into generated artifacts.

Supported Protocols

  • AWS Protocols: restJson1, restXml, json1.0, json1.1, query, ec2Query
  • Smithy Protocols: rpcv2Cbor
  • Event Streaming: MQTT bindings

Artifacts

JSON Schema

JSON Structure

JSON-LD

Examples

Rules

  • smithy-rules.yml — Spectral ruleset for Smithy-generated OpenAPI conventions

Vocabulary

Code Generators

Language Repository
Java smithy-lang/smithy
Rust smithy-lang/smithy-rs
Python smithy-lang/smithy-python
TypeScript awslabs/smithy-typescript
Kotlin smithy-lang/smithy-kotlin
Go aws/smithy-go

Developer Resources

About

Smithy is an open source interface definition language and toolchain from AWS for defining and generating API clients and services.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors