GitHub repository analytics from your terminal
Project description
RepoScan
GitHub repository analytics from your terminal. Analyze any public repo in seconds — commit patterns, contributor stats, language breakdown, file hotspots, and a health score, all in a clean terminal UI.
Install
pip install reposcan
Quick Start
# Full analysis of any public repo
reposcan analyze torvalds/linux
# Just the overview
reposcan overview facebook/react
# Health score only
reposcan health golang/go
# Compare multiple repos side by side
reposcan compare "pallets/flask,django/django,fastapi/tiangolo"
Commands
| Command | Description |
|---|---|
reposcan analyze <repo> |
Full repository report |
reposcan overview <repo> |
Basic repo info (stars, forks, license, etc.) |
reposcan commits <repo> |
Commit activity breakdown (by day, hour, author) |
reposcan health <repo> |
Repository health score (0-100) |
reposcan churn <repo> |
File hotspots — most frequently changed files |
reposcan languages <repo> |
Language breakdown with percentages |
reposcan compare <repos> |
Side-by-side comparison of multiple repos |
reposcan rate-limit |
Check your GitHub API rate limit |
<repo> accepts both owner/repo format and full GitHub URLs.
Options
# Include file churn in full analysis (makes extra API calls)
reposcan analyze owner/repo --churn
# Get JSON output instead of tables
reposcan analyze owner/repo --json-output
# Use a GitHub token for higher rate limits
reposcan --token ghp_xxxx analyze owner/repo
# Or set it as an environment variable
export GITHUB_TOKEN=ghp_xxxx
What It Analyzes
Repository Overview
Stars, forks, watchers, open issues, license, topics, creation date, last push, and size.
Commit Activity
- Total commits analyzed
- Commits by day of week (with bar chart)
- Peak commit hours (UTC)
- Top committers
- Current commit streak
Health Score (0-100)
A weighted score based on:
- Has description (+15)
- Has license (+15)
- Has topics (+10)
- Recent activity within 30 days (+20) or 90 days (+10)
- Contributor count (+5 to +15)
- Star count (+5 to +15)
- Open issue ratio (+5 to +10)
File Churn / Hotspots
The most frequently modified files across recent commits — helps identify areas of high change that may need refactoring or extra test coverage.
Language Breakdown
Byte count and percentage for each language detected by GitHub.
Issue Statistics
Open vs closed counts, average close time, and most used labels.
Repo Comparison
Compare stars, forks, issues, language, health score, and last push date across multiple repos in one table.
GitHub API Rate Limits
Without a token, you get 60 requests/hour. With a token, you get 5,000 requests/hour.
Generate a personal access token at github.com/settings/tokens — no special scopes needed for public repos.
export GITHUB_TOKEN=ghp_your_token_here
Examples
# Analyze your own repo
reposcan analyze shazeus/reposcan
# Deep dive into commit patterns
reposcan commits rust-lang/rust
# Check if a dependency is well maintained
reposcan health some-org/some-library
# Compare web frameworks
reposcan compare "pallets/flask,django/django"
# Pipe JSON to other tools
reposcan analyze owner/repo --json-output | jq '.health.score'
Requirements
- Python 3.8+
- Works on Linux, macOS, and Windows
License
MIT
Project details
Release history Release notifications | RSS feed
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 reposcan-0.1.0.tar.gz.
File metadata
- Download URL: reposcan-0.1.0.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26ae76a92fcd77607f605c48b08f0b4fa6cc757a0cf93295d0980fb24688949f
|
|
| MD5 |
8d8d736d51646e97074af4c3d9192de1
|
|
| BLAKE2b-256 |
292989d9f0b4d4aeaad604f8fafcbf79761e2340fd00c35f65c5af9d20ae7661
|
File details
Details for the file reposcan-0.1.0-py3-none-any.whl.
File metadata
- Download URL: reposcan-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
630d20d54b4cfcd065db9f3d8d4744c6a2d98edbe1fb98ed4b7c4780df7de3ab
|
|
| MD5 |
7ac65053446890a0aed18779d77a6807
|
|
| BLAKE2b-256 |
c78bcd67807b445201c6e6d7bfed7594a088bd2956ead5652e93d69a745d2722
|