rust-experiments
smithy-rs
rust-experiments | smithy-rs | |
---|---|---|
1 | 4 | |
0 | 454 | |
- | 2.6% | |
6.8 | 9.8 | |
9 months ago | 5 days ago | |
Rust | Rust | |
GNU Affero General Public License v3.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-experiments
-
Nested Sub-commands in Clap 4.3 using Derive method
For a simple example of multiple levels of sub commands try this. I wrote a CLI program to track the time I spent on development work called Dev Tracker which uses Clap and derive, see cli and ops.rs.
smithy-rs
-
Tips on Creating a Design-First API Using Rust
AWS recently released https://github.com/awslabs/smithy-rs, which is the basis upon which the AWS Rust SDKs are built. The team behind it are still refining it, there’s the odd corner-case with smithy models that will catch it, but it is pretty decent now.
-
Axum + Sqlite + minijinja + htmx winning website combo?
Here's an example of what this looks like in practice: https://github.com/awslabs/smithy-rs/tree/main/rust-runtime/aws-smithy-http-server-python/examples
-
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
There’s an older internal schema language for API descriptions, but it can be translated to smithy, so that’s being used for all new sdk’s. See https://github.com/awslabs/smithy-rs for instance.
-
Smithy: A language for defining services and SDKs
It's not really a fully finished project yet, so not much. We shipped the AWS SDK for JS v3 with Smithy, the AWS SDK for Go v2 with Smithy, and just launched an alpha of the AWS SDK for Rust using Smithy. More are in the works. We're currently iterating on their code generators to make them easier to use outside the AWS SDKs. AWS SDKs are being built in a layered approach where there's a generic code generator that's really extensible, and then the AWS SDKs extend it to add AWS-specific stuff like regions and credential handling.
We're working to get projects like these to GA: https://github.com/awslabs/smithy-typescript, https://github.com/aws/smithy-go, and https://github.com/awslabs/smithy-rs. And we're also working on service code generation.
What are some alternatives?
gust - Built in Rust and leveraging Docker, JSON, and SQLite (with future integration of a GraphQL API), 'gust' simplifies the process of preserving your recipes and creating comprehensive grocery shopping lists.
smithy-go - Smithy code generators for Go (in development)
dev-tracker - Tracking project development progress for solo developers
smithy - Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.
OctaSine - Frequency modulation synthesizer plugin (VST2, CLAP). Runs on macOS, Windows and Linux.
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
nih-plug - Rust VST3 and CLAP plugin framework and plugins - because everything is better when you do it yourself
svelte-axum-project - Starting project template for Rust Axum backend and Svelte frontend
rust-example-caster-api - DEPRECATED: A demo Rust API implementation using Tokio, Axum, async-graphql, and SeaORM
hacker-laws - 💻📖 Laws, Theories, Principles and Patterns that developers will find useful. #hackerlaws
libninja - Generate client libraries that are featureful, human, well-documented, and async based on OpenAPI specs
minijinja - MiniJinja is a powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2