Skip to main content

rio

Four packages:

  • 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.0

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.0
File Size Uploaded
rio-0.4.0.tar.gz 479.7 kB Details

Built distribution (wheel)

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

Total release size: 894.2 kB

Release files / rio-0.4.0.tar.gz

Download URL rio-0.4.0.tar.gz
Size 479.7 kB
Tags Source
SHA-256 checksum
How to use checksums
17db4468464572622be242eda6c5bd23273d8e714b2a9f08a724b48a5e1be5b8
BLAKE2b-256 checksum
How to use checksums
e8af343b8e654f58b5ed0f4b035824ece9d3c30c82065954ce3fda5b2538a23a
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 7, 2026.

Transparency log

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

Download URL rio-0.4.0-py3-none-any.whl
Size 414.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed126b4fb731a6116b8efbbc630564cf66720754d39335bec18a1ceb2d87a6ee
BLAKE2b-256 checksum
How to use checksums
b5064a2e60459521bc9badc2a4252d54ebea979b018428eed3701e63b6c2776f
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 7, 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

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

This release

0.4.0 This release

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