rio
Four packages:
rio_ai-- a multi-provider LLM streaming SDK (Anthropic, Google Gemini, Mistral, OpenAI Codex, OpenAI-compatible), ported from huggingface/tau'stau_aimodule. The message/tool/type vocabularytau_aidepends on (tau_agent.messages,tau_agent.tools,tau_agent.types,tau_agent.provider,tau_agent.provider_eventsupstream) is folded in here too, sorio_aiis self-contained. SeeNOTICEfor the upstream MIT license.rio_agent-- a from-scratch runtime implementing SKILL.state: Scalable Long-Horizon Agent Skills (Badhe, Tiwari & Chung; EMNLP), built onrio_ai.rio_coding-- the coding backend (CLI, tools, skills, extensions), built onrio_agent.rio_tui-- the terminal application, wired torio_coding. It owns session tabs, the prompt editor, shell, file navigation, diffs, and settings.
Coding agent
uv sync
uv run rio setup --provider local --base-url http://localhost:8080/v1 --model my-model
uv run rio # interactive terminal interface
uv run rio -p "Inspect this project and explain its entry point"
uv run rio -p --mode json "Add a regression test for the parser"
uv run rio --mode rpc # JSONL commands on stdin
uv run rio sessions
uv run rio --session SESSION_ID
uv run rio export SESSION_ID --format html
Choose an existing provider with --provider NAME --model MODEL; rio providers
lists the configured catalog. Credentials may come from the provider's environment
variable or Rio's credential store (rio login PROVIDER; use --method api-key
for an API key). A successful login remembers the provider for future launches.
API keys and OAuth tokens are stored in ~/.rio/credentials.json with owner-only
permissions; the file is unencrypted. OAuth tokens refresh automatically.
Use rio logout PROVIDER to remove saved credentials. Configuration and journals
live under ~/.rio.
Use --approve to allow ambient project instructions and extensions for a run;
project trust controls resource loading, not what shell commands can access.
The coding tools are read, write, edit, bash, and respond. Each step
updates structured state and executes one action. Sessions store snapshots for
resume and checkpoint restoration; they never replay a transcript into the model.
HTML exports show steps, final state, and estimated token footprints.
See the installed documentation for providers, skills, extensions, RPC, and the state-based runtime. The offline example runs a complete session with a fake provider and requires no credentials.
Development
uv sync
uv run pytest
uv run ruff check .
Tests use scripted providers (rio_ai.FakeProvider) and mocked HTTP; no live
provider credentials are required. Headless Textual tests exercise terminal
interaction, and tool integration tests work in temporary directories. See in
particular tests/test_rio_agent_loop.py::test_prompt_footprint_is_bounded_across_steps,
which asserts that per-step prompt size stays constant across many steps
rather than growing -- a direct runtime check of the paper's core claim.
Release files for rio 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rio-0.4.2.tar.gz | 501.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rio-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 927.1 kB
Release files / rio-0.4.2.tar.gz
| Download URL | rio-0.4.2.tar.gz |
|---|---|
| Size | 501.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2d6a28fa1185567eab699c0eb2da079f19e1751ce57e9437e79294a943fd5520
|
|
BLAKE2b-256 checksum How to use checksums |
5e5049747b6fe333e636b034ee7018e0badbe1dc5b10ef08827cd3b83e07f100
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency logRelease files / rio-0.4.2-py3-none-any.whl
| Download URL | rio-0.4.2-py3-none-any.whl |
|---|---|
| Size | 425.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39cbe5bfab971f19fcb0e8a3b30e5ae648aa0d114e7f969bc5646cbf5190ea12
|
|
BLAKE2b-256 checksum How to use checksums |
f2f1b98adfb39b7be625adea7ad678f63911744431020f6fc6bcdce59074db85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency log