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.

Diagram

praisonaiagents\nCore SDK + protocols

praisonai-sandbox\nBackends

praisonai\nFull wrapper

Quick Start

  1. Install
    bash
    pip install "praisonai-sandbox[docker]"
  2. 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

ExtraCommandPulls
_(base)_pip install praisonai-sandboxpraisonaiagents, rich, typer, click
dockerpip install "praisonai-sandbox[docker]"docker>=7.0.0
e2bpip install "praisonai-sandbox[e2b]"e2b-code-interpreter>=1.0.0
sandlockpip install "praisonai-sandbox[sandlock]"sandlock>=0.1.0
sshpip install "praisonai-sandbox[ssh]"asyncssh>=2.14.0
modalpip install "praisonai-sandbox[modal]"modal>=0.64.0
daytonapip install "praisonai-sandbox[daytona]"daytona-sdk>=0.1.0 (set DAYTONA_API_KEY)
novitapip install "praisonai-sandbox[novita]"novita-sandbox>=2.0.0 (set NOVITA_API_KEY)
allpip 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
from praisonai_sandbox import (
    DockerSandbox,
    SubprocessSandbox,
    SandlockSandbox,
    SSHSandbox,
    ModalSandbox,
    DaytonaSandbox,
    NovitaSandbox,
    E2BSandbox,
)
ExportBackendTypical use
DockerSandboxdockerContainer isolation for production
SubprocessSandboxsubprocessFast local development (default)
SandlockSandboxsandlockHardened local sandbox (Landlock + seccomp)
SSHSandboxsshRemote server execution
ModalSandboxmodalModal cloud sandboxes
E2BSandboxe2bE2B cloud code interpreter
DaytonaSandboxdaytonaDaytona cloud sandboxes ([daytona] + DAYTONA_API_KEY)
NovitaSandboxnovitaNovita 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
$ 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
# New (recommended)
from praisonai_sandbox import SubprocessSandbox

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

Related