Skip to main content
W&B Sandboxes is in private preview, available by invitation only. To request enrollment, contact support or your AISE.
W&B Sandboxes gives you on-demand, isolated compute environments that you can create, use, and discard using Python. W&B Sandboxes is built using the CoreWeave Sandbox library. For the underlying API reference and library docs, see the CoreWeave Sandbox documentation.

How it works

A sandbox is a single isolated compute environment. You create it, run commands inside it, and stop it when it is done. Each sandbox runs in its own container with its own filesystem, network, and process space. W&B authenticates your identity when you create and manage sandboxes. To use W&B or Weave inside a sandbox, pass your API key using the W&B Secrets Manager or environment variables. See Secrets for more information about using secrets in sandboxes. A sandbox goes through several states in its lifecycle. When a container is running, you can execute commands inside it. Read, write, and mount read-only files to and from the sandbox. Common examples include reading in a Python script to execute, writing out logs or results, or mounting a directory of data read-only for the sandbox to access. Use a session to manage multiple sandboxes that share configuration. When a session closes, all of its sandboxes are stopped automatically. See Manage multiple sandboxes for more details.

Basic usage

Follow these steps to create a sandbox and run a command inside it:
  1. Install the W&B Python SDK (wandb) from the source provided by your support team or AISE contact.
  2. Log in to W&B with the wandb login CLI command. When prompted, provide your API key to authenticate your identity and access your W&B account:
    wandb login
    
  3. Copy and paste the following code snippet into a Python file and run it. The code snippet accomplishes the following:
    1. Create a sandbox with Sandbox.run().
    2. Run the command echo "Hello from W&B Sandboxes!" inside the sandbox using the Sandbox.exec() method.
    3. Print the output to the console using the Process object returned by Sandbox.exec().
    hello_sandbox.py
    from wandb.sandbox import Sandbox
    
    with Sandbox.run() as sandbox:
        process = sandbox.exec(["echo", "Hello from W&B Sandboxes!"]).result()
        print(process.stdout)
    
    You should see the output Hello from W&B Sandboxes! printed to the console. The sandbox automatically stops when the context manager (the with block) exits. For more information on sandbox lifecycle and states, see Lifecycle of sandboxes.

W&B Sandboxes tutorials

For more in-depth examples, see: