Skip to content

Commit 78e9638

Browse files
authored
Update README.md
1 parent d1f032d commit 78e9638

File tree

1 file changed

+82
-1
lines changed

1 file changed

+82
-1
lines changed

README.md

+82-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,82 @@
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

Comments
 (0)