{"repo":"Kyagara/equinox","free":true,"listed":false,"github":"https://github.com/Kyagara/equinox","clone":"git clone https://github.com/Kyagara/equinox.git","description":"Library for all Riot Games APIs written in Golang.","language":"Go","stars":12,"topics":["cache","rate-limit","bigcache","golang","redis","code-generation","league-of-legends","legends-of-runeterra","teamfight-tactics","valorant"],"license":"MIT","category":"databases-storage","readme_excerpt":"equinox Wiki • Example • Todo • Versioning Features - Riot APIs implemented: - Riot Account - League of Legends - Teamfight Tactics - Valorant - Legends of Runeterra - Riftbound - Rate limit - Caching with BigCache or Redis - Logging with zerolog - Retries with exponential backoff [!NOTE] equinox currently uses the proposed jsonv2, read more about it here. Check the Wiki for more information about the library. Example Todo - Maybe the context usage throughout the project could be improved - Maybe add and move Logger to the Cache and RateLimit interfaces - Add checks for duration in tests that include any WaitN/any blocking - Add more tests against the live Riot API - RateLimit - Add Redis store, using a lua script - Maybe add more options (presets?) to customize the rate limiter - Try to reduce amount of method arguments Versioning Breaking changes in the library itself (removal/rename of methods from InternalClient / Cache / RateLimit ) will require a major version (n.x.x) bump, fixes will occur in a patch (x.x.n). The Riot API does not follow semver and changes often, breaking changes such as removal of endpoints methods or even entire endpoints will require a minor version (x.n.x) bump. In go , new major versions of a library are an annoyance, requiring adding/changing every import path to the new version, so I want to keep them to a minimum. For example, github.com/Kyagara/equinox/internal/client will be github.com/Kyagara/equinox/v2/internal/client , then github.com/Kyag","default_branch":null,"files":null,"tree":[],"storefront":"/r/Kyagara","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Kyagara/equinox/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}