Install
The Zeq client is open source. Install it from npm (or PyPI, once the Python package is published):
# TypeScript / JavaScript (Node 18+)
npm install @zeq-os/sdk
# or pnpm
pnpm add @zeq-os/sdk
# Python (coming soon — currently in early access, see Build → Python SDK)
pip install zeq # not yet on PyPI
That's the client only. You do not need to run the hosted compute layer. You need it to call the compute layer.
Getting an API key
You have two options:
- Hosted (recommended to start) — sign up at zeq.dev, get a key, and you're computing in under two minutes.
- Self-hosted — clone the repo, run the Docker stack, issue yourself a key locally. See Operate → Self-hosting for the full recipe.
Either way, the SDK call site is identical.
Environment
Set the key in your environment:
export ZEQ_API_KEY="zeq_live_..."
export ZEQ_API_URL="https://api.zeq.dev" # default, change when self-hosting
Or pass it to the constructor:
import { ZeqClient } from "@zeq-os/sdk";
const zeq = new ZeqClient({
apiKey: process.env.ZEQ_API_KEY,
baseUrl: process.env.ZEQ_API_URL,
});
Verify the install
import { pulse } from "@zeq-os/sdk";
const p = pulse();
console.log(p);
// {
// zeqond: 72380021.4,
// phase: 0.412,
// f_hz: 1.287,
// T_s: 0.777,
// R_t: 0.999917, // R(t) = S(t) [1 + alpha sin(2 pi f t)]
// unix: 56259516.8,
// }
If f_hz: 1.287 and T_s: 0.777, the SDK is connected to a real Zeq clock. If you're calling the hosted API as well, zeq.health() returns the server version and its authoritative Zeqond.
If you get hulyapulse_hz: 1.287, you're connected to a real Zeq instance. If the number isn't 1.287, stop — the framework is broken.
Next
Run your first computation → Hello, Zeq.