{"id":15908188,"url":"https://github.com/wilhelmagren/gromp","last_synced_at":"2025-07-06T10:37:44.845Z","repository":{"id":65610800,"uuid":"592457435","full_name":"wilhelmagren/gromp","owner":"wilhelmagren","description":"Holistic Python implementation of the public Riot Games Developer API.","archived":false,"fork":false,"pushed_at":"2024-04-29T17:35:23.000Z","size":533,"stargazers_count":6,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T18:57:59.940Z","etag":null,"topics":["api","api-wrapper","discord-bot","league-of-legends","legends-of-runeterra","python","riot","riot-games","riot-games-api","teamfight-tactics","valorant"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wilhelmagren.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-23T19:18:21.000Z","updated_at":"2023-11-12T23:55:42.000Z","dependencies_parsed_at":"2023-09-27T22:39:23.063Z","dependency_job_id":"bdc4c89d-40cf-4e3e-b07d-d4d310386463","html_url":"https://github.com/wilhelmagren/gromp","commit_stats":{"total_commits":190,"total_committers":4,"mean_commits":47.5,"dds":"0.19999999999999996","last_synced_commit":"220d7b0602ff47b3f7248e51ff43e98d0bd129f4"},"previous_names":["willeagren/gromp"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/wilhelmagren/gromp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilhelmagren%2Fgromp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilhelmagren%2Fgromp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilhelmagren%2Fgromp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilhelmagren%2Fgromp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wilhelmagren","download_url":"https://codeload.github.com/wilhelmagren/gromp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilhelmagren%2Fgromp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259290961,"owners_count":22835290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-wrapper","discord-bot","league-of-legends","legends-of-runeterra","python","riot","riot-games","riot-games-api","teamfight-tactics","valorant"],"created_at":"2024-10-06T14:11:44.598Z","updated_at":"2025-07-06T10:37:44.822Z","avatar_url":"https://github.com/wilhelmagren.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cbr/\u003e\n\u003cdiv align=\"left\"\u003e\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/wilhelmagren/gromp\"\u003e\n\u003cimg align=\"center\" width=75% src=\"./docs/images/gromp-banner.png\"\u003e\u003c/img\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\n[![PyPI - Version](https://img.shields.io/pypi/v/gromp)](https://pypi.org/project/gromp/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![codecov](https://codecov.io/gh/wilhelmagren/gromp/branch/main/graph/badge.svg?token=52WSCE8Q09)](https://codecov.io/gh/willeagren/gromp)\n[![CI](https://github.com/wilhelmagren/gromp/actions/workflows/ci.yml/badge.svg)](https://github.com/wilhelmagren/gromp/actions/workflows/ci.yml)\n[![CD](https://github.com/wilhelmagren/gromp/actions/workflows/cd.yml/badge.svg)](https://github.com/wilhelmagren/gromp/actions/workflows/cd.yml)\n[![Tests](https://github.com/wilhelmagren/gromp/actions/workflows/tests.yml/badge.svg)](https://github.com/wilhelmagren/gromp/actions/workflows/tests.yml)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Lint style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)\n\n\u003c/div\u003e\n\n## 🔎 Overview\n*gromp* is a holistic wrapper of the public [Riot Games developer API](https://developer.riotgames.com/apis), \nwritten in Python. **All public methods are, as of 2023-11-10, implemented.**\n\nThe core principle of the wrapper is to offer a complete, yet simple, interface which implements some of the core functionality that a developer might want to communicate with the Riot Games developer API.\n\nFor a full list of all available requests, see each respective endpoint documentation.\n\n## 🔑 Requirements\n\n- To perform requests you need an API key from Riot Games, get yours [here](https://developer.riotgames.com/).\n\n## 📦 Installation\nEither clone this repository and perform a local install with [poetry](https://github.com/python-poetry/poetry/tree/master) accordingly\n```\ngit clone https://github.com/wilhelmagren/gromp.git\ncd gromp\npoetry install\n```\nor install the most recent release from the Python Package Index (PyPI).\n```\npip install gromp\n```\n\n\n## 🚀 Example usage\nAny HTTP errors that are returned by the requested API are propagated and, as of writing this, not handled.\n```python\nimport gromp\nfrom gromp import (\n    LeaguePlatforms,\n    LeagueRegions,\n)\n\nplatform = LeaguePlatforms.euw1\nregion = LeagueRegions.EUROPE\ntoken = '\u003capi-key\u003e'\n\n# Here we setup a hook for League of Legends. We specify platform and region\n# to perform all REST requests to, the length of the RSA keys used to encrypt\n# our token, and the number of seconds to wait before a timeout.\nhook = gromp.hook.League(\n    token,\n    platform=platform,\n    region=region,\n    keylen=1024,\n    timeout=10,\n)\n\n# One of the default handlers parses the HTTP response as a JSON\n# dictionary, see all available attributes for the object at the\n# Riot Games API documentation https://developer.riotgames.com/apis\nsummoner = hook.summoner.by_name('1 900 976 JUICE')\n\n# We can also get the summoner if we know the encrypted\n# puuid, lets try and see if they are actually the same...\nsummoner_from_puuid = hook.summoner.by_puuid(summoner['puuid'])\n\nassert summoner == summoner_from_puuid\n\n# Great, we get the same summoner, me. Let's try and get\n# some of my played games from the match API endpoint.\nmatches = hook.match.matchlist_by_puuid(\n    summoner['puuid'],\n    start=10,\n    count=5,\n)\n\nassert len(matches) == 5\n\n# Now we can request the match data for all the match id's which we\n# got from the previous request. This is unfortunately the only \n# process of getting specific match data... it is rather tedious.\nfor match_id in matches:\n    m = hook.match.by_id(match_id)\n    for participant in m['info']['participants']:\n        if participant['puuid'] == summoner['puuid']:\n            print(participant['win'])\n\n```\n\n## 💡 Gromp facts\nHis real name is Lord Grompulus Kevin Ribbiton of Croaksworth, and he likes to eat small insects, mushrooms, and people ([source](https://leagueoflegends.fandom.com/wiki/Gromp)). \n\n## 📋 License\nAll code is to be held under a general MIT license, please see [LICENSE](https://github.com/willeagren/gromp/blob/main/LICENSE) for specific information.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilhelmagren%2Fgromp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilhelmagren%2Fgromp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilhelmagren%2Fgromp/lists"}