A modern GUI application that analyzes GitHub repositories and provides comprehensive insights using the GitHub API.
- User-friendly graphical interface
- Two analysis modes:
- Single Repository Analysis (via URL)
- Batch Analysis (via Excel, PDF, or Word files)
- Detailed repository insights including:
- Basic repository information (stars, forks, watchers)
- Top contributors and their contributions
- Language breakdown with percentages
- Repository creation and last update dates
- License information
- Commit statistics
- Export analysis results
- Real-time progress updates
- Error handling and user feedback
- Install Docker and Docker Compose
- Build and run the application:
docker-compose up --build- Install the required dependencies:
pip install -r requirements_gui.txt- Build and run the container:
docker-compose up --build- Open your browser and go to: http://localhost:8501
- The Streamlit web interface will let you analyze single GitHub repo links or upload Excel, PDF, or DOCX files containing multiple repo URLs.
- Install the required dependencies:
pip install -r requirements_gui.txt- To run the classic desktop GUI (Tkinter):
python github_analyzer_gui.py- To run the web interface locally (Streamlit):
streamlit run github_analyzer_web.py- Use the interface to:
- Analyze a single GitHub repository URL
- Upload a file (Excel, PDF, DOCX) with multiple repo URLs
- View and copy/export results
- Python 3.7+
- Docker (for containerized web interface)
- GitHub API rate limits apply (60 requests per hour for unauthenticated requests)
For higher API rate limits, consider:
- Creating a GitHub Personal Access Token
- Adding it to a
.envfile with the keyGITHUB_TOKEN - The tool will automatically use this token if available
- Excel (.xlsx)
- PDF (.pdf)
- Word (.docx)
github_analyzer.py: Core logic for fetching and analyzing GitHub repository datagithub_insights.py: Additional insights and formatting for repositoriesgithub_analyzer_gui.py: Tkinter-based desktop GUIgithub_analyzer_web.py: Streamlit-based web interface (recommended)Dockerfile,docker-compose.yml: For containerized deploymentrequirements.txt,requirements_gui.txt: Dependency management
- The web interface is the recommended way to use this tool, especially in Docker.
- For Docker, always access the app at http://localhost:8501.
- Both GUI and web versions support robust error handling and batch analysis from files.