Camille.Core 3.0.0-nightly-2022-01-19-e2d99a371d

This is a prerelease version of Camille.Core.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Camille.Core --version 3.0.0-nightly-2022-01-19-e2d99a371d                
NuGet\Install-Package Camille.Core -Version 3.0.0-nightly-2022-01-19-e2d99a371d                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Camille.Core" Version="3.0.0-nightly-2022-01-19-e2d99a371d" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Camille.Core --version 3.0.0-nightly-2022-01-19-e2d99a371d                
#r "nuget: Camille.Core, 3.0.0-nightly-2022-01-19-e2d99a371d"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Camille.Core as a Cake Addin
#addin nuget:?package=Camille.Core&version=3.0.0-nightly-2022-01-19-e2d99a371d&prerelease

// Install Camille.Core as a Cake Tool
#tool nuget:?package=Camille.Core&version=3.0.0-nightly-2022-01-19-e2d99a371d&prerelease                

Camille

Github Actions NuGet Stable NuGet Pre Release API Reference

C# Library for the Riot Games API

Camille's goals are speed, reliability, and maintainability. Camille handles rate limits and large requests with ease. Data classes are automatically generated from the Riot API Reference (Swagger).

Features

  • Fast, asynchronous, thread-safe.
  • Automatically retries failed requests.
  • Automatic up-to-date nightlies, reflecting Riot API changes within 24 hours.
  • Multi-targeted: .NET Standard 1.1+, .NET Framework 4.5+, .NET Core 2.0, .NET Standard 2.1+, .NET Core 3.0+.
  • Highly-configurable.
  • Riot API LOL-V4, TFT, LOR support.
  • C# 8 nullable support.

Installation

Install via NuGet (Camille.RiotGames).

Type the following in the package manager console:

Install-Package Camille.RiotGames -IncludePrerelease

Or use the .NET CLI:

dotnet add package Camille.RiotGames --prerelease

Usage

All API interactions are done using a RiotApi instance. RiotApi.NewInstance takes either just an API key (for default settings) or a IRiotApiConfig instance (for custom settings).

var riotApi = RiotApi.NewInstance("RGAPI-12345678-abcd-1234-abcd-123456abcdef");
// OR
var riotApi = RiotApi.NewInstance(
    new RiotApiConfig.Builder("RGAPI-12345678-abcd-1234-abcd-123456abcdef")
    {
        MaxConcurrentRequests = 200,
        Retries = 10,
        // ...
    }.Build()
);

You can find all configuration options here.

API methods are divided up into respective endpoints, corresponding to the left bar of the API reference.

Example

// Get summoners by name synchronously. (Note: async is faster as it allows simultaneous requests).
var summoners = new[]
{
    riotApi.SummonerV4().GetBySummonerName(PlatformRoute.NA1, "jAnna kendrick"),
    riotApi.SummonerV4().GetBySummonerName(PlatformRoute.NA1, "lug nuts k")
};

foreach (var summoner in summoners)
{
    Console.WriteLine($"{summoner.Name}'s Top 10 Champs:");

    var masteries =
        riotApi.ChampionMasteryV4().GetAllChampionMasteries(PlatformRoute.NA1, summoner.Id);

    for (var i = 0; i < 10; i++)
    {
        var mastery = masteries[i];
        // Get champion for this mastery.
        var champ = (Champion) mastery.ChampionId;
        // print i, champ id, champ mastery points, and champ level
        Console.WriteLine("{0,3}) {1,-16} {2,10:N0} ({3})", i + 1, champ.ToString(),
            mastery.ChampionPoints, mastery.ChampionLevel);
    }
    Console.WriteLine();
}

Output (2022-01-17):

Janna Kendrick's Top 10 Champs:
  1) EKKO              1,803,701 (7)
  2) PYKE                266,410 (7)
  3) SYLAS               193,439 (7)
  4) MASTERYI            134,140 (7)
  5) MORDEKAISER         127,937 (7)
  6) YASUO                93,904 (7)
  7) VIEGO                88,267 (7)
  8) AHRI                 82,106 (7)
  9) JINX                 76,788 (6)
 10) POPPY                74,982 (7)
    
LugnutsK's Top 10 Champs:
  1) ZYRA                841,132 (7)
  2) SORAKA               81,793 (6)
  3) MORGANA              62,917 (5)
  4) SONA                 55,073 (6)
  5) NAMI                 49,917 (6)
  6) JANNA                46,563 (5)
  7) BRAND                46,401 (5)
  8) TARIC                41,302 (6)
  9) EKKO                 40,245 (5)
 10) POPPY                33,859 (5)

