Skip to content

Add Sandbox catalog endpoint (GET /v1/sandboxes/catalog) - #20

Merged
ats3v merged 3 commits into
mainfrom
sandbox-catalog-endpoint
Aug 5, 2026
Merged

Add Sandbox catalog endpoint (GET /v1/sandboxes/catalog)#20
ats3v merged 3 commits into
mainfrom
sandbox-catalog-endpoint

Conversation

@mmilutinovic371

Copy link
Copy Markdown
Contributor

Summary

  • Adds Sandbox.catalog() / Sandbox.acatalog() to fetch available sandbox plans from GET /v1/sandboxes/catalog
  • New SandboxPlan model exposes id, vcpu, ram_gb, disk_gb, price_per_hour, matching the backend's SandboxPlanOut (deepinfra/backend#3991)
  • Updates README with a usage example

Test plan

  • pytest tests (109 passed, incl. new sync/async catalog tests)
  • mypy / ruff check . clean

Mirrors the backend's new catalog endpoint (deepinfra/backend#3991),
returning available sandbox plans (id, vcpu, ram_gb, disk_gb,
price_per_hour) via a new SandboxPlan model.

@ats3v ats3v left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Mirrors the existing list/alist pattern exactly (client-default handling, builtins.list return, retry_connect=True on idempotent GET), SandboxPlan uses extra="ignore" so future backend fields won't break older SDKs, and both sync/async paths have tests.

@ats3v
ats3v merged commit 394f7b7 into main Aug 5, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants