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).
When a repository declares a homepage, gh-score also checks that the
application's web page is actually reachable — DNS resolution, timeouts,
HTTP status (redirects followed) — and flags pages hidden behind a
bot-protection check ("I'm not a robot"). A dead homepage is a red flag
for the verdict.
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
Screenshot
License
GPL-3.0 — see LICENSE.
Metadata
Release files for gh-score 0.10.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gh_score-0.10.4.tar.gz | 75.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gh_score-0.10.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 164.2 kB
Release files / gh_score-0.10.4.tar.gz
| Download URL | gh_score-0.10.4.tar.gz |
|---|---|
| Size | 75.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b85a08951996483f7d19ff4276e15b55a751b154f8bd37685730662dcbd035a1
|
|
BLAKE2b-256 checksum How to use checksums |
710e3a9818e6d28ce0ddb851c2667b166088bf89fce1278f6546db7dfb2f21f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / gh_score-0.10.4-py3-none-any.whl
| Download URL | gh_score-0.10.4-py3-none-any.whl |
|---|---|
| Size | 89.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
76c22b03b5ff25db33e926af58b3f0e62b2c321404d241f45230c2a0ba34409b
|
|
BLAKE2b-256 checksum How to use checksums |
8f8d5e9c453d2475a371195044dc98524d971478a0aeebb4605af4b3474b9aeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|