Cudo Compute

raw JSON →
0.3.6 verified Fri May 01 auth: no python

Official Python client for Cudo Compute's cloud platform (cudocompute.com). Current version 0.3.6; release cadence is irregular. Provides high-level API for managing virtual machines, SSH keys, and billing. Requires Python >=3.8.

pip install cudo-compute
error ModuleNotFoundError: No module named 'cudo_compute'
cause Attempting to import using the PyPI name 'cudo-compute' (with hyphen) instead of the package name with underscore.
fix
Install via pip install cudo-compute and import using from cudo_compute import Client.
error cudo_compute.exceptions.UnauthorizedException: 401 Unauthorized
cause Missing or invalid API key. The library throws this exception when CUDO_API_KEY is not set or is wrong.
fix
Set the environment variable CUDO_API_KEY or pass api_key parameter to Client(). Obtain API key from Cudo Compute dashboard.
error cudo_compute.exceptions.NotFoundException: 404 Not Found
cause Attempting to access a resource (e.g., VM) that does not exist or has been deleted. Also occurs when using an incorrect region.
fix
Verify the resource ID and region. Use list methods to confirm available resources.
gotcha The library is very thin; many features (e.g., SSH key management, billing) are available but not well documented. Common errors are due to missing API key or incorrect region.
fix Always set CUDO_API_KEY environment variable. Use client's method signatures as per autocomplete.
gotcha Resource IDs (like VM IDs) are UUID strings. Some methods expect the full UUID, others may accept short IDs. Check parameter documentation.
fix Pass full UUID obtained from list_virtual_machines() or create methods.
deprecated Python 3.8 support is deprecated; future versions may drop it. The library currently requires >=3.8, but 3.8 is EOL.
fix Use Python 3.9+ for forward compatibility.

Initialize the client with an API key from environment variable, then list virtual machines.

import os
from cudo_compute import Client

client = Client(api_key=os.environ.get('CUDO_API_KEY', ''))
# Example: list VMs
vms = client.list_virtual_machines()
for vm in vms:
    print(vm.id, vm.name)