smithy-rs
libninja
smithy-rs | libninja | |
---|---|---|
4 | 5 | |
454 | 66 | |
2.6% | - | |
9.8 | 8.3 | |
about 13 hours ago | 7 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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.
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.
libninja
-
OpenAPI REST service client codegen question
Check out https://github.com/kurtbuilds/libninja . It'll give clients that are dramatically more idiomatic compared to openapi-generator.
-
Tips on Creating a Design-First API Using Rust
You might check out https://github.com/kurtbuilds/libninja
-
Write SDK “base” in Rust, wrap in other languages?
If you're talking about client libraries (like Stripe), I encourage you to check out https://github.com/kurtbuilds/libninja
-
Frameworks for creating a REST API server and automatically generating a reqwest client?
It uses httpclient instead of reqwest, but check out https://github.com/kurtbuilds/libninja for idiomatic OpenAPI client generation from the spec. I haven't tested httpclient on wasm, but no reason to think it wouldn't work.
-
Tool to generate API client libraries (for Rust & other langs)
I started building a Rust-based toolchain to generate API client libraries, which became openapi-client-generator.
What are some alternatives?
smithy-go - Smithy code generators for Go (in development)
plaid-rs - Rust client library for Plaid, generated from Plaid's OpenAPI spec
smithy - Smithy is a protocol-agnostic interface definition language and set of tools for generating clients, servers, and documentation for any programming language.
benchling-rs - benchling client, generated from the OpenAPI spec
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
typespec
rust-experiments - Small experiments in writing Rust programs to perform specific tasks
vmd
svelte-axum-project - Starting project template for Rust Axum backend and Svelte frontend
sendgrid-rs - Sendgrid client, generated from the OpenAPI spec
rust-example-caster-api - DEPRECATED: A demo Rust API implementation using Tokio, Axum, async-graphql, and SeaORM