Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
libninja
Generate client libraries that are featureful, human, well-documented, and async based on OpenAPI specs
-
vcr
Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
jsii
jsii allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the AWS Cloud Development Kit to deliver polyglot libraries from a single codebase!
For example, they list PyO3 for Python (see also maturin for packaging), NAPI-RS for Node.js, and Rutie for Ruby.
At Mozilla we built a multi-language bindings generator: https://github.com/mozilla/uniffi-rs/
If you're talking about client libraries (like Stripe), I encourage you to check out https://github.com/kurtbuilds/libninja
For example, they list PyO3 for Python (see also maturin for packaging), NAPI-RS for Node.js, and Rutie for Ruby.
For example, they list PyO3 for Python (see also maturin for packaging), NAPI-RS for Node.js, and Rutie for Ruby.
For example, they might expect to be able to mock calls to your API with something like VCR or Responses.
Afaik there's nothing that's widely used and of which I'd say I prefer it. But I'm having hopes for https://github.com/microsoft/typespec (former cadl). The reason being that yaml/JSON specs get huge very quickly, OpenAPI has to fight with restrictions of yaml/JSON ($refs, splitting up into files, oneOf, etc.) and tooling is ok but not great.
We're using it at Wire to target Android and iOS; For WASM we use wasm-bindgen with a custom TypeScript wrapper to make it better to use (Rust Results are notoriously bad over the WASM FFI so we deconstruct errors on the rust side as JSON and reconstruct them on the TS side to get "rich errors").