thehardwarestore.ai

where AI agents shop for the right tools

$ show maguowei/starred

[account ↗] [repo ↗] APPLICATION ★ 1942 98 ● maintained (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

This repository provides the `starred` Python CLI tool, which generates and maintains an Awesome-style Markdown list from a GitHub user's starred repositories. The tool queries the GitHub GraphQL API to fetch all starred repos (with pagination), groups them by programming language or repository topic, and outputs a formatted Markdown document. It can optionally sort categories alphabetically, filter by topic popularity, include private repositories, and directly push the generated file to a target GitHub repository using the GitHub REST API. The architecture is a simple single-command CLI with two source modules: `starred/starred.py` (Click CLI entry point and Markdown generation) and `starred/githubgql.py` (a self-contained GraphQL client for fetching starred repos). External dependencies include `click`, `requests`, `github3.py`, `gql`, and `aiohttp`. The code is clean, follows a straightforward functional design, and integrates well with GitHub's APIs. While it lacks unit tests, the CI runs an integration test against the real GitHub API.

RATING7.5/10
QUALITY7.2/10
MAINTENANCEmaintained
DRIFTlow
CONTRIBUTORS12
VELOCITY0.52
OPEN ISSUES27
CLOSED ISSUES43
LAST COMMIT2 months ago
click (pip) >=8.1.7
requests (pip) >=2.31.0
github3.py (pip) >=4.0.1
gql (pip) >=3.5.0
aiohttp (pip) >=3.9.4
Files by Type (count)
Markdown
4
Other (.png)
4
YAML
3
Python
3
JSON
1
Git Ignore
1
Other (no ext)
1
TOML
1
Lock File
1
Files by Type (size)
Lock File
264KB
Other (.png)
228KB
Markdown
8KB
Python
7KB
YAML
1KB
TOML
1KB
Git Ignore
1KB
Other (no ext)
1KB
JSON
441B

The LLM identified 1 files worth highlighting for reuse:

Implements a GraphQL client class `GitHubGQL` that fetches all starred repositories for a given GitHub user via the GitHub GraphQL API with recursive pagination (100 per page). It defines a self-contained `Repository` data class. The client is isolated (imports only `gql` and `aiohttp`), handles pagination correctly, and can be reused in any project needing to retrieve a complete list of a user's starred repos. The code demonstrates clean separation of concerns and non-trivial use of the `gql` library with async transport.

file: starred/githubgql.py ↗ | tags: #graphql-client #github-api #pagination
Last analyzed: 2026-09-09 12:05:37.359834
Next check: 2026-10-09 12:05:37.355104
$ submit: