Skip to main content

rio

One package, four submodules:

  • rio.ai -- a multi-provider LLM streaming SDK (Anthropic, Google Gemini, Mistral, OpenAI Codex, OpenAI-compatible), ported from huggingface/tau's tau_ai module. The message/tool/type vocabulary tau_ai depends on (tau_agent.messages, tau_agent.tools, tau_agent.types, tau_agent.provider, tau_agent.provider_events upstream) is folded in here too, so rio.ai is self-contained. See NOTICE for the upstream MIT license.
  • rio.agent -- a from-scratch runtime implementing SKILL.state: Scalable Long-Horizon Agent Skills (Badhe, Tiwari & Chung; EMNLP), built on rio.ai.
  • rio.coding -- the coding backend (CLI, tools, skills, extensions), built on rio.agent.
  • rio.tui -- the terminal application, wired to rio.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.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rio 0.4.3
File Size Uploaded
rio-0.4.3.tar.gz 504.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rio 0.4.3
File Interpreter ABI Platform
rio-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 930.7 kB

Release files / rio-0.4.3.tar.gz

Download URL rio-0.4.3.tar.gz
Size 504.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6268b998d5d7b17fa467841cfa6a673e6e24db8a0b37370b77fa5ef035301f8f
BLAKE2b-256 checksum
How to use checksums
0c6082c6daa33bb68af54743ac254843ac2b438846931ceb233fae851dc137b9
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 10, 2026.

Transparency log

Release files / rio-0.4.3-py3-none-any.whl

Download URL rio-0.4.3-py3-none-any.whl
Size 426.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
395f456e102fcc8423b7bd422b1f1d155f50d97cf2676d64cf1d5553ec8e9263
BLAKE2b-256 checksum
How to use checksums
ffa2d8de2f740aa9bd56137694eef85dd13531ec17071a8505d1cbd1519ce2c5
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 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page