Metadata-Version: 2.5
Name: rio
Version: 0.4.5
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. It has no interactive terminal UI,
no conversation history, no human steer in the middle and no follow-up turns.
Start a task, let it run, and Rio exits only when the task completes or aborts.

## Use

Install via `uv`:

```bash
uv tool install rio
```

Run a adhoc task:
```
rio run "Fix gh issue 123."
```

Run a predefined workflow:

```
rio run task.md
```

The workflow is to write the task in a Markdown file, then run Rio
against it.


You can add a short instruction when invoking it:

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

Use `rio login PROVIDER` to configure a provider. Use `--provider NAME --model MODEL` to choose one and
`--approve` to allow project instructions and extensions for that run. Rio
renders committed actions, state changes, retries, and the final result with
Rich. Each run prints a session id; continue it with `rio run --resume SESSION_ID "Next task"`.

## 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.
* `rio.coding` supplies the autonomous coding skill and tools.
* `rio.cli` is the public one-shot command-line entry point.

[SKILL.state]: https://arxiv.org/abs/2608.26263
