🛡️ Cast typed client SDKs from OpenAPI specifications instantly.
SDKGenerator is an elegant, polyglot OpenAPI client library generator. It parses an OpenAPI spec (v3.0 or v3.1) and outputs beautifully styled, fully typed client libraries in TypeScript, Python, Go, Ruby, and Java.
⚡ Try it live: https://frankstop.github.io/SDKGenerator/
SDKGenerator solves the painful problem of manually maintaining client-server bindings across different parts of a modern software stack.
If you have a backend written in Go, a frontend in TypeScript, data engineering pipelines in Python, and legacy billing services in Java, keeping API clients synchronized is a nightmare. SDKGenerator parses your central OpenAPI spec and outputs matching, type-safe clients for all five platforms in under a second.
Integrate the CLI directly into your deployment pipeline. Whenever an OpenAPI specification is updated in your repository, a CI action automatically triggers SDKGenerator, compiles the code, and publishes the new typed packages directly to your private registries (NPM, PyPI, Go Proxy, Maven Central, RubyGems).
Enforces company-wide HTTP client standards across all teams. All generated clients come pre-configured out-of-the-box with matching header handling, standard timeouts (30s), consistent authentication protocols (Bearer tokens & API keys), and structured network exception formatting.
Offers product managers, QA analysts, and developers a serverless browser sandbox. Paste any OpenAPI spec on the left side, instantly type-check, and copy target client code segments on the right side without requiring local terminal set up or code checkouts.
SDKGenerator compiles into a zero-dependency CLI executable.
Generate SDKs directly using npx:
# Generate ALL five client packages (TS, Python, Go, Ruby, Java) into ./sdk
npx sdk-generator openapi.json
# Generate only a specific language client
npx sdk-generator openapi.json ts
# Specify a custom output folder
npx sdk-generator openapi.json python -o ./my-clientUnlike simple code snippet tools, SDKGenerator outputs a fully packaged, publish-ready module for each target environment:
- TypeScript: Complete package with
package.json,tsconfig.json,index.ts, customclient.tsfetch wrappers, and cleanmodels.tsinterfaces. - Python: A modern setup using
pyproject.toml, complete module initializers (__init__.py), Pydantic v2BaseModelmodels, and arequestsclient. - Go: Standard library
net/httpandcontextclient matching clean JSON struct tags and ago.moddeclaration. - Ruby: A fully-fledged gem layout with a
.gemspecfile, accessor-supported class models, andNet::HTTPrequests. - Java: Maven
pom.xml, builder-pattern-enabled model POJOs, and a standardjava.net.http.HttpClientclient.
- Offline First: All parsing and generation code runs client-side in your browser. No server backend required.
This project is licensed under the MIT License.