Puchify

SDKs

Idiomatic, type-safe access to Puchify from TypeScript, Python, and Go.

The Puchify SDKs wrap the REST API with language-native conventions — typed errors, async pagination, retry with backoff, and ergonomic helpers — so you never need to think about HTTP.

Design principles

All three SDKs share the same patterns:

One client per app — instantiate once with your API key.

Resource sub-clientspuchify.servers, puchify.data, etc. mirror the API structure.

No bare HTTP — the SDK handles auth headers, retries, rate limits, and pagination.

Typed errorsNotFoundError, RateLimitError, AuthError, ValidationError.

Pagination as iterationfor await (const item of listAll()) — never manual cursor management.

Polling helperswaitFor(id, status) blocks until a resource reaches the desired state.

Retry with backoff — exponential backoff on 429s and 5xxs, configurable attempt limit.

Installing

# TypeScript
npm install @puchify/sdk

# Python
pip install puchify-sdk

# Go
go get github.com/puchify/puchify-go

Quick comparison

// TypeScript
import { Puchify } from "@puchify/sdk"
const puchify = new Puchify({ apiKey: process.env.PUCHIFY_API_KEY })
const servers = await puchify.servers.list({ status: "running" })
# Python
from puchify import Puchify
puchify = Puchify(api_key="pk_xxxx")
servers = puchify.servers.list(status="running")
// Go
import "github.com/puchify/puchify-go"
client := puchify.NewClient(puchify.WithAPIKey("pk_xxxx"))
servers, err := client.Servers.List(ctx, &puchify.ServerListParams{
    Status: puchify.String("running"),
})

On this page