MCPcopy Index your code
hub / github.com/KnutZuidema/golio

github.com/KnutZuidema/golio @v1.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.0 ↗ · + Follow
520 symbols 2,053 edges 88 files 295 documented · 57% updated 7mo agov1.1.0 · 2025-06-18★ 896 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Documentation CI Go Report Card codecov

Golio

Golio is a wrapper for the Riot API and the Data Dragon service. It is written purely in Go and provides idiomatic access to all API endpoints.

Example

package main

import (
    "fmt"

    "github.com/KnutZuidema/golio"
    "github.com/KnutZuidema/golio/api"
    "github.com/KnutZuidema/golio/riot/lol"
    "github.com/sirupsen/logrus"
)

func main() {
    client := golio.NewClient("API KEY",
        golio.WithRegion(api.RegionEuropeWest),
        golio.WithLogger(logrus.New().WithField("foo", "bar")))
    summoner, _ := client.Riot.LoL.Summoner.GetByName("SK Jenax")
    fmt.Printf("%s is a level %d summoner\n", summoner.Name, summoner.SummonerLevel)
    champion, _ := client.DataDragon.GetChampion("Ashe")
    mastery, err := client.Riot.LoL.ChampionMastery.Get(summoner.ID, champion.Key)
    if err != nil {
        fmt.Printf("%s has not played any games on %s\n", summoner.Name, champion.Name)
    } else {
        fmt.Printf("%s has mastery level %d with %d points on %s\n", summoner.Name, mastery.ChampionLevel,
            mastery.ChampionPoints, champion.Name)
    }
    challengers, _ := client.Riot.LoL.League.GetChallenger(lol.QueueRankedSolo)
    rank1 := challengers.GetRank(0)
    fmt.Printf("%s is the highest ranked player with %d league points\n", rank1.SummonerName, rank1.LeaguePoints)
}

Extension points exported contracts — how you extend this code

Doer (Interface)
Doer is an interface for any client that can process an HTTP request and return a response. This will most commonly be a [1 …
internal/doer.go
Option (FuncType)
Option is used to alter the attributes of a client
golio.go
RequestOption (FuncType)
(no doc)
internal/request_options.go

Core symbols most depended-on inside this repo

NewStatusMockDoer
called by 110
internal/mock/mock_doer.go
NewJSONMockDoer
called by 97
internal/mock/mock_doer.go
NewClient
called by 73
internal/client.go
GetInto
called by 53
internal/client.go
NewClient
called by 41
datadragon/data_dragon.go
Logger
called by 26
internal/client.go
Do
called by 19
internal/doer.go
NewClient
called by 17
static/static_data.go

Shape

Struct 173
Function 169
Method 159
TypeAlias 16
FuncType 2
Interface 1

Languages

Go100%

Modules by API surface

riot/lol/model.go78 symbols
riot/lol/model_test.go32 symbols
riot/val/model.go28 symbols
riot/tft/model.go26 symbols
datadragon/data_dragon_test.go25 symbols
datadragon/data_dragon.go22 symbols
datadragon/model.go20 symbols
static/static_data.go14 symbols
static/static_data_test.go13 symbols
internal/mock/mock_doer_test.go12 symbols
internal/mock/mock_doer.go11 symbols
riot/lol/challenges.go10 symbols

For agents

$ claude mcp add golio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page