Skip to main content

rift-tui

A terminal-based League of Legends stats tracker built with Python and Textual. Three-panel dashboard — rank, recent form, champion mastery, match history, top champions, and full per-match breakdowns (runes, spells, items, objectives, gold/XP diff over time) — all live from Riot's API.

Features

  • Live profile tracking — rank, LP, recent-form sparkline, champion mastery, last 10 matches, top champions
  • Match detail — full scoreboard both teams, bans, objectives, runes, summoner spells, multikill badges, kill participation / damage-per-minute, item builds, and a gold/XP/damage timeline chart per match
  • Search any player — region-aware, arrow-key platform picker (no need to know Riot's routing codes)
  • Bookmarks — save favorite Riot IDs, jump to them with one keypress
  • Multi-account — track a main + smurfs, switch between them
  • Compare mode — side-by-side stat comparison against a searched player
  • Queue filter — Solo / Flex / ARAM
  • Champion filter — filter your match list down to one champion
  • In-app settings — manage tracked accounts, bookmarks, refresh interval, and your Riot API key, all without touching a config file
  • Copy Riot ID to clipboard — one key, no manual selecting
  • Scrollable, resizable panels — Tab to focus a panel, arrow keys or mouse wheel to scroll
  • Built-in help overlay — full keybind reference, one key away

Requirements

  • Python 3.10+
  • A free Riot Developer API key (get one here) — personal dev keys expire every 24h, this is normal Riot behavior, not a bug
  • A terminal that properly supports ANSI/VT input. On Windows, use Windows Terminal — legacy cmd.exe and the old PowerShell console host don't handle keyboard input correctly for full-screen terminal apps like this one. If you're on Windows 10 LTSC (no Microsoft Store), grab the portable build from Terminal's GitHub releases, or use WezTerm / Alacritty instead.

Installation

pipx install rift-tui
rift-tui

pipx installs it in its own isolated environment and puts the rift-tui command on your PATH. If you don't have pipx yet:

python -m pip install --user pipx
pipx ensurepath

(restart your terminal after that last command)

From source (for development):

git clone https://github.com/rileriaaa/rift-tui.git
cd rift-tui
pip install -e .

First run

On first launch, rift-tui walks you through setup — no config files to hand-edit:

  1. Paste your Riot API key when prompted (or press Esc to skip and add it later with K)
  2. Enter your Riot ID (e.g. YourName#TAG) and pick your region with / (or skip and add it later with A)

That's it — your account and key are saved locally and reused on every future launch.

Keybinds

Key Action
/ Search for a player
19, 0 Open match 1–10 detail
Esc Back / close whatever's open
Tab Switch panel focus
Scroll the focused panel (or browse recent searches / recent bookmarks while typing)
Change region while searching or adding a player
R Refresh now
I Cycle auto-refresh interval
T Cycle queue type (Solo / Flex / ARAM)
F Filter match list by champion
A Manage tracked accounts (add/remove)
N Switch to next tracked account
B Bookmarks — open list / add current or new player
C Toggle compare mode (while viewing a searched player)
Y Copy the currently viewed Riot ID to clipboard
K Add or update your Riot API key — no .env editing needed
? Show the help overlay
Q Quit

Where your data lives

Nothing is stored next to the installed package. rift-tui uses your OS's proper per-user data folder (via platformdirs) — e.g. %LOCALAPPDATA%\rift-tui on Windows, ~/.local/share/rift-tui on Linux:

  • accounts.json — your tracked accounts
  • bookmarks.json — saved players
  • app_settings.json — refresh interval and your API key

Troubleshooting

  • "Rate limited by Riot API (429)" — personal dev keys are capped at 20 requests/second and 100 requests/2 minutes. Wait a moment and retry.
  • "Invalid or expired Riot API key" — dev keys expire every 24 hours. Press K in-app to paste a fresh one, no restart needed.
  • "Player not found" — double check the exact Riot ID (name#tag), and try a different region with / — Riot IDs are region-locked to wherever the account actually plays.
  • Keys not responding on Windows — see the terminal note under Requirements above.
  • Screen looks broken on a small windowTab to focus a panel, then scroll it with arrow keys or your mouse wheel.

A note on API keys

This project uses a bring-your-own-key model: each user gets their own free personal Riot API key rather than the app shipping with one baked in. This isn't a limitation — Riot's developer terms explicitly prohibit embedding any API key (personal or production) in software you distribute to others, and personal keys are specifically meant for exactly this kind of individual-use tool.

License

MIT

Release files for rift-tui 1.1.1

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

Source distribution (sdist)

Source distribution for rift-tui 1.1.1
File Size Uploaded
rift_tui-1.1.1.tar.gz 25.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rift-tui 1.1.1
File Interpreter ABI Platform
rift_tui-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 52.5 kB

Release files / rift_tui-1.1.1.tar.gz

Download URL rift_tui-1.1.1.tar.gz
Size 25.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8ef00cc51ad0289cead6a35ae8ce17db7649263d3ac63ccbdcdb3da140754672
BLAKE2b-256 checksum
How to use checksums
7dfe2cfd3d2870a8e53555dc9157f8d994d8c97853b627bc9a22701578a33bc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / rift_tui-1.1.1-py3-none-any.whl

Download URL rift_tui-1.1.1-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f537235fd0942f5d71904ff42f07fcbd58579d562b908cbc479ad60cd586dd7
BLAKE2b-256 checksum
How to use checksums
cc8262135dac2d58297076e48ecfd258909f28b1cd843476fa6abf1e3150ce3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.0.1

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