Skip to main content

Sandbox0 Python SDK

Project description

Sandbox0 Python SDK

The official Python SDK for Sandbox0, providing typed models and ergonomic high-level APIs for managing secure code execution sandboxes.

Installation

pip install sandbox0

Requirements

  • Python 3.9 or later

Configuration

Environment Variable Required Default Description
SANDBOX0_TOKEN Yes - API authentication token
SANDBOX0_BASE_URL No https://api.sandbox0.ai API base URL

Quick Start

import os
from sandbox0 import Client, CmdOptions

client = Client(token=os.environ["SANDBOX0_TOKEN"])

# Using context manager for automatic cleanup
with client.sandboxes.open("default") as sandbox:
    # Execute Python code (REPL - stateful)
    result = sandbox.run("python", "print('Hello, Sandbox0!')")
    print(result.output_raw, end="")

CMD Streaming

stream = sandbox.cmd_stream(
    "sh -c 'echo hello && echo warn >&2'",
    CmdOptions(command=["sh", "-c", "echo hello && echo warn >&2"]),
)

for output in stream.iter_outputs():
    print(output.data, end="")

done = stream.wait()
print(f"exit={done.exit_code} state={done.state}")

Documentation

Bootstrap Mounts At Claim Time

from sandbox0.apispec.models.claim_mount_request import ClaimMountRequest
from sandbox0.apispec.models.create_sandbox_volume_request import CreateSandboxVolumeRequest

volume = client.volumes.create(CreateSandboxVolumeRequest())

sandbox = client.sandboxes.claim(
    "default",
    mounts=[
        ClaimMountRequest(
            sandboxvolume_id=volume.id,
            mount_point="/workspace/data",
        )
    ],
    wait_for_mounts=True,
    mount_wait_timeout_ms=45000,
)

for mount in sandbox.bootstrap_mounts:
    print(mount.sandboxvolume_id, mount.state)

Links

License

Apache-2.0

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

sandbox0-0.2.6.tar.gz (137.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sandbox0-0.2.6-py3-none-any.whl (454.5 kB view details)

Uploaded Python 3

File details

Details for the file sandbox0-0.2.6.tar.gz.

File metadata

  • Download URL: sandbox0-0.2.6.tar.gz
  • Upload date:
  • Size: 137.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for sandbox0-0.2.6.tar.gz
Algorithm Hash digest
SHA256 1fc0e4ffa8f2617e32739f7f2a8e5bb8514b31278fd048784d4c172abcbb9d25
MD5 bd36c2e7da4be3b7bed646a67671df83
BLAKE2b-256 06c628d20ac7b3e5d7bd3f3a97324670ac34e41ba0edbc7229c74f55da012d6e

See more details on using hashes here.

File details

Details for the file sandbox0-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: sandbox0-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 454.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for sandbox0-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9d0a6dcd3944f86c833729a60c76600e4e9557d13cee33d9bb68145f56493a77
MD5 dbd610dbbae36c3b7cbe70ae87e1990e
BLAKE2b-256 baadf1b7c4b5e590eb4a86776341b315dd0de985386a62a8a78075a17fec1840

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page