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.
Metadata
Release files for holosdk-cli 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| holosdk_cli-0.3.1.tar.gz | 33.9 kB | Without provenance | Details for holosdk_cli-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| holosdk_cli-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for holosdk_cli-0.3.1-py3-none-any.whl |
Total release size: 73.5 kB
Release files / holosdk_cli-0.3.1.tar.gz
| Download URL | holosdk_cli-0.3.1.tar.gz |
|---|---|
| Size | 33.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1872dcef566de95486488acdbee1760cb87347dcc49a814bf38f94987391c86
|
|
BLAKE2b-256 checksum How to use checksums |
51313551fd66d77513bcdae856d89da0543ed5a852daeb796718c2d839682927
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / holosdk_cli-0.3.1-py3-none-any.whl
| Download URL | holosdk_cli-0.3.1-py3-none-any.whl |
|---|---|
| Size | 39.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c48ffd4b86ac598d18c22249ce532db4b1d55f55a9819c90ddf134eb78071df
|
|
BLAKE2b-256 checksum How to use checksums |
6b087090b6c2d0501ff40b6587e5e2688088f308c860806179b4550bec142f9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Security for holosdk-cli 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.