API Reference

Automatically generated API Reference

Source Code

Source code is located in the src/ directory, corresponding to the MingweiSamuel.Camille namespace.

RiotApi.cs is the main point of entry for interfacing with Camille, however this source file is only a partial class. The remainder of the class is automatically generated and not commited to the master branch, but is viewable as described below in the "Generated Classes" section.

Files in the src/util directory/MingweiSamuel.Camille.Util namespace are internal classes used for sending requests and handling rate limits.

Generated Classes

The majority of the code in Camille is automatically generated. The generated sources are not commited to the master branch, but are available in the gh-pages branch in the _gen/ directory.

GeneratedClasses.cs contains all endpoints, and therefore endpoint methods, as well as all the data transfer objects corresponding to the JSON returned by the Riot API.

Champion.cs is an enum for working with champion IDs.

RiotApiConfig.cs is the configuration builder code for creating RiotApi instnaces with custom settings.

The actual code for generating these classes is in the src/gen folder. The C#-generating code is in *.cs.dt files and is written in NodeJS, using doT.js templates.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard1.1 is compatible.  netstandard1.2 was computed.  netstandard1.3 was computed.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 was computed.  netstandard2.0 was computed.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Windows Phone wpa81 was computed. 
Windows Store netcore was computed.  netcore45 was computed.  netcore451 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Camille.Core:

Package Downloads
Camille.Lcu

League of Legends Client Update API Library.

Camille.RiotGames

Riot Games API library. Fully rate limited, automatic retrying, thread-safe. Up-to-date nightlies.

Camille.LolGame

