> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# praisonai-sandbox

> Standalone sandbox backends for PraisonAI — Docker, E2B, Modal, Daytona, Novita, Sandlock, SSH, subprocess

`praisonai-sandbox` is the standalone Tier-2 package that holds the sandbox backends extracted from the `praisonai` wrapper. Agents reach these backends through `SandboxManager`; you can also install the package on its own for a minimal, sandbox-only footprint.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    Agents[praisonaiagents\nCore SDK + protocols] --> Sandbox[praisonai-sandbox\nBackends]
    Sandbox --> Wrapper[praisonai\nFull wrapper]

    classDef core fill:#189AB4,stroke:#7C90A0,color:#fff
    classDef pkg fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef wrapper fill:#10B981,stroke:#7C90A0,color:#fff

    class Agents core
    class Sandbox pkg
    class Wrapper wrapper
```

## Quick Start

**1. Install**

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
pip install "praisonai-sandbox[docker]"
```

> [!TIP]
>
> `pip install praisonai` already bundles `praisonai-sandbox` — install the standalone package only for sandbox-only environments.

**2. Import a backend**

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonai_sandbox import DockerSandbox
from praisonaiagents.sandbox import SandboxConfig

config = SandboxConfig.docker("python:3.12-slim")
sandbox = DockerSandbox(image=config.image, config=config)
```

***

## Install Matrix

| Extra | Command | Pulls |
| - | - | - |
| *(base)* | `pip install praisonai-sandbox` | `praisonaiagents`, `rich`, `typer`, `click` |
| `docker` | `pip install "praisonai-sandbox[docker]"` | `docker>=7.0.0` |
| `e2b` | `pip install "praisonai-sandbox[e2b]"` | `e2b-code-interpreter>=1.0.0` |
| `sandlock` | `pip install "praisonai-sandbox[sandlock]"` | `sandlock>=0.1.0` |
| `ssh` | `pip install "praisonai-sandbox[ssh]"` | `asyncssh>=2.14.0` |
| `modal` | `pip install "praisonai-sandbox[modal]"` | `modal>=0.64.0` |
| `daytona` | `pip install "praisonai-sandbox[daytona]"` | `daytona-sdk>=0.1.0` (set `DAYTONA_API_KEY`) |
| `novita` | `pip install "praisonai-sandbox[novita]"` | `novita-sandbox>=2.0.0` (set `NOVITA_API_KEY`) |
| `all` | `pip install "praisonai-sandbox[all]"` | all of the above, including `daytona` and `novita` |

***

## Public API

Import any backend from `praisonai_sandbox`. Backends are lazy-loaded, so importing one never imports the others.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonai_sandbox import (
    DockerSandbox,
    SubprocessSandbox,
    SandlockSandbox,
    SSHSandbox,
    ModalSandbox,
    DaytonaSandbox,
    NovitaSandbox,
    E2BSandbox,
)
```

| Export | Backend | Typical use |
| - | - | - |
| `DockerSandbox` | `docker` | Container isolation for production |
| `SubprocessSandbox` | `subprocess` | Fast local development (default) |
| `SandlockSandbox` | `sandlock` | Hardened local sandbox (Landlock + seccomp) |
| `SSHSandbox` | `ssh` | Remote server execution |
| `ModalSandbox` | `modal` | Modal cloud sandboxes |
| `E2BSandbox` | `e2b` | E2B cloud code interpreter |
| `DaytonaSandbox` | `daytona` | Daytona cloud sandboxes (`[daytona]` + `DAYTONA_API_KEY`) |
| `NovitaSandbox` | `novita` | Novita cloud sandboxes (`[novita]` + `NOVITA_API_KEY`) |

***

## Console Script

The package installs a `praisonai-sandbox` console script that prints an install hint. The user-facing CLI remains `praisonai sandbox …`.

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
$ praisonai-sandbox --help
praisonai-sandbox: use praisonaiagents SandboxManager or import praisonai_sandbox backends.
Install extras: pip install praisonai-sandbox[docker,e2b,sandlock,ssh,modal,daytona,novita]
```

***

## Backward Compatibility

The old `praisonai.sandbox` path still works through shims — prefer `praisonai_sandbox` in new code.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# New (recommended)
from praisonai_sandbox import SubprocessSandbox

# Backward-compatible shim (still works)
from praisonai.sandbox import SubprocessSandbox
```

***

## Related

> [card] [praisonai-sandbox Package](https://praison.ai/docs/docs/features/praisonai-sandbox-package)
>
> How-to guide, install matrix, and standalone usage

> [card] [Sandbox](https://praison.ai/docs/docs/features/sandbox)
>
> Agent-level `sandbox=True` and `SandboxConfig`

> [card] [Sandbox Backends](https://praison.ai/docs/docs/features/sandbox-backends)
>
> Backend selection and isolation levels

> [card] [Installation Guide](https://praison.ai/docs/docs/installation)
>
> Package comparison and decision guide


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.