{"id":21610782,"url":"https://github.com/liebki/githubnet","last_synced_at":"2026-05-20T19:03:40.183Z","repository":{"id":164743169,"uuid":"640181880","full_name":"liebki/GithubNet","owner":"liebki","description":"This library allows you to retrieve several things from GitHub, things like trending repositories, profiles of users, the repositories of users and related information.","archived":false,"fork":false,"pushed_at":"2023-12-14T01:28:55.000Z","size":50,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T19:47:35.399Z","etag":null,"topics":["crawler","crawling","github","github-trending","htmlagilitypack","microsoft"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/GithubDataNet","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liebki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-05-13T08:50:32.000Z","updated_at":"2024-12-30T14:44:38.000Z","dependencies_parsed_at":"2023-12-03T13:48:54.782Z","dependency_job_id":null,"html_url":"https://github.com/liebki/GithubNet","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liebki%2FGithubNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liebki%2FGithubNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liebki%2FGithubNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liebki%2FGithubNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liebki","download_url":"https://codeload.github.com/liebki/GithubNet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244257279,"owners_count":20424130,"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":["crawler","crawling","github","github-trending","htmlagilitypack","microsoft"],"created_at":"2024-11-24T21:09:36.475Z","updated_at":"2026-05-20T19:03:35.144Z","avatar_url":"https://github.com/liebki.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# GithubNet\n\n\n## Introduction\n\nGithub(Data)Net is a simple C# library, using HtmlAgilityPack to retrieve several things from GitHub, things like trending repositories, profiles of users, the repositories of users and related information.\n\n\n## Features ⭐\n\n- **Trending Repositories:** Retrieve trending repositories.\n- **Repository Details:** Obtain detailed information about repositories.\n- **User Profiles:** Access full and light GitHub user profiles.\n- **User Repositories:** Retrieve repositories associated with a GitHub user.\n- **Topic URL:** Obtain the GitHub URL for a specific topic.\n\n\n## Usage 🔧\n\n\n### General\n\nThe GithubNetClient needs to be used to access all functionalities:\n\n```csharp\nGithubNetClient client = new();\n```\n\n\n### Trending Repositories\n\n```csharp\nIEnumerable\u003cTrendRepository\u003e GetAllTrendingRepositories(string customQuery = \"https://github.com/trending\");\nIEnumerable\u003cstring\u003e GetUrlsOfTrendingRepositories(string customQuery = \"https://github.com/trending\");\nIEnumerable\u003cFullRepository\u003e GetFullTrendingRepositories(string customQuery = \"https://github.com/trending\");\n```\n\n\n### User Profiles\n\n```csharp\nFullUserprofile GetFullUserprofile(string Username);\nLightUserprofile GetLightUserprofile(string Username);\n```\n\n\n### Full Repositories\n\n```csharp\nIEnumerable\u003cFullRepository\u003e GetFullRepositories(string Username);\nFullRepository GetFullRepository(string RepositoryUrl);\n```\n\n\n### LightUserprofile, UserRepositories and TopValues of User\n\n```csharp\n(LightUserprofile Userprofile, IEnumerable\u003cUserRepository\u003e UserRepositories, TopValues topValues) GetLightUserprofileWithRepositories(string Username);\n```\n\n\n### Utils\n\n```csharp\nstring GetTopicUrlFromTopicName(string topicName);\n```\n\n\n## Types 🔖\n\n- **FullUserprofile:** Represents a comprehensive user profile with additional information such as last year's contributions count and whether the user has a special readme enabled. This type is based on `LightUserprofile`.\n\n- **LightUserprofile:** Represents a lightweight user profile with essential information like username, name, description, etc.\n\n- **UserRepository:** Represents a user's repository with additional details like whether it's a fork, license text, and last update information. This type is based on `RepositoryBase`.\n\n- **TrendRepository:** Represents a trending repository with information about stars received today, main language, total stars, total forks, etc. This type is based on `RepositoryBase`.\n\n- **RepositoryBase:** Base class for repositories, containing shared information like main language, total stars, total forks, username, repository name, and description.\n\n- **FullRepository:** Represents a comprehensive repository with additional details such as project URL, open issues count, open pull requests count, total commits count, etc. This type is based on `RepositoryBase`.\n\n- **TopValues:** Contains top values such as the top language, total stars count, and total forks count across user repositories.\n\n\n## Example ✍🏻\n\nFor a demonstration of the library's functionality, refer to the included `GithubNetDemo` project.\n\n\n## To-Do\n\n- Crawl every repository from a user, currently only the first page is crawled so these are not all repositories of a user.\n\n\n## License 📜\n\nGithubNet is licensed under the GNU General Public License v3.0.\n\nYou can read the full license details of the GNU General Public License v3.0 [here](https://choosealicense.com/licenses/gpl-3.0/).\n\n\n## Disclaimer ⚠️\n\nPlease read the full disclaimer in the DISCLAIMER.md file before using this project. \nThe author (liebki) of the project and the project itself are not endorsed by Microsoft and do not reflect the views or opinions of Microsoft or any individuals officially involved with the project.\nThe author of this library is not responsible for any incorrect or inappropriate usage. Please ensure that you use this library in accordance with its intended purpose and guidelines.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliebki%2Fgithubnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliebki%2Fgithubnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliebki%2Fgithubnet/lists"}