Metadata-Version: 2.5
Name: rio
Version: 0.4.4
Summary: rio.ai: a ported multi-provider LLM streaming SDK. rio.agent: a SKILL.state long-horizon agent runtime (arXiv:2608.26263). rio.coding: a SKILL.state coding agent.
Project-URL: Repository, https://github.com/soasme/rio
Author-email: Ju Lin <soasme@gmail.com>
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: anyio>=4.0
Requires-Dist: httpx[socks]>=0.27
Requires-Dist: packaging>=24.0
Requires-Dist: pillow>=11.0
Requires-Dist: pydantic>=2.11
Requires-Dist: pygments>=2.18
Requires-Dist: pyte>=0.8.2
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.12
Description-Content-Type: text/markdown

# rio

Rio is a fully autonomous, one-shot coding agent built on
[*SKILL.state: Scalable Long-Horizon Agent Skills*](https://arxiv.org/abs/2608.26263).
It has no interactive terminal UI, no conversation history, and no follow-up
turns. Start a task, let it run, and Rio exits only when the task completes or
aborts.

Each model step receives the fixed skill instructions, current JSON execution
state, and the result of the previous action. The task is stored in the
initial state's `goal` field; it is never treated as a user observation.
Reasoning and prior messages are not replayed.

## Use

```bash
uv sync
uv run rio "Inspect this project and fix the parser"
uv run rio task.md
```

The normal workflow is to write the task in a Markdown file, then run Rio
against it. A sole `*.md` argument is loaded as the task:

```bash
uv run rio feature.md
```

You can add a short instruction when invoking it:

```bash
uv run rio "Follow feature.md, run the tests, and finish the implementation"
```

Use `--provider NAME --model MODEL` to choose a configured provider and
`--approve` to allow project instructions and extensions for that run. Rio
renders committed actions, state changes, retries, and the final result with
Rich.

## Development

```bash
uv run pytest
uv run ruff check .
```

`rio.ai` is a multi-provider LLM streaming SDK. `rio.agent` is the
SKILL.state runtime, and `rio.coding` supplies the autonomous coding skill and
tools. `rio.cli` is the public one-shot command-line entry point.
