Skip to main content

lol_monitor

GitHub Release PyPI Version GitHub Stars Python Versions License OpenSSF Scorecard Last Commit Maintenance

Powerful tool for real-time monitoring of LoL (League of Legends) players' activities.

lol_monitor_screenshot

🚀 Quick Install & Run

New to Python or unsure what is installed? Follow the Python install walkthrough first.

Install from PyPI:

pip install lol_monitor

Run the setup wizard:

lol_monitor --setup

The wizard asks for the Riot ID and region, the Riot API key and optional notifications. Review the settings before saving them. See Setup & First Run for how to get the Riot API key and the region codes.

For the manual single-file method, optional dependencies and upgrade commands, see Installation.

Features

🔍 Match Tracking

  • Match activity: Detect when a player starts and finishes a game.
  • Match reports: Show results, kills, deaths, assists, champion, level, role and lane.
  • Game context: Include mode, queue, map, version, both team rosters and champion bans.

📊 Player Insights and Tools

  • Ranked statistics: View Solo/Duo and Flex ranks plus top champion mastery.
  • Match history: List recent matches and export timestamped reports, including custom games.
  • CSV tools: Convert older history files and compare match histories.

🔔 Notifications

  • Email alerts: Receive match starts, finishes, summaries and errors.
  • Discord and ntfy: Choose webhook events independently from email.
  • Champion artwork: Include an optional icon in email, as a Discord thumbnail or as an ntfy attachment.

⚙️ Setup and Configuration

  • Guided setup: Review and edit settings before saving with --setup.
  • Getting started: Use the welcome screen, worked help examples and --doctor checks.
  • Flexible settings: Use config files, dotenv files, environment variables and command-line options.
  • Runtime controls: Adjust the running monitor through supported signals.

Common Commands

Use Quick Install & Run above for first-time setup. The table uses PyPI commands. For the manual script equivalents, see Run Individual Commands.

Replace the target placeholders with a Riot ID such as "Player#TAG" plus a region code such as euw1. Monitoring requires the Riot API key described in the setup guide.

I want to... Run this
Configure the target, credentials and alerts lol_monitor --setup
Start monitoring with existing authentication lol_monitor "<riot_id>" <region>
Check authentication, connectivity and one target lol_monitor --doctor "<riot_id>" <region>
Enter or replace securely the Riot API key lol_monitor --set-riot-api-key
Configure and test webhook alerts Use the setup wizard or follow Webhook Settings
Save an SMTP password for email alerts lol_monitor --set-smtp-password
Send a test email lol_monitor --send-test-email
Save a new webhook URL lol_monitor --set-webhook-url
Send a test webhook lol_monitor --send-test-webhook
List recent matches lol_monitor "<riot_id>" <region> -l -n 10
Write every change to a CSV file lol_monitor "<riot_id>" <region> -b changes.csv
Use a specific configuration and secrets file lol_monitor --config-file lol_monitor.conf --env-file .env "<riot_id>" <region>
List every supported command-line flag lol_monitor --help

Running the tool with no arguments offers the wizard if you have not saved a player. If a player is already saved, it starts monitoring that player.

The tool runs until interrupted (Ctrl+C). Use tmux or screen for persistence and run multiple copies to monitor several players.

For the API key, region codes, saved players and notification setup, see the full Setup & First Run guide.

For email and webhook setup, see Configuration. For notification choices, listing commands and output files, see Usage.

If a run fails, start with Doctor Preflight.

Documentation

Full documentation is available at misiektoja.github.io/lol_monitor:

Page What it covers
Installation Python walkthrough, PyPI or manual installation, upgrades
Setup & First Run Setup wizard, the Riot API key, region codes, the first monitoring run
Configuration Config file, SMTP, webhooks, storing secrets, check intervals
Usage Monitoring mode, listing mode, notifications, CSV export, signals, terminal output
Utility Tools The CSV format converter and the match history comparison tool
Troubleshooting --doctor preflight checks, what to do when something fails, --verbose and --debug output
Testing Running the offline suite, the linter and the docs build
About Change log, contributing, security, license, support

Change Log

See RELEASE_NOTES.md for details.

Contributing

Bug reports, documentation fixes and code contributions are welcome. See CONTRIBUTING.md for the development setup, the checks CI enforces and what a change needs before it is merged. Participation is covered by the Code of Conduct.

Security

Report a suspected vulnerability privately through GitHub security advisories, never as a public issue. SECURITY.md covers the reporting process, the supported versions and the security posture of stored credentials and configuration loading.

Maintainers

License

Licensed under GPLv3. See LICENSE. Dependency licenses are listed in THIRD_PARTY_NOTICES.md.

Support

Questions, bug reports and vulnerability reports each have a place, listed in SUPPORT.md.

If the project is useful to you, you can support its development through GitHub Sponsors or Buy Me a Coffee.

Metadata

Release files for lol-monitor 1.9

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

Source distribution (sdist)

Source distribution for lol-monitor 1.9
File Size Uploaded
lol_monitor-1.9.tar.gz 316.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lol-monitor 1.9
File Interpreter ABI Platform
lol_monitor-1.9-py3-none-any.whl Python 3 none any Details

Total release size: 442.2 kB

Release files / lol_monitor-1.9.tar.gz

Download URL lol_monitor-1.9.tar.gz
Size 316.4 kB
Tags Source
SHA-256 checksum
How to use checksums
bb21d614e63426f4db530909d7e4d811e9da46162367c4dbb79013c8daf68d3b
BLAKE2b-256 checksum
How to use checksums
1c87e64d0c2c9c395992e77a9aafc798a1db904184255156c94d098b769359e4
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 18, 2026.

Transparency log

Release files / lol_monitor-1.9-py3-none-any.whl

Download URL lol_monitor-1.9-py3-none-any.whl
Size 125.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bb002c86bfd799197169f05c6103db0d2e84f3c24984d5d22d2fa8b5a44bdff8
BLAKE2b-256 checksum
How to use checksums
820145c36952270d66db22e3ca2206a1cae63c2c5a8af3d11b7d84be8dbdd42a
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 18, 2026.

Transparency log

Release history Release notifications | RSS feed

2.0

2 release files

This release

1.9 This release

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7

2 release files

1.6

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