SDKs
TypeScript
npm install dedalus
import Dedalus from "dedalus";
const client = new Dedalus();
const machine = await client.machines.create({
vcpu: 1,
memory_mib: 2048,
storage_gib: 10,
});
console.log(machine.machine_id);
Auto-pagination is built in:
for await (const machine of client.machines.list()) {
console.log(machine.machine_id, machine.status.phase);
}
Python
pip install dedalus-sdk
from dedalus_sdk import Dedalus
client = Dedalus()
machine = client.machines.create(
vcpu=1,
memory_mib=2048,
storage_gib=10,
)
print(machine.machine_id)
Async is supported:
from dedalus_sdk import AsyncDedalus
client = AsyncDedalus()
machine = await client.machines.create(vcpu=1, memory_mib=2048, storage_gib=10)
Go
go get github.com/dedalus-labs/dedalus-go
package main
import (
"context"
"fmt"
"github.com/dedalus-labs/dedalus-go"
)
func main() {
client := dedalus.NewClient()
machine, _ := client.Machines.New(context.TODO(), dedalus.MachineNewParams{
CreateParams: dedalus.CreateParams{
VCPU: 1,
MemoryMiB: 2048,
StorageGiB: 10,
},
})
fmt.Println(machine.MachineID)
}
Resources
Each SDK exposes the same resource hierarchy:
| Resource | Description |
|---|---|
machines | Create, list, update, sleep, wake, and delete machines |
machines.ssh | SSH session management |
machines.executions | Run commands and scripts |
machines.terminals | Interactive terminal sessions |
machines.artifacts | Retrieve, list, and delete captured artifacts |
machines.previews | Web preview URLs |
usage | Retrieve organization, compute, and storage usage |
Links
| SDK | Package | Repository |
|---|---|---|
| TypeScript | dedalus | dedalus-labs/dedalus-typescript |
| Python | dedalus-sdk | dedalus-labs/dedalus-python |
| Go | dedalus-go | dedalus-labs/dedalus-go |
