Skip to content
erqurenPublic

About

A GitHub commit analyzer that fetches commit history and visualizes cumulative commits over time.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

git-pluse

A GitHub commit analyzer that fetches commit history and visualizes cumulative commits over time.

Installation

pip install git-pluse

Usage

Basic usage - generate JSON output

git-pluse https://github.com/owner/repo

This will create a JSON file named repo.json containing detailed commit records organized by date.

Generate visualization

git-pluse https://github.com/owner/repo show

This will create both a JSON file (repo.json) and a PNG chart (repo.png) showing cumulative commits.

Token set to avoid rate limiting

git-pluse --token <your_github_token> https://github.com/owner/repo show

This will use the provided GitHub token for authenticated requests, which is useful for repositories with a large number of commits.

Features

  • Fetches all commits from a GitHub repository
  • Generates JSON output with commit details (user, message, sha, time) organized by date
  • Visualizes cumulative commits over time with line chart
  • Dynamic tick intervals based on actual project duration:
    • ≤ 30 days: daily ticks
    • ≤ 90 days: weekly ticks
    • ≤ 365 days: monthly ticks
    • ≤ 730 days: bi-monthly ticks
    • > 730 days: quarterly ticks

JSON Output Format

{
  "repo": "owner/repo",
  "url": "https://github.com/owner/repo",
  "total_commits": 1234,
  "commits_by_date": {
    "2024-01-01": [
      {
        "user": "John Doe",
        "message": "Initial commit",
        "sha": "abc123...",
        "time": "2024-01-01T12:00:00Z"
      }
    ]
  },
  "first_commit_date": "2024-01-01",
  "last_commit_date": "2024-12-31"
}

Chart Features

  • X-axis: Date
  • Y-axis: Cumulative commit count
  • Dynamic tick intervals based on project duration
  • Clean line chart with data point markers
  • Area fill for better visualization

Requirements

  • Python 3.7+
  • requests
  • matplotlib

License

MIT License

About

A GitHub commit analyzer that fetches commit history and visualizes cumulative commits over time.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages