League of Legends utilities, including an Item Set Generator
Project description
LeagueUtils
LeagueUtils is a set of utilities for interacting with League of Legends data. Currently, it contains the League ISG (Item Set Generator) and an API for item gold efficiency.
ISG
The Item Set Generator is designed to build recommended pages for every champion in every viable role. It does this by pulling date from Riot’s API and from some third party sites, determining which build paths work best, and updating your League config with the results.
Usage
The most common use case is to run
league-utils-isg
to install the item sets for every champion. The item sets will be installed
beside the default Riot recommended pages, but if you have manually downloaded
item sets into your config directory before, these may be overwritten. Make
sure any such files have unique names before running this script! (eg. anything
other than ${CHAMPION}_${ROLE}.json
).
You can also run something like
league-utils-isg --champ Rumble
to load info on only one champion.
Gold Efficiency
The Gold Efficiency project automatically calculates the efficiency of all items by looking at the vallue of the stats they provide. This is a common form of theory crafting.
These stats are calculated in real-time, and thus will always be up-to-date when a new patch is released.
When using this data, keep in mind that some aspects of items such as unique abilities will not be taken into account in determining the worth of an item. The ignored stats or abilities will be returned in the result.
Usage
For now, this is available only as a REST API. You can access the results for any item by ID. For example, to get efficiency data on Overlord’s Bloodmail, run
curl https://league.thekev.in/item/3084/efficiency
Setup
Install from PyPI
Simply run
pip3 install league-utils
Install from Source
After cloning this repo or downloading and un{zip,tar}ing the most recent zipfile or tarball.
python3 setup.py install
Run without installing
This project can also be run without installation. After cloning this repo or downloading and un{zip,tar}ing the most recent zipfile or tarball, run
pip3 install -r requirements.txt
and use the league-utils.py script in the root of this folder. Working in a virtualenv is recommended!
Note that when using this method, the sub-project must be provided as an argument. For example:
league-utils-isg [options] # becomes: ./league-utils.py isg [options]
From a binary
Pre-compiled binaries are provided for some Operating Systems. If yours is supported, you can grab the binary for the latest release and just run that without installing anything. Note that using this method does not allow you to easily update your installation.
If you use a binary to run league-utils
, make sure you use the
league-utils.py
syntax described above.
Running Your Own Server
So you want to run your own API server, eh? Well, there’s a convenient docker file you can use for that, but it does require just a bit of setup.
You’ll need to get yourself API keys for both Riot’s API and champion.gg’s. Once you do, simply export them to your shell and use docker-compose to run the server. Roughly speaking, you’ll want to:
export CHAMPIONGG_TOKEN=foo-asdfasdfasdf export LEAGUE_TOKEN=bar-fdsafdsafdsa git clone git@github.com:thekevjames/league.git cd league docker-compose build docker-compose up
You may also be interested in using the official docker image. If you are, the following might make your life easier:
curl https://raw.githubusercontent.com/TheKevJames/league/master/docker-compose.yml > docker-compose.yml mkdir -p api # docker-compose oddity docker-compose pull docker-compose up -d
Disclaimer
This project probably won’t make your computer explode, make your girlfriend leave you, or get you fired from your job, but I make no guarantees that blindly following its advice won’t drop your ELO. You’ve been warned.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.