Skip to main content

Production-ready, auto-updating Riot API wrapper.

Project description

RiotSkillIssue

PyPI version Python Versions License: GPL v3 Tests

Production-ready, auto-updating, and fully typed Python wrapper for the Riot Games API.

Documentation · Examples · API Reference


Features

Feature Description
Type-Safe 100% Pydantic models for all requests and responses
Auto-Updated Generated daily from the Official OpenAPI Spec
Resilient Built-in exponential backoff, circuit breakers, and Retry-After handling
Distributed Pluggable Redis support for shared rate limiting and caching
Multi-Game Full support for LoL, TFT, LoR, and VALORANT APIs

Installation

Requires Python 3.8+.

pip install riotskillissue

Quick Start

import asyncio
from riotskillissue import RiotClient, Platform, Region

async def main():
    async with RiotClient() as client:
        # Look up account by Riot ID
        account = await client.account.get_by_riot_id(
            region=Platform.EUROPE,
            gameName="Agurin",
            tagLine="EUW"
        )
        print(f"Found: {account.gameName}#{account.tagLine}")
        
        # Get summoner data
        summoner = await client.summoner.get_by_puuid(
            region=Region.EUW1,
            encryptedPUUID=account.puuid
        )
        print(f"Level: {summoner.summonerLevel}")

if __name__ == "__main__":
    asyncio.run(main())

Set your API key via environment variable:

export RIOT_API_KEY="RGAPI-your-key-here"

Or pass it directly:

async with RiotClient(api_key="RGAPI-...") as client:
    ...

Configuration

from riotskillissue import RiotClient, RiotClientConfig
from riotskillissue.core.cache import RedisCache

config = RiotClientConfig(
    api_key="RGAPI-...",
    max_retries=5,
    redis_url="redis://localhost:6379/0"  # Distributed rate limiting
)

cache = RedisCache("redis://localhost:6379/1")

async with RiotClient(config=config, cache=cache) as client:
    ...

Documentation

Full documentation is available at demoen.github.io/riotskillissue.

Legal

RiotSkillIssue is not endorsed by Riot Games and does not reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

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

riotskillissue-0.1.4.tar.gz (721.5 kB view details)

Uploaded Source

Built Distribution

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

riotskillissue-0.1.4-py3-none-any.whl (81.2 kB view details)

Uploaded Python 3

File details

Details for the file riotskillissue-0.1.4.tar.gz.

File metadata

  • Download URL: riotskillissue-0.1.4.tar.gz
  • Upload date:
  • Size: 721.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riotskillissue-0.1.4.tar.gz
Algorithm Hash digest
SHA256 95f1070fe8b701390fee766f3a65394179973cf9d257f1d15d9cf6eab6b0fccd
MD5 8638745de4a6bb5a89fe0f783842a7c5
BLAKE2b-256 9e3513f7daf4c933a7666781cee45c74650b9ed2ad152afc4549d1a5a2d3ff2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for riotskillissue-0.1.4.tar.gz:

Publisher: publish.yml on Demoen/riotskillissue

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file riotskillissue-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: riotskillissue-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 81.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riotskillissue-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 377f65de5be6d50bad90f3ba00a93fd6024350e4c6a1cd741896a02981dde25e
MD5 6e3d54cb8d3fe53968736a07b951748a
BLAKE2b-256 51ac12ece90e687988c7222a63597500080fd4d77ccd5eb72ed8ec18b581310f

See more details on using hashes here.

Provenance

The following attestation bundles were made for riotskillissue-0.1.4-py3-none-any.whl:

Publisher: publish.yml on Demoen/riotskillissue

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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