githubanalysis


Namegithubanalysis JSON
Version 0.1.7 PyPI version JSON
download
home_pageNone
SummaryA powerful tool for analyzing Git repositories using LLM-powered insights
upload_time2025-08-25 15:33:34
maintainerNone
docs_urlNone
authorRimon
requires_python>=3.7
licenseNone
keywords git analysis repository llm openai gpt commit log analysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GitHub Analysis Tool

A powerful tool for analyzing Git repositories using LLM-powered insights. This tool provides detailed analysis of repository patterns, milestones, technical challenges, team dynamics, and more.

## What's New

- The report now always includes at least **three technical challenges** identified and described in detail.
- **All commits** (hash, author, message) are exported to a separate Excel file (`.xlsx`) alongside the main report.
- **Commit references** in the technical challenges section are now clickable URLs, allowing you to directly view the referenced commit on GitHub/GitLab.
- The **default report format is now Markdown** (if `--format` is not specified).

### Latest Version Improvements

- **Challenges in Time Order**: Technical challenges now follow chronological order by commit dates.
- **More Robust Challenge Finder**: Uses major code changes (top 10 commits by insertions) for better challenge detection.
- **Numbered Issues**: Each challenge is numbered (Issue 1, Issue 2, Issue 3, etc.).
- **More Excel Fields**: Added insertions, deletions, files changed, and commit reasons columns.
- **Enhanced Code Analysis**: Better detection of API changes, dependencies, and code patterns.

## Installation

```bash
pip install githubanalysis
```

## Usage

### Basic Analysis

```bash
githubanalysis https://github.com/username/repo.git
```

### Analysis with Date Range

```bash
githubanalysis https://github.com/username/repo.git \
    --start-date 2023-01-01 \
    --end-date 2024-03-20
```

### OpenAI API Key Configuration

You can provide your OpenAI API key in three ways:

1. Command line argument:
```bash
githubanalysis https://github.com/username/repo.git --openai-key your-api-key
```

2. Environment variable:
```bash
export OPENAI_API_KEY=your-api-key
githubanalysis https://github.com/username/repo.git
```

3. .env file:
Create a `.env` file in your working directory:
```
OPENAI_API_KEY=your-api-key
```

### Custom Prompts

You can customize the analysis prompts by providing a JSON file:

```bash
githubanalysis https://github.com/username/repo.git \
    --custom-prompts path/to/prompts.json
```

### Advanced Options

```bash
githubanalysis https://github.com/username/repo.git \
    --start-date 2023-01-01 \
    --end-date 2024-03-20 \
    --format markdown \
    --output-dir custom_reports \
    --openai-key your-api-key \
    --model gpt-4 \
    --custom-prompts path/to/prompts.json
```

## Output

The tool generates:

- A comprehensive report in Markdown (default) or JSON format, including:
  - Key technical challenges (minimum three, with detailed analysis)
  - Milestones
  - Team and contributor analysis
  - Code and commit statistics
  - Clickable commit links for easy navigation
- An **Excel file** with all commit hashes, authors, messages, insertions, deletions, files changed, and reasons for referenced commits.

Reports and Excel files are saved in the specified output directory (default: `reports/`).

## Requirements

- Python 3.7+
- Git
- OpenAI API key (for LLM analysis)

## Dependencies

