riot

package module
v0.0.0-...-a7a2cce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

README

Riot

Build Status

This project aims to provide a batteries-included toolkit for all publicly available Riot data written in Go.

THIS IS A FORK

I added (dirty) support for the V5 endpoints

I honestly wouldn't recommend using this version of the project.

Features

  • Threadsafe, rate-limited API client. See examples/example_apiclient
  • Centralized rate-limiting service for multi-server configurations. See https://github.com/yuhanfang/riot/wiki/Rate-Limit-Service
  • Cached client built on top of a Google Cloud backend. See examples/example_cachedclient
  • Static data client backed by data dragons. See examples/example_staticdata
  • Uploader to structure API data in BigQuery for easy analysis. See examples/example_bigquery_aggregator
  • Competitive esports data API. See examples/example_esports

Dependencies

Riot uses Go Modules to manage dependencies. Installing and updating packages are just like you would without using a dependency manager.

go get [package]

See the wiki entry Modules for more on Modules

Contributing

Please see CONTRIBUTING if you are interested in contributing features or bugfixes.

Feel free to raise an issue with label "question" or DM me at @yuhan_fang if you have any questions.

Documentation

Overview

Package riot implements APIs and tooling around all publicly available League of Legends data. This list currently includes the official Riot API, the unofficial lolesports API, and the Data Dragons static data endpoint.

See the examples/ subfolder for usage examples.

Directories

Path Synopsis
analytics
data_aggregation
Package data_aggregation pulls data from a Riot API client and stores it in a centralized table.
Package data_aggregation pulls data from a Riot API client and stores it in a centralized table.
data_aggregation/bigquery_aggregator
Package bigquery_aggregator uploads data to BigQuery.
Package bigquery_aggregator uploads data to BigQuery.
Package apiclient accesses the official Riot API.
Package apiclient accesses the official Riot API.
Package cachedclient implements a cached version of the Riot API.
Package cachedclient implements a cached version of the Riot API.
google
Package google implements GCE-based persistence for cached RPC calls.
Package google implements GCE-based persistence for cached RPC calls.
constants
champion
Package champion defines champion constants.
Package champion defines champion constants.
event
Package event defines event constants.
Package event defines event constants.
lane
Package lane defines lane constants.
Package lane defines lane constants.
language
Package language defines localization constants.
Package language defines localization constants.
queue
Package queue defines queue constants.
Package queue defines queue constants.
region
Package region defines region constants.
Package region defines region constants.
season
Package season defines season constants.
Package season defines season constants.
tier
Package tier defines tier constants.
Package tier defines tier constants.
v5region
Package region defines region constants.
Package region defines region constants.
Package esports implements an API for interacting with lolesports.
Package esports implements an API for interacting with lolesports.
cache
Package cache saves data from the esports API into BigQuery.
Package cache saves data from the esports API into BigQuery.
tournaments
Package tournaments defines highlander tournament constants.
Package tournaments defines highlander tournament constants.
examples
example_apiclient
This script demonstrates how to use the apiclient package.
This script demonstrates how to use the apiclient package.
example_bigquery_aggregator
Demonstrates how to use a BigQuery aggregator to aggregate match data from the Riot API into a queryable table.
Demonstrates how to use a BigQuery aggregator to aggregate match data from the Riot API into a queryable table.
example_cachedclient
Demonstrates how to set up a cached client.
Demonstrates how to set up a cached client.
example_esports
This script demonstrates how to use the esports package.
This script demonstrates how to use the esports package.
example_esports_leagues
Example script demonstrating how to list out available leagues.
Example script demonstrating how to list out available leagues.
Package external defines interfaces for external package types.
Package external defines interfaces for external package types.
Package maps implements marshaling and unmarshaling of common map types, which aren't generally supported by datastores.
Package maps implements marshaling and unmarshaling of common map types, which aren't generally supported by datastores.
generator
Helper binary for generating generic map serialization.
Helper binary for generating generic map serialization.
Package ratelimit implements rate limiting for the public Riot API.
Package ratelimit implements rate limiting for the public Riot API.
service/client
Package client implements rate limiting by connecting to a centralized rate limiting server.
Package client implements rate limiting by connecting to a centralized rate limiting server.
service/server
Package server defines a rate limit server.
Package server defines a rate limit server.
service/server/ratelimit_server
Launches a ratelimit server on the specified port.
Launches a ratelimit server on the specified port.
Package staticdata defines a static data client for Data Dragons.
Package staticdata defines a static data client for Data Dragons.
testing
tools/delete_google_datastore_namespace
Deletes a namespace from Google datastore.
Deletes a namespace from Google datastore.
Package types implements custom datatypes returned by Riot APIs.
Package types implements custom datatypes returned by Riot APIs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL