praisonai-sandbox
Isolated agent code execution for PraisonAI — Docker, subprocess, E2B, Modal, Novita, Sandlock, and SSH backends.
Install
pip install praisonai-sandbox[docker]
Usage
from praisonai_sandbox import DockerSandbox
from praisonaiagents.sandbox import SandboxConfig
config = SandboxConfig.docker("python:3.12-slim")
sandbox = DockerSandbox(image=config.image, config=config)
Or via the agents manager:
from praisonaiagents.sandbox import SandboxManager, SandboxConfig
manager = SandboxManager(SandboxConfig.subprocess())
result = await manager.run_code("print('hello')")
Tenki compute lifecycle
Install praisonai-sandbox[tenki] to use TenkiCompute with Tenki SDK 1.4.0 or
newer. With ComputeConfig(auto_shutdown=True), the provider terminates the
sandbox after idle_timeout_s without an active command, package installation,
or file transfer. Activity restarts the idle countdown; status checks do not.
Idle cleanup runs while the Python process is alive and does not track background
processes after their launching command returns. Always call shutdown() in a
finally block (or use the framework's managed cleanup). Tenki's server-side
maximum lifetime is a separate safeguard and is not an idle timeout.
Timed-out commands return exit code 124 and preserve any partial output.
Console script
praisonai-sandbox --help
Backward-compatible imports via the umbrella package:
from praisonai.sandbox import SubprocessSandbox # shim → praisonai_sandbox
Validating your install
Note: The
e2e-validation/bundle andtests/ship with the source repository, not the published wheel. Run these commands from a checkout of this repo (src/praisonai-sandbox/), not from apip installed environment.
Run the single-command end-to-end smoke suite (no API keys needed for the subprocess path; Docker is optional and skipped when unavailable):
python e2e-validation/run_e2e.py
Or use the pytest live probes:
python -m pytest tests/test_live_sandbox.py -v
See e2e-validation/ for the manual guide.
Metadata
Release files for praisonai-sandbox 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| praisonai_sandbox-0.1.12.tar.gz | 86.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| praisonai_sandbox-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 164.3 kB
Release files / praisonai_sandbox-0.1.12.tar.gz
| Download URL | praisonai_sandbox-0.1.12.tar.gz |
|---|---|
| Size | 86.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9246f1831c26f0e291445edc8aa175f139e4536e7eb6a65e979bf4a8626e35d6
|
|
BLAKE2b-256 checksum How to use checksums |
35319808d6d57d4bad709f8bc2e810ab0a2bf8a315b162c3c52bff551978a0f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / praisonai_sandbox-0.1.12-py3-none-any.whl
| Download URL | praisonai_sandbox-0.1.12-py3-none-any.whl |
|---|---|
| Size | 78.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a90fb3271e2880c5bdcfc4a642dacfa660e1e9338fc8568750650c55c0c9ef6
|
|
BLAKE2b-256 checksum How to use checksums |
562f559baec3a9a9a09508756b2225a8bf7430de3afdee1bdc125a2c71b5bac2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|