pkgs.varianz.io. It proxies only the varianz packages — your other dependencies keep resolving from PyPI, npm, or Maven Central as usual, and no credentials are required.
All ecosystems share the release version: 0.2.1 (v0.2.1 for the Go module and Docker tags).
Python
requirements.txt:
varianz (runtime, includes the varianz-scan CLI) and varianz-pytest (pytest plugin — install only where you run tests).
Platforms: wheels only (no sdist) for CPython 3.10–3.15 and PyPy 3.11 on macOS (x86_64, arm64) and Linux glibc/musl (x86_64, aarch64). Unsupported platforms fail with “no matching distribution found” rather than attempting a source build.
Docker: wheels are platform-specific, so install inside the image (the Linux wheel) rather than copying a macOS install in. Alternatively, run tests from the host against the service in Docker — the service and the test process only need to reach the same registry.
TypeScript
The Node.js SDK works from TypeScript or plain JavaScript. Point the@varianz scope at pkgs.varianz.io, then install normally:
using-based automatic stage cleanup requires Node 23+.
TypeScript config: the decorator API uses TC39 (stage-3) decorators — TypeScript ≥ 5.0 with experimentalDecorators left at its default (false).
Go
#cgo directives link the correct one automatically. go mod vendor works normally.
CGo is required. The SDK links a Rust native library, so build with CGO_ENABLED=1. In Docker, that rules out the common CGO_ENABLED=0 + distroless/static pattern:
debian:bookworm-slim or gcr.io/distroless/base-debian12; distroless/static and scratch will not work. Don’t force --platform=$BUILDPLATFORM in the builder stage — CGo must compile for the runtime platform.
If checksum verification fails for this module in your environment (for example, behind a proxy that blocks
proxy.golang.org), set GONOSUMDB='go.varianz.io/*' or use GOPRIVATE=go.varianz.io/*.Java
The Gradle plugin adds the SDK modules, configures the annotation processor, and attaches thevarianz-agent to Test and JavaExec tasks automatically.
If your project uses protobuf/gRPC, also add those to
annotationProcessor so the processor can resolve proto types in @VPoint signatures.
Maven users: see the Java SDK page for the full pom.xml setup (BOM import, varianz-starter, java-processor with the all classifier, and the varianz-maven-plugin prepare-agent goal).
Docker: both glibc images (eclipse-temurin:21-jdk) and Alpine (eclipse-temurin:21-jdk-alpine) work — the JARs bundle glibc and musl native libraries.
Kotlin
Kotlin uses its own KSP-based plugin,io.varianz.sdk.kotlin (not the Java plugin). Four things trip up first-time setup:
pluginManagement repository block is the same as for Java. Annotation attributes need named arguments in Kotlin: @VPoint(name = "…"), not positional.
After installing
Every SDK is disabled by default — setVARIANZ_ENABLED=true and point it at a registry to activate it. (Java/Kotlin additionally need the varianz-agent attached, which the build plugins handle for test and run tasks.) Local plaintext registries additionally need VARIANZ_INSECURE_ALLOW_PLAINTEXT=true on every connecting process. See Configuration for the full environment-variable reference, and the Quickstart to verify your install end to end.