Metadata-Version: 2.4
Name: agentix-runtime-basic
Version: 0.1.1
Summary: Shell + file I/O primitives for Agentix sandboxes
Project-URL: Homepage, https://github.com/Agentiix/Agentix-Runtime-Basic
Author: Agentiix
License: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: agentixx>=0.1.0
Provides-Extra: dev
Requires-Dist: pyright>=1.1.380; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# agentix-runtime-basic

Shell + file I/O primitives for [Agentix](https://github.com/Agentiix/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).

## Install

```bash
pip install agentix-runtime-basic
```

## Use

```python
from 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 / BashError
```

Each 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.

## Building a sandbox image

`runtime/Dockerfile` is the base image bundle builds extend from. Most
users invoke it indirectly:

```bash
agentix build runtime-basic -o my-agent:0.1.0
```

## License

MIT — see [LICENSE](LICENSE).
