Python · TypeScript · Swift — all at v1.0.0

SDKs for apps deployed on Vendo

One SDK contract, three languages. Run as plain open-source with your own API keys — or deploy on Vendo and get OAuth refresh, managed billing, and events with a single env var.

Set VENDO_API_KEY to switch from OSS to Vendo mode. No code changes.

Three languages, one API surface

Pythonv1.0.0
py
pip install vendo-sdk

Async-first, stdlib only. Python 3.9+.

TypeScriptv1.0.0
ts
npm install @vendodev/sdk

Node 18+, Deno 1.40+, browser. Zero deps.

Swiftv1.0.0
swift
.package(url: "…/vendo-sdk-swift", from: "1.0.0")

iOS 15+, macOS 12+, tvOS, watchOS. Swift 5.9+.

One call to get a token

vendo.token("openai") walks a four-step resolution chain: escape hatch → Vendo API → conventional env var → error.

Your application code never branches on the mode. The same source file runs locally as OSS and on Vendo in production.

PythonTypeScriptSwift
import vendo

# OSS mode — reads OPENAI_API_KEY from env
key = vendo.token("openai")

# Vendo mode — set VENDO_API_KEY once; same call
key = vendo.token("openai")   # OAuth-refreshed token

What ships with every SDK

🔑

BYOK / OSS mode

No account needed. Set OPENAI_API_KEY and the SDK resolves it automatically. Ship as plain open-source.

Vendo mode

Set VENDO_API_KEY once. OAuth tokens refresh automatically — no rotation scripts, no expired keys.

🛡️

Typed errors

12 typed error classes across all three languages. Catch NotConnected, RateLimited, NeedsReauth exactly.

📡

Events SSE

Live stream of connection-state changes over server-sent events with automatic reconnect and backoff.

🪝

Webhooks

HMAC-SHA256 verification with replay protection built in. Works in both modes — no Vendo backend needed.

📦

Bundled BYOK catalog

A curated list of OSS-compatible env-var mappings ships with the SDK. No network call to discover them.

Pick your language and ship.

Every quickstart gets you to a working token call in under 5 minutes.