gh-score
GitHub Project Health Scorer — evaluate maturity, maintenance, community health and sustainability of any GitHub project, in your terminal.
gh-score turns raw GitHub signals (commit activity, contributors, releases, license, registries, sustainability) into a single traffic-light verdict: 🟢 green (safe to bet on), 🟠 orange (proceed with caution), 🔴 red (risky).
Usage
# Analyze a remote repository (no install needed)
uvx gh-score https://github.com/owner/repo
# Analyze the current directory (if it's a git clone)
uvx gh-score
# Or install it
pip install gh-score
gh-score https://github.com/owner/repo
Output formats
gh-score --format tui https://github.com/owner/repo # terminal dashboard (default)
gh-score --format markdown https://github.com/owner/repo # Markdown report
gh-score --format json https://github.com/owner/repo # structured JSON
Optional LLM analysis
The LLM is opt-in and never required. It extracts qualitative facts that cannot be derived from APIs or files (roadmap, commercial support, security policy, self-declared maintenance state) and produces a refined, complementary recommendation that weighs all indicators together.
export GH_SCORE_LLM_ENABLED=true
export GH_SCORE_LLM_BASE_URL="https://api.openai.com/v1" # any OpenAI-compatible API
export GH_SCORE_LLM_MODEL="gpt-4o-mini"
export GH_SCORE_LLM_API_KEY="sk-..."
gh-score https://github.com/owner/repo
Configuration
Set a GITHUB_TOKEN to raise API rate limits. LLM settings can also live
in a config.toml (see gh-score config). Everything stays optional:
the tool works fully offline with local clones and no token.
Library
from gh_score import analyze_repo
result = analyze_repo("https://github.com/owner/repo")
print(result.recommendation.level) # RecommendationLevel.GREEN
print(result.release_health.latest_version) # "v1.0.0"
print(result.contributors.bus_factor) # 3
License
GPL-3.0 — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gh_score-0.1.0.tar.gz.
File metadata
- Download URL: gh_score-0.1.0.tar.gz
- Upload date:
- Size: 60.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c75411310f9ec118039a6d78d79242e705ef1f0a026703d6acb4e9f2d15743e9
|
|
| MD5 |
7c8090520568256c275689ec07deb5f0
|
|
| BLAKE2b-256 |
c63e7fc8f88d7ddbb462228869c10ab2b2a6941fee2167f1a8aa0697acf52977
|
File details
Details for the file gh_score-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gh_score-0.1.0-py3-none-any.whl
- Upload date:
- Size: 72.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15571845e9b0964a7b64ef93105459507c0721c87725d24a434c8636d29579ff
|
|
| MD5 |
b3c545d35247cdf3bc90fe9648ecce7f
|
|
| BLAKE2b-256 |
a0b8c9aaca2588be7254eedebc22107c3b0daac7486fa8b56e6cfbe8659d9799
|