Skip to main content

Show HN: Stripe-quality API client libraries with a single button click https://ift.tt/ibOBuSz

Show HN: Stripe-quality API client libraries with a single button click TL;DR- Libninja will generate world-class client libraries for you, without you needing to fiddle with openapi-generator, maintain build pipelines, and so forth. If you just want Rust, reach out, and I'll create your client library at no cost, because I want to help Rust's ecosystem grow. -- Hi HN, I got into Rust in a big way about 9 months ago. While the language is quickly maturing, one large gap in the ecosystem is immature or non-existent client libraries for common API services like Plaid, Stripe, Twilio, Github, Slack, and so on. The existing openapi-generator templates create Rust libraries that don't even compile out of the box, so I started down the rabbit hole of creating a Rust-based toolchain to generate Rust client libraries based on an OpenAPI spec. Rust is an incredible language to build codegen tools in, because of algebraic data types, Rust macro system, and Rust's incredibly powerful libraries for AST transformation (quote, syn, and more - almost solely due to dtolnay - thank you!) Before long, I realized it's a common painpoint for API companies to maintain build pipelines, tweak openapi-generator templates, and so forth, to get client library generation working. I added support for more languages, and soon after, Libninja was born. If you're an API company, Libninja will generate world-class client libraries for you. Client libraries: - help your users integrate faster (meaning you get revenue faster) - reduce the number of bug reports and support requests (because there's no ambiguity about using your API) - Give your users a phenomenal developer experience (editor autocomplete, API documentation in docstrings, and more) PS- If you just want a Rust client, reach out, and I'll create your client library at no cost, because I want to help Rust's ecosystem grow. https://ift.tt/VKcrT1D September 12, 2022 at 11:45PM

Comments

Popular posts from this blog