GitHubUserDataExtractor is a cross-platform Python tool designed to extract and display public GitHub user data both in the terminal and through a visual HTML dashboard. It provides a streamlined way to fetch a user’s profile, recent activity, and contribution statistics using GitHub’s REST API and external visualization services.
- Retrieves a GitHub user's public profile and recent activity
- Displays formatted JSON data in the terminal with color-coded output
- Generates a dynamic HTML dashboard styled with Bootstrap
- Embeds contribution graphs, language usage charts, and GitHub stats
- Native HTML viewer support for Linux (PyWebView) and Windows (PyQt5)
- Clean file structure with modular code organization
Clone the repository and install dependencies:
git clone https://github.com/QuantumByteStudios/GitHubUserDataExtractor.git
cd GitHubUserDataExtractor
pip install -r requirements.txt
Ensure you are using Python 3.7 or higher.
Run the application using:
python src/main.py
You will be prompted to enter a GitHub username. The tool will:
- Fetch the user's public GitHub profile and display it in the terminal.
- Retrieve recent events like stars, forks, and releases.
- Generate an HTML report and open it in a native desktop viewer.
- Clean up temporary files after closing the viewer.
GitHubUserDataExtractor/
│
├── .temp/ # Temporary files (auto-cleaned)
├── .vscode/ # VS Code workspace settings
├── src/ # Source code directory
| ├── main.py # Main.py
│ ├── core/ # API and utility logic
│ │ └── utils.py # Helper functions for API and data processing
│ ├── htmlviewers/ # Platform-specific GUI viewers
│ │ ├── linux.py # HTML viewer for Linux (PyWebView)
│ │ └── windows.py # HTML viewer for Windows (PyQt5)
│
├── .gitignore # Git ignore rules
├── LICENSE.md # License information
├── README.md # Project documentation
├── requirements.txt # Python dependencies
The tool creates a temporary HTML report (index.html
) inside the .temp/
directory. This report includes:
- Recent GitHub events (filtered by event types)
- Contribution graphs and language usage charts
- Visual badges and statistics via third-party services
This file is opened in a native GUI window and then automatically cleared on exit.
- Developers reviewing their own GitHub contributions and stats
- Technical recruiters assessing candidate GitHub activity
- Educators demonstrating API integration and data visualization
- Hackathon teams building offline GitHub user snapshots
- Python 3
- GitHub REST API
- Requests (HTTP client)
- Colorama (terminal color formatting)
- PyQt5 (Windows HTML viewer)
- PyWebView (Linux HTML viewer)
- Bootstrap 5 (UI styling)
- External visualization APIs:
- GitHub Readme Stats
- GitHub Streak Stats
- GitHub Profile Summary Cards
This tool uses unauthenticated GitHub API requests and is therefore subject to rate limiting:
- 60 requests per hour per IP address
To increase limits, you can optionally extend the tool to use a personal access token.
This project is licensed under the MIT License. See LICENSE.md
for details.
Developed by QuantumByteStudios. Contributions and suggestions are welcome.
For inquiries, email us at [email protected].