Skip to main content

VoltageGPU CLI — Deploy and manage Confidential Compute (Intel TDX) GPU pods from the command line.

Project description

VoltageGPU CLI

Confidential AI Infrastructure from the command line.

voltagegpu-cli lets you deploy and manage Confidential Compute GPU pods on VoltageGPU — hardware-attested Intel TDX environments with AES memory encryption and Protected PCIe, built for regulated workloads that cannot trust the host.

Install

pip install voltagegpu-cli

Or from source:

git clone https://github.com/voltagegpu/voltagegpu-cli.git
cd voltagegpu-cli
pip install -e .

Configure

Get an API key from voltagegpu.com and set it:

export VOLT_API_KEY="your_api_key_here"

Or create ~/.volt/config.ini:

[api]
api_key = your_api_key_here

Quick start

# Browse available Confidential Compute GPU tiers
volt cc inventory

# Register your SSH public key
volt ssh-keys add --name laptop --file ~/.ssh/id_ed25519.pub

# Deploy a hardware-attested pod
volt cc deploy --name my-pod --resource h200-small --image ubuntu:22.04

# List running pods
volt pods list

# Print the SSH command
volt pods ssh <pod_id>

# Stop or delete
volt pods stop <pod_id>
volt pods delete <pod_id>

Commands

Confidential Compute

# List available GPU tiers with live pricing and availability.
volt cc inventory

# Option A — deploy from scratch with an explicit image + resource.
volt cc deploy --name NAME \
               --resource TIER \
               --image ubuntu:22.04 \
               [--ssh-key <uid>]

# Option B — deploy from a curated template (image + resource come
# from the template manifest; you can still override either).
volt cc deploy --name NAME --template <tpl-uid>

Templates

# List curated templates (Jupyter, DeepSeek, GLM, Kimi, Qwen3, …).
volt templates list [--type RENTAL|SERVERLESS|ALL] [--json]

# Show the full manifest for a single template.
volt templates get <tpl-uid>

Machines

# List Confidential GPU machine tiers with live pricing.
volt machines list [--json]

Pods

volt pods list [--json]
volt pods get <pod_id>
volt pods ssh <pod_id>
volt pods stop <pod_id>
volt pods delete <pod_id> [--yes]

SSH keys

volt ssh-keys list [--json]
volt ssh-keys add --name LABEL (--file PATH | --key "ssh-ed25519 AAAA…")
volt ssh-keys delete <key_id> [--yes]

Account

volt account balance
volt account info
volt config               # show current SDK config (masked)

All list commands support --json for machine-readable output.

Python SDK

from volt import VoltageGPUClient

with VoltageGPUClient() as client:
    # Browse inventory
    for item in client.list_confidential_inventory():
        print(item["display_name"], item["final_price_per_hour"])

    # Browse templates (Jupyter, DeepSeek-R1, GLM-4.6, Kimi, Qwen3-Coder…)
    for tpl in client.list_templates():
        print(tpl.uid, tpl.name, tpl.resource_name)

    # Deploy a pod — either from an explicit image/resource…
    result = client.create_confidential_pod(
        name="training-run",
        resource_name="h200-small",
        image="ubuntu:22.04",
    )
    # …or from a curated template uid.
    result = client.create_confidential_pod(
        name="deepseek-infer",
        template_uid="tpl-5npuuq70m1uo",  # DeepSeek-R1 (8x H200)
    )
    pod = result["pod"]
    print(f"Deployed {pod['targonUid']}{pod['ssh_command']}")

    # List, stop, delete
    for pod in client.list_pods():
        print(pod.name, pod.status, pod.hourly_price)

    client.stop_pod(pod.id)
    client.delete_pod(pod.id)

Custom configuration

from volt.sdk import Config, VoltageGPUClient

client = VoltageGPUClient(
    config=Config(
        api_key="your_api_key",
        base_url="https://api.voltagegpu.com/api",
    )
)

Environment variables

Variable Description Default
VOLT_API_KEY Your VoltageGPU API key
VOLT_BASE_URL API base URL https://api.voltagegpu.com/api

Examples

Stop every running pod

volt pods list --json | \
  jq -r '.[] | select(.status == "RUNNING") | .id' | \
  xargs -I {} volt pods stop {}

Pick the cheapest H200 tier

volt cc inventory --json | \
  jq 'map(select(.display_name | test("H200"))) | sort_by(.final_price_per_hour)[0]'

Support

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voltagegpu_cli-1.2.1.tar.gz (42.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

voltagegpu_cli-1.2.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file voltagegpu_cli-1.2.1.tar.gz.

File metadata

  • Download URL: voltagegpu_cli-1.2.1.tar.gz
  • Upload date:
  • Size: 42.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for voltagegpu_cli-1.2.1.tar.gz
Algorithm Hash digest
SHA256 273e5615baedb92b031c359244b912adf33b222821b0a16fec90d2c4e8a1a982
MD5 658ccabaeb6f8396c5b7b3028b6c7612
BLAKE2b-256 dcc0025e3ff6299ca58caef495ae682541de5937b68e7ac114a739dc9ce1574d

See more details on using hashes here.

File details

Details for the file voltagegpu_cli-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: voltagegpu_cli-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for voltagegpu_cli-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e7b95e5a605658e18cf389d8b2dd983591958ad4b72cb857be8b2d1b4e45408
MD5 841bbaf8526f0ca699a71d1a35048fb9
BLAKE2b-256 a452e6e869184d4948b921f077b9d21fa7d172c64997221e5d74ce4d63752e66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page