SDKs

Official SDKs for the IBEE Solutions API. Install a client library in your language and start building.

Python SDK

Install the Python SDK from PyPI:

$pip install ibee
1from ibee import Ibee
2
3client = Ibee(token="ibee_live_xxxxxxxxxxxx")
4
5# List cloud VMs
6vms = client.cloud_vms.list_cloud_vms(workspace_id="907479")
7
8# Create a cloud VM
9vm = client.cloud_vms.create_cloud_vm(
10 workspace_id="907479",
11 idempotency_key="create-web-server-01",
12 name="web-server",
13 os_distro="ubuntu",
14 os_type="linux",
15 cpu=2,
16 ram_mb=4096,
17)
18
19# List GPU VMs
20gpu_vms = client.gpu_vms.list_gpu_vms(workspace_id="907479")
21
22# List buckets
23buckets = client.object_storage.list_buckets(workspace_id="907479")
24
25# List secret stores
26stores = client.secret_store.list_secret_stores(workspace_id="907479")

To create a VM from the same kind of choices shown in the portal, pass the selected IDs into the create call:

1vm = client.cloud_vms.create_cloud_vm(
2 workspace_id="907479",
3 idempotency_key="create-web-server-01",
4 name="web-server-01",
5 os_distro="ubuntu",
6 os_type="linux",
7 template_id="tmpl_ubuntu_2204",
8 plan_id="plan_standard_2c_4g",
9 cpu=2,
10 ram_mb=4096,
11 disk_gb=80,
12 ssh_key_ids=["ssh_key_123"],
13 tags=["prod", "web"],
14)

plan_id is the selected instance plan. template_id is the selected OS template or image. ssh_key_ids are the SSH keys to inject at first boot. In the current SDK, cpu and ram_mb are still required fallback fields even when plan_id is provided.

Async support is built in:

1import asyncio
2from ibee import AsyncIbee
3
4async def main():
5 client = AsyncIbee(token="ibee_live_xxxxxxxxxxxx")
6 vms = await client.cloud_vms.list_cloud_vms(workspace_id="907479")
7 print(vms)
8
9asyncio.run(main())

TypeScript SDK

The TypeScript SDK is coming soon.

$npm install @ibee/sdk

Using the API without an SDK

You can call the REST API directly using any HTTP client:

$curl https://api.ibee.ai/v1/object-storage/buckets?workspace_id=907479 \
> -H "Authorization: Bearer ibee_live_xxxxxxxxxxxx"