HoloSDK
Generate SDKs, MCP servers, and CLIs from OpenAPI specs — with fuzzy endpoint matching.
HoloSDK is an OpenAPI SDK generator that encodes API endpoints into a compact vector index. This enables fuzzy endpoint matching at runtime — your SDK handles typos, path variations, and version drift without breaking.
Quick Start
pip install holosdk-cli
# Generate a TypeScript SDK
holosdk generate --spec openapi.json --lang typescript --out ./sdk
# Generate a Python SDK
holosdk generate --spec openapi.json --lang python --out ./sdk
# Generate a Go SDK
holosdk generate --spec openapi.json --lang go --out ./sdk
# Generate an MCP server (JSON-RPC over stdio)
holosdk generate --spec openapi.json --lang mcp --out ./server --base-url https://api.example.com
# Generate a CLI tool
holosdk generate --spec openapi.json --lang cli --out ./cli.py --base-url https://api.example.com
# Compose multiple APIs into one SDK
holosdk compose --specs stripe.json github.json --lang typescript --out ./sdk
# Diff two spec versions and generate a migration guide
holosdk diff --old v1.json --new v2.json --out migration-guide.md
# Inspect a spec
holosdk inspect --spec openapi.json
Features
- 5 output targets: TypeScript, Python, Go, MCP Server, CLI
- Fuzzy endpoint matching: bigram Jaccard similarity handles typos and path variations at runtime — no more 404s from a missing slash
- Multi-API composition: combine multiple OpenAPI specs into a single SDK with automatic namespace conflict detection
- Spec diff & migration: compare old vs new spec versions, generate human-readable migration guides with breaking change detection
- Embedded endpoint index: generated SDKs contain endpoint metadata for runtime resolution — no external lookup needed
- Zero runtime dependencies: generated SDKs are self-contained (no pip/npm installs required to use them)
Architecture
OpenAPI Spec
|
v
SpecParser --> EndpointEncoder --> EndpointIndex
| |
| +-----------+-----------+
| | | |
v v v v
TSCodeGenerator PyCodeGenerator GoCodeGenerator MCPGenerator
The parser reads your spec, the encoder builds an index of its endpoints, and each generator emits a client from that index. The index is embedded in the generated SDK, so resolution happens locally with no callback to HoloSDK and no lookup table to keep in sync. Resolution cost stays flat as an API grows.
CLI Commands
| Command | Description |
|---|---|
generate |
Generate SDK from a single OpenAPI spec |
compose |
Compose multiple APIs into one SDK |
inspect |
Inspect spec stats and endpoint index info |
diff |
Diff two spec versions, generate migration guide |
Output Languages
TypeScript (--lang typescript)
Full SDK with types, methods, HTTP client class, embedded endpoint index, and resolveEndpoint() for fuzzy matching.
Python (--lang python)
Dataclass-based SDK with type hints, async-ready methods, embedded endpoint index, and resolve_endpoint() for fuzzy matching.
Go (--lang go)
Idiomatic Go with structs, pointer-optional params, error returns, and ResolveEndpoint() for fuzzy matching.
MCP Server (--lang mcp)
Standalone JSON-RPC 2.0 server over stdio. Each endpoint becomes an MCP tool with proper inputSchema. Handles initialize, tools/list, and tools/call with path param substitution and HTTP requests.
CLI (--lang cli)
Standalone argparse-based CLI tool. Each endpoint becomes a subcommand (kebab-cased). Path params become positional args, query/body params become --flags. Embeds fuzzy command matching for typo tolerance. Proxies to the actual API via urllib.
Cloud Service
HoloSDK Cloud provides AI-powered features on top of the CLI:
- MCP description generation — auto-write tool descriptions from specs
- Spec analysis — detect breaking changes, suggest improvements
- Migration guides — AI-generated upgrade paths between API versions
- Semantic diff — understand what changed between spec versions
- Test generation — generate test suites from OpenAPI specs
Cloud API: https://holosdk.strategic-innovations.ai
Installation
pip install holosdk-cli # CLI + Python SDK
pip install holosdk-cli[yaml] # with YAML spec support
pip install holosdk-cli[dev] # with pytest + YAML for development
Requires Python 3.9+. Only dependency: numpy.
Project Stats
- 16 modules, 14 test files
- 102 tests, all passing
- ~3700 LOC
- Zero external dependencies beyond numpy
- Python 3.9+
License
Proprietary. All rights reserved.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file holosdk_cli-0.3.1.tar.gz.
File metadata
- Download URL: holosdk_cli-0.3.1.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1872dcef566de95486488acdbee1760cb87347dcc49a814bf38f94987391c86
|
|
| MD5 |
913163a954cfaf061080e2a02eea8aad
|
|
| BLAKE2b-256 |
51313551fd66d77513bcdae856d89da0543ed5a852daeb796718c2d839682927
|
File details
Details for the file holosdk_cli-0.3.1-py3-none-any.whl.
File metadata
- Download URL: holosdk_cli-0.3.1-py3-none-any.whl
- Upload date:
- Size: 39.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c48ffd4b86ac598d18c22249ce532db4b1d55f55a9819c90ddf134eb78071df
|
|
| MD5 |
3c05ece24234aba07f8f19e9cfa22957
|
|
| BLAKE2b-256 |
6b087090b6c2d0501ff40b6587e5e2688088f308c860806179b4550bec142f9f
|