# 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"
}