Download the PHP package zeevx/php-brimble-sandbox without Composer
On this page you can find all versions of the php package zeevx/php-brimble-sandbox. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package php-brimble-sandbox
Brimble Sandbox PHP SDK
A framework-agnostic PHP client for the Brimble Sandbox API: ephemeral compute environments with exec, code execution, files, snapshots, and persistent volumes.
- PHP 8.2+ · Guzzle transport · typed DTOs and enums · SSE streaming exec
- Typed exception mapping, retry with backoff, and the
{ message, data }envelope handled for you
Using Laravel? See
zeevx/laravel-brimble-sandboxfor config, a facade, and the container binding.
Install
Quick start
The API key is resolved from the constructor argument first, then the
BRIMBLE_SANDBOX_KEY environment variable.
Running commands and code
Streaming output
exec/code can stream stdout/stderr as Server-Sent Events. Iterate the
frames as they arrive, then read the final result:
Files
Paths are relative to the sandbox root (tmp/notes.txt → /tmp/notes.txt).
The parent directory must already exist.
Lifecycle, egress, and stats
Snapshots and volumes
Catalog
Pagination
List endpoints return a Paginated object you can iterate directly:
Error handling
Every non-2xx response raises a typed exception. All API exceptions extend
SandboxApiException and carry status, method, endpoint, responseBody,
and requestId.
| Exception | Status |
|---|---|
AuthException |
401, 403 |
ValidationException |
400, 422 |
NotFoundException |
404 |
RateLimitException |
429 (with ->retryAfter) |
SandboxApiException |
any other non-2xx |
TransportException |
no HTTP response (DNS, connection, timeout) |
ConfigurationException |
bad/missing config (e.g. no API key) |
Retries
Idempotent methods (GET, PUT, DELETE) are retried automatically on
408, 429, 500, 502, 503, 504 with exponential backoff (honouring
Retry-After). A POST is only retried when you pass an idempotency key:
Tune it on the client:
Custom HTTP client
Inject your own Guzzle client (middleware, logging, a mock handler in tests):
Development
License
MIT