- gitpython
- openai
- python-dotenv
- argparse
- tqdm
- markdown
- pandas
- openpyxl
- matplotlib
- seaborn
- scikit-learn
- numpy
- nltk
- requests
- tiktoken

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "githubanalysis",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "git, analysis, repository, llm, openai, gpt, commit, log, analysis",
    "author": "Rimon",
    "author_email": "info@rimon.com.au",
    "download_url": "https://files.pythonhosted.org/packages/70/1c/178ee11282e9375ab6bded0d44d93b707969bfc58fe07e08507f2b461388/githubanalysis-0.1.7.tar.gz",
    "platform": null,
    "description": "# GitHub Analysis Tool\n\nA powerful tool for analyzing Git repositories using LLM-powered insights. This tool provides detailed analysis of repository patterns, milestones, technical challenges, team dynamics, and more.\n\n## What's New\n\n- The report now always includes at least **three technical challenges** identified and described in detail.\n- **All commits** (hash, author, message) are exported to a separate Excel file (`.xlsx`) alongside the main report.\n- **Commit references** in the technical challenges section are now clickable URLs, allowing you to directly view the referenced commit on GitHub/GitLab.\n- The **default report format is now Markdown** (if `--format` is not specified).\n\n### Latest Version Improvements\n\n- **Challenges in Time Order**: Technical challenges now follow chronological order by commit dates.\n- **More Robust Challenge Finder**: Uses major code changes (top 10 commits by insertions) for better challenge detection.\n- **Numbered Issues**: Each challenge is numbered (Issue 1, Issue 2, Issue 3, etc.).\n- **More Excel Fields**: Added insertions, deletions, files changed, and commit reasons columns.\n- **Enhanced Code Analysis**: Better detection of API changes, dependencies, and code patterns.\n\n## Installation\n\n```bash\npip install githubanalysis\n```\n\n## Usage\n\n### Basic Analysis\n\n```bash\ngithubanalysis https://github.com/username/repo.git\n```\n\n### Analysis with Date Range\n\n```bash\ngithubanalysis https://github.com/username/repo.git \\\n    --start-date 2023-01-01 \\\n    --end-date 2024-03-20\n```\n\n### OpenAI API Key Configuration\n\nYou can provide your OpenAI API key in three ways:\n\n1. Command line argument:\n```bash\ngithubanalysis https://github.com/username/repo.git --openai-key your-api-key\n```\n\n2. Environment variable:\n```bash\nexport OPENAI_API_KEY=your-api-key\ngithubanalysis https://github.com/username/repo.git\n```\n\n3. .env file:\nCreate a `.env` file in your working directory:\n```\nOPENAI_API_KEY=your-api-key\n```\n\n### Custom Prompts\n\nYou can customize the analysis prompts by providing a JSON file:\n\n```bash\ngithubanalysis https://github.com/username/repo.git \\\n    --custom-prompts path/to/prompts.json\n```\n\n### Advanced Options\n\n```bash\ngithubanalysis https://github.com/username/repo.git \\\n    --start-date 2023-01-01 \\\n    --end-date 2024-03-20 \\\n    --format markdown \\\n    --output-dir custom_reports \\\n    --openai-key your-api-key \\\n    --model gpt-4 \\\n    --custom-prompts path/to/prompts.json\n```\n\n## Output\n\nThe tool generates:\n\n- A comprehensive report in Markdown (default) or JSON format, including:\n  - Key technical challenges (minimum three, with detailed analysis)\n  - Milestones\n  - Team and contributor analysis\n  - Code and commit statistics\n  - Clickable commit links for easy navigation\n- An **Excel file** with all commit hashes, authors, messages, insertions, deletions, files changed, and reasons for referenced commits.\n\nReports and Excel files are saved in the specified output directory (default: `reports/`).\n\n## Requirements\n\n- Python 3.7+\n- Git\n- OpenAI API key (for LLM analysis)\n\n## Dependencies\n\n- gitpython\n- openai\n- python-dotenv\n- argparse\n- tqdm\n- markdown\n- pandas\n- openpyxl\n- matplotlib\n- seaborn\n- scikit-learn\n- numpy\n- nltk\n- requests\n- tiktoken\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A powerful tool for analyzing Git repositories using LLM-powered insights",
    "version": "0.1.7",
    "project_urls": null,
    "split_keywords": [
        "git",
        " analysis",
        " repository",
        " llm",
        " openai",
        " gpt",
        " commit",
        " log",
        " analysis"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ef9e1d8117a07edd7bb3492ef662e48f24a640d6c4cdde0fe087cc4c5daa0173",
                "md5": "14d07c4b35021c833c2824801812b9e3",
                "sha256": "8ceee19c15f49ab9e194d8576a851f490b5d3632c521d78f6c556a6a2a25df88"
            },
            "downloads": -1,
            "filename": "githubanalysis-0.1.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "14d07c4b35021c833c2824801812b9e3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 29803,
            "upload_time": "2025-08-25T15:33:33",
            "upload_time_iso_8601": "2025-08-25T15:33:33.828138Z",
            "url": "https://files.pythonhosted.org/packages/ef/9e/1d8117a07edd7bb3492ef662e48f24a640d6c4cdde0fe087cc4c5daa0173/githubanalysis-0.1.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "701c178ee11282e9375ab6bded0d44d93b707969bfc58fe07e08507f2b461388",
                "md5": "5b9b5ab402f2817b4434516b66a223ce",
                "sha256": "bd44efbae7936439930587d938a57b9c90f183db9cba0d55bd4e60f8419f8d5b"
            },
            "downloads": -1,
            "filename": "githubanalysis-0.1.7.tar.gz",
            "has_sig": false,
            "md5_digest": "5b9b5ab402f2817b4434516b66a223ce",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 25604,
            "upload_time": "2025-08-25T15:33:34",
            "upload_time_iso_8601": "2025-08-25T15:33:34.888870Z",
            "url": "https://files.pythonhosted.org/packages/70/1c/178ee11282e9375ab6bded0d44d93b707969bfc58fe07e08507f2b461388/githubanalysis-0.1.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-25 15:33:34",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "githubanalysis"
}
        
Elapsed time: 1.77311s