Mosaic Sandbox Python SDK
mosaic-sandbox is the Python SDK and CLI for Mosaic Sandbox, a Firecracker-based
runtime for coding agents.
Install (Python 3.9 or newer):
python3 --version # 3.9 or newer
python3 -m pip install mosaic-sandbox
Authenticate once with the CLI:
mos auth --token msk_live_...
mos whoami
Run the CLI smoke test:
mos doctor
mos run --template node-20 node -v
mos create --template node-20 --ssh
mos ssh <sandbox-id> --print-command
Or run the one-command first-run check:
mos smoke
Python example:
from mosaic_sandbox import Sandbox
sbx = Sandbox.create(
template="node-20",
endpoint="https://sandbox.mosaicos.com",
api_token="msk_live_...",
enable_ssh=False,
)
try:
result = sbx.run_command("node -v")
print(result.stdout)
print(result.tti_ms)
finally:
sbx.destroy()
LangChain and LlamaIndex tools
Give an agent a sandbox without writing tools for it. Neither framework is a dependency of this SDK; the one you use is imported when you ask for it.
from langchain.agents import create_react_agent
from mosaic_sandbox.integrations.langchain import mosaic_sandbox_tools
agent = create_react_agent(model, mosaic_sandbox_tools(template="python-3.11"))
from llama_index.core.agent import ReActAgent
from mosaic_sandbox.integrations.llamaindex import mosaic_sandbox_tools
agent = ReActAgent.from_tools(mosaic_sandbox_tools(), llm=llm)
The tools — mosaic_run_command, mosaic_run_python, mosaic_run_javascript,
mosaic_read_file, mosaic_write_file, mosaic_list_files and
mosaic_start_server — share one sandbox, created on the first call rather
than when the agent is built. mosaic_start_server returns a public HTTPS
preview URL, so "run the dev server and show me" is a single tool call.
Keyword arguments are Sandbox.create's, so snapshot_id= starts the agent in
an environment you built earlier. Hold the SandboxToolset yourself if you
want to close() it explicitly; close() destroys the sandbox it created but
leaves a sandbox you passed in alone, and the toolset is spent either way — a
later tool call raises rather than quietly starting a second machine.
Release files for mosaic-sandbox 0.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mosaic_sandbox-0.11.1.tar.gz | 177.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mosaic_sandbox-0.11.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 306.0 kB
Release files / mosaic_sandbox-0.11.1.tar.gz
| Download URL | mosaic_sandbox-0.11.1.tar.gz |
|---|---|
| Size | 177.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f4f13fc95a2f55cb34110977e39885599129071ef5c9667b72114e19a3ac3ce
|
|
BLAKE2b-256 checksum How to use checksums |
788fe5d6ebf08f5bdb11d81c8733130f01358b840b03d23b8d08de8533501511
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / mosaic_sandbox-0.11.1-py3-none-any.whl
| Download URL | mosaic_sandbox-0.11.1-py3-none-any.whl |
|---|---|
| Size | 128.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c262d2d718ad6423aa90fd966ef59522bc4031b45dc834e298e2260fac431222
|
|
BLAKE2b-256 checksum How to use checksums |
3bee9dc7023d0d8488847555af84c65fae99ffc86dd9dcc19830144456703cc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|