Puchify

Python SDK

Async-first Python SDK for data science pipelines and automation.

Package: puchify-sdk

pip install puchify-sdk

Quick start

from puchify import Puchify

puchify = Puchify(api_key="pk_xxxx")

# List servers
servers = puchify.servers.list(status="running")
for server in servers:
    print(f"{server.name}: {server.ipv4}")

Resources

Servers

# List
servers = puchify.servers.list()
all_servers = puchify.servers.list_all()  # generator for all pages

# CRUD
server = puchify.servers.get("svr_123")
created = puchify.servers.create(name="web-01", plan="shared-2", region="us-east")
puchify.servers.update("svr_123", name="web-01-renamed")
puchify.servers.delete("svr_123")
puchify.servers.restart("svr_123")

# Wait for state
running = puchify.servers.wait_for("svr_123", "running", timeout=300)

Async support

import asyncio
from puchify import AsyncPuchify

async def main():
    async with AsyncPuchify(api_key="pk_xxxx") as puchify:
        servers = await puchify.servers.list()
        for s in servers:
            print(s.name)

asyncio.run(main())

Webhook verification

from puchify import verify_webhook_signature

is_valid = verify_webhook_signature(payload, signature_header, secret)

Typed errors

from puchify import Puchify, NotFoundError

try:
    puchify.servers.get("nonexistent")
except NotFoundError as e:
    print(f"Not found: {e}")

On this page