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.
Quick Start
- Install
bash pip install "praisonai-sandbox[docker]" - Import a backend
python 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.
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 ….
$ 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.
# New (recommended)
from praisonai_sandbox import SubprocessSandbox
# Backward-compatible shim (still works)
from praisonai.sandbox import SubprocessSandbox