Skip to main content

GitHub repository health analyzer — scores repos 0-100 across commit momentum, bus factor, issue resolution, PR latency, and release cadence

Project description

GitHub Repository Analyzer

A command-line tool that analyzes GitHub repository health across commits, issues, pull requests, and releases.

Installation

git clone https://github.com/Alir3zag/gh-analyzer.git cd gh-analyzer python -m venv venv venv\Scripts\activate pip install -r requirements.txt

Authentication

Set a GitHub Personal Access Token to raise the rate limit from 60 to 5,000 requests/hour:

export GITHUB_TOKEN=your_token_here

Without a token the tool still works but is limited to 60 requests/hour.

Usage

python -m gh_analyzer.main OWNER/REPO [options]

Options

Flag Default Description
--since DAYS 30 How many days back to analyze
--limit N 100 Maximum number of results to fetch
--format text Output format: text or json
--token TOKEN GitHub token (overrides GITHUB_TOKEN)
--no-token Force unauthenticated mode
--validate-token Validate token before running
--verbose Enable debug logging

Examples

python -m gh_analyzer.main psf/requests python -m gh_analyzer.main psf/requests --since 90 python -m gh_analyzer.main psf/requests --token ghp_xxx

Project Structure

gh-analyzer/ ├── gh_analyzer/ │ ├── init.py │ ├── main.py # Entry point and fetch orchestration │ ├── cli.py # Argument parsing │ ├── github_api.py # Async GitHub API client │ ├── models.py # Domain models │ ├── exceptions.py # Structured error types │ ├── reporter.py # Rich terminal output │ ├── analytics.py # Health scoring │ └── cache.py # Response caching ├── requirements.txt ├── .gitignore └── README.md

API Client

  • Async requests via aiohttp with semaphore-based concurrency control
  • Automatic retry with exponential backoff and jitter
  • Primary and secondary rate limit detection and backoff
  • Structured exceptions for all failure modes
  • Pagination across all list endpoints

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gh_analyzer-0.1.0.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gh_analyzer-0.1.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file gh_analyzer-0.1.0.tar.gz.

File metadata

  • Download URL: gh_analyzer-0.1.0.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.13.5 Windows/11

File hashes

Hashes for gh_analyzer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3fb10bbb8848bfb4a55d94a1bcbf5a07d0d53522a64f31288444d67818ea90d9
MD5 9170d268c9a9e000bfdb8d5fa98f6693
BLAKE2b-256 4b3e14cd71190cd62af1fd65425770467c9fd843aa46909ac8a899fa09c623e4

See more details on using hashes here.

File details

Details for the file gh_analyzer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gh_analyzer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.13.5 Windows/11

File hashes

Hashes for gh_analyzer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e72296c86c737cb7e889982b7d1bbad66ba29686a0e74e9eb0c94bc29013b22a
MD5 222be6d4a527a69e43bcef1b850371d8
BLAKE2b-256 20f8c4d23ac0cd14f7b32053cd6bbb9de73b3a324f5dfc7aa63f718ec2cbde37

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page