|
1 |
| -# KaggleAPI-NET |
| 1 | +<h1 align="center"> |
| 2 | + <p align="center">KaggleAPI-NET</p> |
| 3 | + <a href="https://github.com/PetterPet01/KaggleAPI-NET/"> |
| 4 | + <img |
| 5 | + width="128" |
| 6 | + src="https://user-images.githubusercontent.com/62211291/220047334-0b6a021c-bdfc-4197-a4be-de20c60efeab.svg" |
| 7 | + alt="KaggleAPI-NET"> |
| 8 | + </a> |
| 9 | +</h1> |
| 10 | + |
| 11 | +KaggleAPI-NET provides an easy to use .NET Standard API client for [Kaggle API](https://github.com/Kaggle/kaggle-api). It aims to expose the complete Kaggle API in native C#, which allows .NET developers to programmatically interact with available Kaggle API services using the cross-platform .NET Standard specification. |
| 12 | + |
| 13 | +KaggleAPI-NET is [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0)-licensed, so personal and commmercial use alike is allowed. For further details, see the [LICENSE](LICENSE) file. |
| 14 | + |
| 15 | +### Features |
| 16 | + |
| 17 | + |
| 18 | +* ✅ Typed responses and requests to over 24 endpoints. Complete and always up to date. |
| 19 | +* ✅ Supports `.NET Standard 2.X`, which includes all major platforms, including mobile: |
| 20 | + * `.NET Framework` |
| 21 | + * `UWP` |
| 22 | + * `.NET Core` |
| 23 | + * `Xamarin.Forms` |
| 24 | +* ✅ Allow full control of one's `HttpClient`, thereby maximizing flexibility |
| 25 | +* ✅ Logging supported |
| 26 | +* ✅ All features from Kaggle API reimplemented for ease of development |
| 27 | +* ✅ Complete unit testing for all functionalities <sup>*\*Not well-developed yet\**</sup> |
| 28 | + |
| 29 | +### Target |
| 30 | + |
| 31 | +`.NET Standard 2.0` |
| 32 | + |
| 33 | +### Get KaggleAPI-NET |
| 34 | + |
| 35 | +For ease of installation, you can add the lastest release of KaggleAPI-NET into your project using [Nuget](https://www.nuget.org/packages/KaggleAPI.Web/) |
| 36 | + |
| 37 | +### Usage |
| 38 | + |
| 39 | +* Include the library |
| 40 | +```cs |
| 41 | +using KaggleAPI.Web; |
| 42 | +using KaggleAPI.Web.Models; |
| 43 | +``` |
| 44 | +* Create a new client |
| 45 | +```cs |
| 46 | +KaggleClient kaggle = new KaggleClient(); |
| 47 | +``` |
| 48 | +* Provide the client credentials for authentication |
| 49 | +```cs |
| 50 | +kaggle.Authenticate( |
| 51 | + new KaggleConfiguration { username = "YourUsername", key = "YourKey" }, |
| 52 | + method: AuthenticationMethod.Direct |
| 53 | +); |
| 54 | +``` |
| 55 | +* Make a request to list all Kaggle competitions given below queries |
| 56 | +```cs |
| 57 | +List<CompetitionInquiry>? result = await kaggle.CompetitionsList(search: "searchTerm"); |
| 58 | +``` |
| 59 | +* Print the titles of all competitions found |
| 60 | +```cs |
| 61 | +foreach (CompetitionInquiry competition in result) |
| 62 | + Console.WriteLine(competition.title); |
| 63 | +``` |
| 64 | +* Finally, dispose the client |
| 65 | +#### Note that this disposes all copy of the credentials, and not the HttpClient. |
| 66 | +```cs |
| 67 | +kaggle.Dispose() |
| 68 | +``` |
| 69 | + |
| 70 | +More examples can be found on the website and in the KaggleAPI.Tests directory. |
| 71 | + |
| 72 | +### Docs and Usage |
| 73 | + |
| 74 | +More Information, Installation-Instructions, Examples, Guides can be found at [petterpet01.github.io/KaggleAPI-NET/](https://petterpet01.github.io/KaggleAPI-NET/) |
| 75 | + |
| 76 | +### Installation |
| 77 | + |
| 78 | +Installation Instructions can be found in the [Getting Started Guide](https://petterpet01.github.io/KaggleAPI-NET/docs/getting_started) |
| 79 | + |
| 80 | +### Donations |
| 81 | + |
| 82 | +If you want to support this project or my work in general, you can send me supportive messages and donate a buck or two. |
0 commit comments