#idl #lib #smithy #tool


Rust native primary client library for the AWS Smithy IDL

12 releases

0.2.5 Apr 30, 2021
0.2.4 Apr 30, 2021
0.2.2 Feb 16, 2021
0.2.1 Oct 28, 2020
0.1.1 Jun 30, 2020

#1301 in Rust patterns

Download history 802/week @ 2023-10-25 718/week @ 2023-11-01 544/week @ 2023-11-08 488/week @ 2023-11-15 309/week @ 2023-11-22 273/week @ 2023-11-29 239/week @ 2023-12-06 419/week @ 2023-12-13 179/week @ 2023-12-20 269/week @ 2023-12-27 237/week @ 2024-01-03 326/week @ 2024-01-10 285/week @ 2024-01-17 296/week @ 2024-01-24 161/week @ 2024-01-31 223/week @ 2024-02-07

1,027 downloads per month
Used in 3 crates (via cargo_atelier)

MIT license


Atelier: crate atelier_lib

A combined crate for all Atelier sub-crates incorporated as features. Atelier is a Rust native library, and tools, for the AWS Smithy Interface Definition Language.

crates.io docs.rs

The aim of this crate is to provide a single client interface over a set of crates that provide different Atelier capabilities. The following table shows the mapping from individual crate to the combined module path in this library. The column Default indicates those that are included in the default feature, although the core will be included regardless of any feature selection.

Feature name Default Individual crate Target module path Purpose
N/A Yes atelier_core ::core Semantic model, builders, and API traits.
"assembler" Yes atelier_assembler ::assembler Model assembly from multiple files.
"describe" Yes atelier_describe ::format::document Writing markdown documentation.
::format::graphml Writing GraphML visualizations.
::format::plant_uml Writing UML visualizations.
"json" Yes atelier_json ::format::json Reading and Writing JSON AST representation.
"openapi" No atelier_openapi ::format::openapi Reading and Writing OpenAPI representations.
"rdf" No atelier_rdf ::format::rdf Reading and Writing RDF representations.
"smithy" Yes atelier_smithy ::format::smithy Reading and Writing the Smithy native representation.

This crate also provides some pre-defined action functions for linting and validating models.


Version 0.2.5

  • Moved the assembler into it's own crate, added it as a new feature.

Version 0.2.4

  • Moved GraphML and PlantUML writers to the describe crate.

Version 0.2.3

  • Removed dependency on deprecated 'select' crate.
  • Updated due to trait API changes in core.

Version 0.2.2

  • Support for documentation writer.

Version 0.2.1

  • Support for GraphML writer.

Version 0.2.0

  • Major refactoring

Version 0.1.6

  • Added UnwelcomeTerms linter to standard set.
  • Added assembler module.
  • Pulled most things out of lib.rs into separate modules.
  • Made "json" a default feature.

Version 0.1.5

Bumped versions of core, json, and smithy crates.

Version 0.1.4

  • Added the action module with standard_model_lint and standard_model_validation functions.

Version 0.1.3

  • Documentation fixes.

Version 0.1.2

  • New dependency versions:
    • core: v0.1.3
    • json: v0.1.2
    • smithy: v0.1.2

Version 0.1.1

  • All re-exports configured using feature flags.


~148K SLoC