{"id":13633007,"url":"https://github.com/bartekjaszczak/rito","last_synced_at":"2025-04-18T10:33:49.788Z","repository":{"id":205358238,"uuid":"703208199","full_name":"bartekjaszczak/rito","owner":"bartekjaszczak","description":"Simple, crossplatform C++20 library for League of Legends client and Riot API","archived":true,"fork":false,"pushed_at":"2023-11-11T19:39:21.000Z","size":364,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-30T17:31:42.648Z","etag":null,"topics":["cmake","cpp","cpp20","lcu","lcu-api","league-of-legends","lib","library","rest-api","riot","riot-api","riot-games-api"],"latest_commit_sha":null,"homepage":"","language":"C++","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/bartekjaszczak.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}},"created_at":"2023-10-10T19:55:02.000Z","updated_at":"2024-03-04T21:08:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"0f152213-f7af-4bf3-b68a-f4a10f17ac2e","html_url":"https://github.com/bartekjaszczak/rito","commit_stats":null,"previous_names":["bartekprtc/rito","bartekjaszczak/rito"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekjaszczak%2Frito","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekjaszczak%2Frito/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekjaszczak%2Frito/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bartekjaszczak%2Frito/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bartekjaszczak","download_url":"https://codeload.github.com/bartekjaszczak/rito/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223779395,"owners_count":17201170,"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":["cmake","cpp","cpp20","lcu","lcu-api","league-of-legends","lib","library","rest-api","riot","riot-api","riot-games-api"],"created_at":"2024-08-01T23:00:22.989Z","updated_at":"2024-11-09T02:30:58.267Z","avatar_url":"https://github.com/bartekjaszczak.png","language":"C++","funding_links":[],"categories":["Developer Tools"],"sub_categories":[],"readme":"# rito\n\n![linux gcc build](https://github.com/bartekprtc/rito/actions/workflows/linux_gcc.yml/badge.svg)\n![linux clang build](https://github.com/bartekprtc/rito/actions/workflows/linux_clang.yml/badge.svg)\n![windows build](https://github.com/bartekprtc/rito/actions/workflows/windows_cl.yml/badge.svg)\n\n## Overview\n\nRito is a simple, crossplatform (Windows and Linux) C++20 library interfacing with Riot services (i.e. Riot REST API and League of Legends client). It is currently in development - API changes might occur at some point. Rito uses [POCO](https://github.com/pocoproject/poco) library in the backend. It offers a few classes which handle communication with Riot REST API, as well as with LoL client (LCU). For League client, Rito supports both REST API and Websocket communication.\n\n## Features\n\nYou want to:\n- Use Riot REST API easily? Use `Riot_rest_handler` class\n- Get League client (LCU) params (port \u0026 remoting auth token) easily? Use `Lcu_process_handler` class\n- Use League client REST API? Use `Lcu_rest_handler` class\n- Connect to League client using Websocket? Use `Lcu_websocket_handler` class\n- Use LCU events (with WAMP protocol over Websocket)? Use `Lcu_wamp_handler` class\n\nDetails in [Docs](https://github.com/bartekprtc/rito/wiki/Docs) wiki page and in [Doxygen documentation](https://bartekprtc.github.io/rito/).\n\n## Build\n\n### Quickstart\n\n#### Windows\n\nYou'll need `msvc` from `Visual Studio 2022` and `cmake`. Clone rito recursively:\n\n``` powershell\n\u003e git clone --recursive git@github.com:bartekprtc/rito.git\n```\n\nUse embedded vcpkg to get all dependencies:\n\n``` powershell\n\u003e .\\tools\\vcpkg\\bootstrap-vcpkg.bat\n\u003e .\\tools\\vcpkg\\vcpkg.exe install poco[netssl]\n```\n\nConfigure, build and install the library:\n\n``` powershell\n\u003e cmake -S . -B build \"-DCMAKE_TOOLCHAIN_FILE=.\\tools\\vcpkg\\scripts\\buildsystems\\vcpkg.make\"\n\u003e cmake --build build --config Release\n\u003e cmake --build build -t install\n```\n\n#### Linux\n\nYou'll need `gcc` or `clang` 16, `cmake`, `ninja` and `poco` library. Install dependencies:\n\nUbuntu/Debian:\n\n``` bash\n$ sudo apt install gcc cmake ninja-build libpoco-dev\n```\n\nor\n\n``` bash\n$ sudo apt install clang cmake ninja-build libpoco-dev\n```\n\nClone repo and build Rito:\n\n``` bash\n$ git clone git@github.com:bartekprtc/rito.git\n$ cd rito\n$ cmake -S . -B build\n$ cmake --build build\n```\n\nInstall library:\n\n``` bash\n$ sudo cmake --build build -t install\n```\n\n### Detailed build guide\n\nRito uses cmake as a build system. It can be built with gcc or clang-16 on Linux and with msvc on Windows. It depends on Poco library (with SSL). For details, see [Building Rito](https://github.com/bartekprtc/rito/wiki/Building-Rito) wiki page.\n\n## Usage\nRito can be either installed on the system, or integrated within cmake project. See [Using Rito](https://github.com/bartekprtc/rito/wiki/Using-Rito) wiki page for more information on how to use the library and [Docs](https://github.com/bartekprtc/rito/wiki/Docs) wiki page for some brief overview of classes.\n\n## Development/Contributing\nRito was meant to be a simple League stat collection application, which turned into a library. Even though it's very simple, I decided to make it into proper github project (with CI, coverage, tests and other fancy stuff) for learning purposes. I am happy to accept suggestions, reviews and pull requests. If you wish to contribute (or you're just interested in running tests/static analysis locally), see [Contributing](https://github.com/bartekprtc/rito/wiki/Contributing) wiki page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartekjaszczak%2Frito","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbartekjaszczak%2Frito","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartekjaszczak%2Frito/lists"}