League of Legends Live (In-Game) Client Data API library

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.0-nightly-2024-11-09-a1... 142 11/9/2024
3.0.0-nightly-2024-07-25-a1... 880 7/25/2024
3.0.0-nightly-2024-07-22-a1... 69 7/22/2024
3.0.0-nightly-2024-06-21-7a... 356 6/21/2024
3.0.0-nightly-2024-06-19-7a... 68 6/19/2024
3.0.0-nightly-2024-06-16-7a... 62 6/16/2024
3.0.0-nightly-2024-06-13-4d... 63 6/13/2024
3.0.0-nightly-2024-06-02-4d... 93 6/2/2024
3.0.0-nightly-2024-05-26-4d... 140 5/26/2024
3.0.0-nightly-2024-04-22-4d... 168 4/22/2024
3.0.0-nightly-2024-04-20-4d... 76 4/20/2024
3.0.0-nightly-2024-04-19-3e... 73 4/19/2024
3.0.0-nightly-2024-04-10-31... 109 4/10/2024
3.0.0-nightly-2024-04-04-7d... 76 4/4/2024
3.0.0-nightly-2024-04-03-7d... 73 4/3/2024
3.0.0-nightly-2024-03-25-7d... 84 3/25/2024
3.0.0-nightly-2024-03-24-7d... 68 3/24/2024
3.0.0-nightly-2024-03-13-9d... 124 3/13/2024
3.0.0-nightly-2024-03-08-85... 93 3/8/2024
3.0.0-nightly-2024-03-05-85... 156 3/5/2024
3.0.0-nightly-2024-02-17-85... 219 2/17/2024
3.0.0-nightly-2024-02-07-85... 153 2/7/2024
3.0.0-nightly-2024-01-20-de... 102 1/20/2024
3.0.0-nightly-2024-01-15-de... 83 1/15/2024
3.0.0-nightly-2024-01-04-95... 165 1/4/2024
3.0.0-nightly-2024-01-04-67... 83 1/4/2024
3.0.0-nightly-2023-12-06-6d... 175 12/6/2023
3.0.0-nightly-2023-11-28-6d... 101 11/28/2023
3.0.0-nightly-2023-11-24-6d... 101 11/24/2023
3.0.0-nightly-2023-11-21-6d... 95 11/21/2023
3.0.0-nightly-2023-11-16-6d... 621 11/16/2023
3.0.0-nightly-2023-11-15-6d... 72 11/15/2023
3.0.0-nightly-2023-11-11-6d... 198 11/11/2023
3.0.0-nightly-2023-10-18-6d... 160 10/18/2023
3.0.0-nightly-2023-10-17-0d... 94 10/17/2023
3.0.0-nightly-2023-10-11-9f... 386 10/11/2023
3.0.0-nightly-2023-09-23-9f... 241 9/23/2023
3.0.0-nightly-2023-09-12-9f... 391 9/12/2023
3.0.0-nightly-2023-09-05-9f... 135 9/5/2023
3.0.0-nightly-2023-08-27-1f... 396 8/27/2023
3.0.0-nightly-2022-10-18-9e... 2,571 10/18/2022
3.0.0-nightly-2022-09-22-9e... 253 9/22/2022
3.0.0-nightly-2022-09-06-9e... 319 9/6/2022
3.0.0-nightly-2022-09-01-9e... 147 9/1/2022
3.0.0-nightly-2022-08-16-9e... 185 8/16/2022
3.0.0-nightly-2022-08-04-9e... 197 8/4/2022
3.0.0-nightly-2022-07-20-9e... 184 7/20/2022
3.0.0-nightly-2022-06-30-9e... 253 6/30/2022
3.0.0-nightly-2022-06-25-9e... 168 6/25/2022
3.0.0-nightly-2022-06-22-a6... 149 6/22/2022
3.0.0-nightly-2022-06-20-a6... 128 6/20/2022
3.0.0-nightly-2022-05-26-9f... 311 5/26/2022
3.0.0-nightly-2022-05-20-9f... 195 5/20/2022
3.0.0-nightly-2022-04-12-9f... 397 4/12/2022
3.0.0-nightly-2022-03-03-9f... 237 3/3/2022
3.0.0-nightly-2022-02-11-9c... 176 2/11/2022
3.0.0-nightly-2022-01-19-e2... 178 1/19/2022
3.0.0-nightly-2021-12-30-6d... 155 12/30/2021
3.0.0-nightly-2021-11-20-c5... 521 11/20/2021
3.0.0-nightly-2021-11-20-93... 512 11/20/2021
3.0.0-nightly-2021-11-11-93... 167 11/11/2021
3.0.0-nightly-2021-10-24-93... 208 10/24/2021
3.0.0-nightly-2021-10-24-5b... 256 10/24/2021
3.0.0-nightly-2021-10-13-2d... 170 10/13/2021
3.0.0-nightly-2021-10-10-47... 250 10/10/2021
3.0.0-nightly-2021-10-02-52... 201 10/2/2021
3.0.0-nightly-2021-09-10-6f... 198 9/10/2021
3.0.0-nightly-2021-09-04-6f... 151 9/4/2021
3.0.0-nightly-2021-08-25-6f... 167 8/25/2021
3.0.0-nightly-2021-07-24-14... 290 7/24/2021
3.0.0-nightly-2021-07-23-14... 178 7/23/2021
3.0.0-nightly-2021-07-15-6c... 165 7/15/2021
3.0.0-nightly-2021-07-03-6c... 315 7/3/2021
3.0.0-nightly-2021-06-26-6c... 197 6/26/2021
3.0.0-nightly-2021-06-05-6c... 230 6/5/2021
3.0.0-nightly-2021-05-21-7b... 179 5/21/2021
3.0.0-nightly-2021-05-20-7b... 197 5/20/2021
3.0.0-nightly-2021-05-14-09... 166 5/14/2021
3.0.0-nightly-2021-05-10-09... 194 5/10/2021
3.0.0-nightly-2021-05-02-ec... 231 5/2/2021
3.0.0-nightly-2021-04-30-ec... 158 4/30/2021
3.0.0-nightly-2021-04-22-ec... 182 4/22/2021
3.0.0-nightly-2021-04-17-ec... 225 4/17/2021
3.0.0-nightly-2021-04-14-ec... 177 4/14/2021
3.0.0-nightly-2021-04-03-ec... 231 4/3/2021
3.0.0-nightly-2021-01-17-ec... 212 1/17/2021
3.0.0-nightly-2021-01-14-94... 230 1/14/2021
3.0.0-nightly-2021-01-09-fb... 233 1/9/2021
3.0.0-nightly-2020-12-12-fb... 228 12/12/2020
3.0.0-nightly-2020-11-12-83... 294 11/12/2020
3.0.0-nightly-2020-11-06-70... 377 11/6/2020
3.0.0-nightly-2020-11-01-70... 368 11/1/2020
3.0.0-nightly-2020-10-08-de... 428 10/8/2020
3.0.0-nightly-2020-10-03-de... 303 10/3/2020
3.0.0-nightly-2020-10-02-de... 328 10/2/2020
3.0.0-nightly-2020-09-19-de... 326 9/19/2020
3.0.0-nightly-2020-09-16-de... 397 9/16/2020
3.0.0-nightly-2020-09-15-de... 366 9/15/2020
3.0.0-nightly-2020-09-02-2a... 393 9/2/2020
3.0.0-nightly-2020-09-01-ce... 353 9/1/2020