Official Python SDK for the Chassis GPU cloud API by OkeyMeta Ltd
Project description
chassis-cloud (Python)
Official Python client for the Chassis public API (/api/v1).
Default base URL: https://chassis.okeymeta.com.ng/api/v1
PyPI: chassis-cloud · import as chassis
Install
pip install chassis-cloud
Requires Python 3.10+ and httpx.
from chassis import Chassis
Auth
Create an API key in the Chassis console under API Keys. Keys look like chs_… and are shown once.
from chassis import Chassis
with Chassis(api_key="chs_...") as client:
...
Quickstart
from chassis import Chassis
with Chassis(api_key="chs_...") as client:
gpus = client.list_gpus()
instance = client.spin_up(
gpuSkuId=gpus[0]["id"],
name="train-01",
gpuCount=2, # multi-GPU (1–8, SKU-capped)
imageName="pytorch/pytorch:2.1.0-cuda11.8-cudnn8-devel",
containerDiskGb=50,
cloudType="SECURE",
ports="8888/http,22/tcp",
)
client.restart(instance["id"])
client.stop(instance["id"])
client.terminate(instance["id"])
Instance options (create_instance / spin_up)
| Field | Required | Notes |
|---|---|---|
gpuSkuId |
yes | Chassis SKU UUID from list_gpus() |
name |
yes | Instance name |
gpuCount |
no | Default 1, max 8 |
imageName |
no | Container image |
containerDiskGb |
no | Default 50 |
volumeGb |
no | Ephemeral volume GB |
networkVolumeId |
no | Chassis network volume UUID |
registryCredentialId |
no | Chassis registry credential UUID |
cloudType |
no | "SECURE" or "COMMUNITY" |
ports |
no | e.g. "8888/http,22/tcp" |
startAfterCreate |
no | Default True (spin_up forces True) |
Methods
GPUs & instances
| Method | HTTP |
|---|---|
list_gpus() |
GET /gpus |
list_instances() |
GET /instances |
create_instance(**kwargs) |
POST /instances |
spin_up(**kwargs) |
POST /instances (startAfterCreate: true) |
get_instance(id) |
GET /instances/:id |
get_instance_logs(id, tail=None) |
GET /instances/:id/logs |
start(id) |
POST /instances/:id/start |
stop(id) |
POST /instances/:id/stop |
restart(id) |
POST /instances/:id/restart |
terminate(id) |
DELETE /instances/:id |
Clusters (multi-node)
| Method | HTTP |
|---|---|
list_clusters() |
GET /clusters |
create_cluster(**kwargs) |
POST /clusters |
get_cluster(id) |
GET /clusters/:id |
start_cluster(id) |
POST /clusters/:id/start |
stop_cluster(id) |
POST /clusters/:id/stop |
terminate_cluster(id) |
DELETE /clusters/:id |
Create with name, gpuSkuId, nodeCount (2–8), and optional gpusPerNode, imageName, networkVolumeId, ports. Nodes get CHASSIS_CLUSTER_ID, CHASSIS_NODE_RANK, and CHASSIS_NODE_COUNT.
Templates, volumes, registries
| Method | HTTP |
|---|---|
list_templates() / create_template(**kwargs) |
/templates |
list_volumes() / create_volume(**kwargs) |
/volumes |
list_registries() / create_registry(**kwargs) |
/registries |
Serverless endpoints
| Method | HTTP |
|---|---|
list_endpoints() |
GET /endpoints |
create_endpoint(**kwargs) |
POST /endpoints |
delete_endpoint(id) |
DELETE /endpoints/:id |
run(endpoint_id, body=None) |
POST /endpoints/:id/run |
run_sync(endpoint_id, body=None, wait_ms=None) |
POST /endpoints/:id/runsync |
Serverless example:
endpoints = client.list_endpoints()
result = client.run_sync(
endpoints[0]["id"],
body={"input": {"prompt": "hello"}},
)
health = client.get_endpoint_health(endpoints[0]["id"])
Create options also accept env, interruptible, and publicIp.
Errors raise ChassisError with .status, .body, and a short Chassis-safe message — never infrastructure or vendor details. Responses use Chassis public shapes only (data / error).
Docs
Human setup guide: https://chassis.okeymeta.com.ng/docs
License
MIT · OkeyMeta Ltd
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chassis_cloud-0.1.1.tar.gz.
File metadata
- Download URL: chassis_cloud-0.1.1.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef6074621ee419d914066caaeb49ab92a826d22d5e6ac71c00b99b6246c73a70
|
|
| MD5 |
2be8d90f5e5d44547272120abb1abf9b
|
|
| BLAKE2b-256 |
9c96fdbef7e507b575771584f68103b5d1bc4713ff99ef34b870ca28124f0fac
|
File details
Details for the file chassis_cloud-0.1.1-py3-none-any.whl.
File metadata
- Download URL: chassis_cloud-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a79a709a58a8b154f7c52da2b3c76f0c935630b081796c17dcd81613b27b997a
|
|
| MD5 |
83dd9605c402fb4bf739d56eaf1de4c1
|
|
| BLAKE2b-256 |
54ca9664f3b17ccf475f1af876c12c49b5dba63399c75497595e8438adf75799
|