Shell + file I/O primitives for Agentix sandboxes. One wheel, two namespaces:
| Namespace | Purpose |
|---|---|
agentix.bash |
execute shell commands, stream stdout/stderr |
agentix.files |
upload/download/list files inside the sandbox |
These two used to ship as separate agentix-bash and agentix-files
distributions. They consolidated here because every realistic sandbox
image needs both — splitting them was friction without isolation
benefit (neither has any non-stdlib runtime deps).
pip install agentix-runtime-basicfrom agentix import RuntimeClient
from agentix.bash import run as bash_run, run_stream as bash_stream
from agentix.files import upload, download
async with RuntimeClient(sandbox.runtime_url) as c:
await c.remote(upload, path="data.json", content=blob)
result = await c.remote(bash_run, command="cat data.json | jq .")
async for ev in c.remote(bash_stream, command="pytest -q"):
... # ev is a BashStdout / BashStderr / BashExit / BashErrorEach namespace is "the package IS the namespace": top-level async
functions are the remote-callable surface, dataclasses/types like
BashResult and UploadResult are importable for return-type
annotations.
runtime/Dockerfile is the base image bundle builds extend from. Most
users invoke it indirectly:
agentix build runtime-basic -o my-agent:0.1.0MIT — see LICENSE.