The two SDK surfaces
Varianz ships two kinds of SDK, and most teams use both:Application SDK
Add VPoints to your services. Available for Python, TypeScript/JavaScript (Node.js), Go, Java, and Kotlin. A VPoint with no stages attached is a plain pass-through — safe to ship to production.
Test SDK
Drive tests against instrumented services from pytest, Vitest, Playwright, JUnit 5, or Go’s
testing package. Insert stages, wait for delivery, trigger the service, and assert on captured samples.How it works
- Instrument — annotate or wrap a function as a VPoint with a name like
payment/charge. The SDK derives a schema from the function’s types and registers it with the Varianz registry. - Insert a stage — from a test, attach a CEL expression to that VPoint, scoped to your test session:
ChargeResult { declined: true }to override, orsample("charge", invoke())to observe. - Trigger — call your service with the session ID in the
x-varianz-idheader. Only requests carrying that ID see your stages. - Assert — check the response, or assert on samples the stage captured and streamed back to your test.
Start here
Quickstart
From zero to a working VPoint and a passing test.
Core concepts
VPoints, stages, sessions, and the registry — the four ideas everything else builds on.
Install the SDK
Package names and setup for every supported language.
CEL reference
The expression language you write stages in.
