SDKs
Official client libraries for pulling, verifying, caching, and loading versioned bundles of prompts, skills, toolsets, and agent specs from Musher.
Get Started
bash
pip install musher-sdkpython
from musher import pull
bundle = pull("acme/code-review-kit")
for asset in bundle.manifest.assets:
print(f"{asset.type}: {asset.path}")Choose Your Language
Python SDK
musher-sdk — requires Python 3.13+. Sync and async clients with Pydantic models.
TypeScript SDK
@musher-dev/musher-sdk — requires Node.js 20+. Zod-validated responses with typed handles.
Feature Comparison
| Feature | Python | TypeScript |
|---|---|---|
| Package | musher-sdk | @musher-dev/musher-sdk |
| Runtime | Python 3.13+ | Node.js 20+ |
| Sync client | Client | — |
| Async client | AsyncClient | MusherClient |
| Pull bundles | pull() / pull_async() | pull() |
| Resolve metadata | resolve() / resolve_async() | resolve() |
| Verification | Beta Coming soon | SHA-256 integrity |
| Lockfiles | Beta Coming soon | writeLockfile() |
| Typed handles | File, Skill, Prompt, Toolset, AgentSpec | File, Skill, Prompt, Toolset, AgentSpec |
| Schema validation | Pydantic | Zod |
| Auth | env, keyring, file, programmatic | env, keyring, file, programmatic |
| Claude integration | Beta Coming soon | Plugin export, skill install |
| OpenAI integration | Local + hosted export | Local + inline + agents |
| VS Code integration | Beta Coming soon | Skill install |
| Dependencies | httpx, keyring, platformdirs, pydantic | zod |
Authentication
Both SDKs automatically discover credentials from multiple sources, checked in order:
MUSHER_API_KEYenvironment variable- OS keyring (
musher/<host>) - Credential file (
~/.local/share/musher/credentials/) - Programmatic — pass a token directly to the client constructor
The SDK uses the first credential found. For most use cases, setting the MUSHER_API_KEY environment variable is the simplest option.