Skip to main content

Valorant match tracker — Python bindings

Project description

ValoTracker

A fast, privacy-first Valorant match tracker written in Rust.

Windows only. Reads from the local Riot client lockfile — no username or password required, no external account needed.


Features

  • Live match table — all 10 players with rank, RR, peak rank, HS%, K/D, WR%, and party grouping, updated every 30 seconds
  • Streamer-mode detection — incognito players shown with an [S] tag
  • Party indicators — premade groups highlighted with icons (★ ▲ ● ■), enemy premades tinted red
  • Match history — save matches to a local SQLite database and browse them later; [s] to save, [h] to view
  • Encounter tracking — see every previous saved match against a given player (the "Receipts" feature)
  • Extended analytics — agent stats, map stats, smurf flagging, party win-rate breakdown, session tracking, nemesis/rivalry leaderboard
  • TUI + optional GUI — rich terminal UI by default; build with --features gui for a native egui window
  • Python bindingspip install ValoTracker exposes the engine to Python via PyO3

Disclaimer

ValoTracker reads data from VALORANT's local client endpoints (https://127.0.0.1:{port}) using credentials stored on your own machine. It does not bypass any external API, inject into the game process, or violate Riot's Terms of Service as interpreted for read-only local tooling.

Use at your own risk. The authors are not affiliated with Riot Games.


Installation

Pre-built binaries (Windows)

Download ValoTracker.exe (TUI) or ValoTracker-gui.exe (GUI) from the latest release and drop it anywhere on your PATH.

Build from source

# Clone
git clone https://github.com/Londopy/ValoTracker.git
cd ValoTracker

# TUI (default)
cargo build --release -p ValoTracker-tui
# Binary: target\release\ValoTracker.exe

# GUI (egui)
cargo build --release -p ValoTracker-gui --features gui
# Binary: target\release\ValoTracker-gui.exe

Requirements: Rust 1.78+, Windows 10/11, VALORANT installed and running.


Usage

TUI

ValoTracker.exe
Key Action
r Force refresh
s Save current match to history
h Open match history
c Open config editor
j/k or / Navigate player rows
Enter/Tab Open encounter history for selected player
q / Esc Quit

GUI

ValoTracker-gui.exe

Click any player with a 👁 icon to open their encounter history side panel.


Python bindings

pip install ValoTracker
import ValoTracker

client = ValoTracker.ValoTrackerClient()
client.wait_for_match()          # blocks until you enter a match

players = client.get_players()
for p in players:
    print(f"{p.name}#{p.tag}  {p.rank_name} {p.rr}RR  HS:{p.headshot_pct:.0%}")

# Party detection
from collections import defaultdict
parties = defaultdict(list)
for p in players:
    parties[p.party_id].append(p.name)
for pid, members in parties.items():
    if len(members) > 1:
        print(f"Premade: {', '.join(members)}")

Configuration

ValoTracker stores its config at %APPDATA%\ValoTracker\config.toml. It is created automatically on first run with all defaults.

[display]
show_streamer_tag       = true
show_party_size         = true
highlight_enemy_parties = true
short_ranks             = false
show_level              = true
show_kd                 = true
show_hs                 = true
show_wr                 = true
show_rr_delta           = true

[weapon]
preferred = "Vandal"

[features]
discord_rpc = false
gui         = false

You can also edit all display toggles live from within the TUI by pressing [c] to open the config editor.


Project layout

ValoTracker/
├── crates/
│   ├── ValoTracker-core/    # Engine (async Rust, no UI code)
│   ├── ValoTracker-tui/     # ratatui terminal frontend
│   ├── ValoTracker-gui/     # egui desktop GUI (--features gui)
│   └── ValoTracker-py/      # PyO3 Python bindings → PyPI
└── python/         # Pure-Python package wrapping ValoTracker-py
    └── ValoTracker/

Contributing

See CONTRIBUTING.md.

PRs welcome. Please run before submitting:

cargo fmt --all
cargo clippy --workspace -- -D warnings
cargo test --workspace

Licens

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

valotracker-1.0.1.tar.gz (17.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

valotracker-1.0.1-cp313-cp313-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file valotracker-1.0.1.tar.gz.

File metadata

  • Download URL: valotracker-1.0.1.tar.gz
  • Upload date:
  • Size: 17.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for valotracker-1.0.1.tar.gz
Algorithm Hash digest
SHA256 8d3337628e084543982baa8e5b711dbd230be567a93526876c3228e79b439533
MD5 ceec61de20e5605ddf9f1fd9fa1a6843
BLAKE2b-256 85fe685ebf37d39c3b98bdc104186ad8265a513012fe39a51c2173167c4e7fcc

See more details on using hashes here.

File details

Details for the file valotracker-1.0.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for valotracker-1.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1bbda6d86ef13f8afa7fa159b5390a569af05788ad394b0ffbc43a7a61a9c8a4
MD5 aaa9d5f9d52695a14b9d630ddafe806a
BLAKE2b-256 5759eaba43b102b752ed6d95ea2001ec16c6a746d2cf7e1ddcd8d003cf61951a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page