Skip to content

Commit 4edad7f

Browse files
Update
1 parent 6dde3cb commit 4edad7f

17 files changed

Lines changed: 491 additions & 865 deletions

.gitignore

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
Data/ReceivedEvents/index.html
2-
Data/ReceivedEvents/sample.html
3-
.vscode/
4-
__pycache__
5-
test/
1+
__pycache__/
2+
.vscode
3+
received_events/
4+
*.html
-156 KB
Binary file not shown.
-121 KB
Binary file not shown.
-163 KB
Binary file not shown.

Data/Images/Logo.png

-103 KB
Binary file not shown.

Data/Images/Logo.psd

-242 KB
Binary file not shown.

Data/ReceivedEvents/index.html

Lines changed: 0 additions & 459 deletions
This file was deleted.

Data/ReceivedEvents/main.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

Data/ReceivedEvents/style.css

Lines changed: 0 additions & 62 deletions
This file was deleted.

README.md

Lines changed: 107 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,107 @@
1-
<p align="center">
2-
<img width="200px" height="200px" src="Data/Images/Logo.png" alt="Logo">
3-
</p>
4-
<h1 align="center">GitHubUserDataExtractor</h1>
5-
<p align="center">
6-
A Tool Which Gives Access To Some Information about any user on GitHub, directly on your Terminal Screen<br>
7-
For information on all the most recent upgrades and changes, read this <a href="changelog.md">changelog</a>.
8-
</p>
9-
10-
> (⁠ ⁠ꈍ⁠ᴗ⁠ꈍ⁠)
11-
>
12-
> git clone https://github.com/QuantumByteStudios/GitHubUserDataExtractor.git --depth=1
13-
14-
> [!IMPORTANT]
15-
> - GitHub feed viewing is now supported!
16-
> - The only visible events are Release, Create, Publish, Fork, and Star/Watch events.
17-
18-
# Runtime Screenshots
19-
20-
<p align="center">
21-
<img src="Data/Images/GitHubUserDataPreviewImg0.png" alt="Preview">
22-
</p>
23-
<!-- <img src="Data/Images/warning.png" alt="Preview"> -->
24-
<!--<img src="GitHubUserDataPreviewImgTermux.jpeg" alt="Preview">-->
25-
<br>
26-
27-
<b>Actual user feed: </b><br>
28-
29-
<p align="center">
30-
<img src="Data/Images/GitHubUserDataFeedPreviewImg.png" alt="Preview">
31-
</p>
32-
33-
<b>This is how you will see it: </b><br>
34-
35-
<p align="center">
36-
<img src="Data/Images/GitHubUserDataFeedRawPreviewImg.png" alt="Preview">
37-
</p>
38-
<br>
1+
# GitHubUserDataExtractor
2+
3+
**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.
4+
5+
## Features
6+
7+
- Retrieves a GitHub user's public profile and recent activity
8+
- Displays formatted JSON data in the terminal with color-coded output
9+
- Generates a dynamic HTML dashboard styled with Bootstrap
10+
- Embeds contribution graphs, language usage charts, and GitHub stats
11+
- Native HTML viewer support for Linux (PyWebView) and Windows (PyQt5)
12+
- Clean file structure with modular code organization
13+
14+
## Installation
15+
16+
Clone the repository and install dependencies:
17+
18+
```bash
19+
git clone https://github.com/QuantumByteStudios/GitHubUserDataExtractor.git
20+
cd GitHubUserDataExtractor
21+
pip install -r requirements.txt
22+
```
23+
24+
Ensure you are using Python 3.7 or higher.
25+
26+
## Usage
27+
28+
Run the application using:
29+
30+
```bash
31+
python src/main.py
32+
```
33+
34+
You will be prompted to enter a GitHub username. The tool will:
35+
36+
1. Fetch the user's public GitHub profile and display it in the terminal.
37+
2. Retrieve recent events like stars, forks, and releases.
38+
3. Generate an HTML report and open it in a native desktop viewer.
39+
4. Clean up temporary files after closing the viewer.
40+
41+
Runtime Screenshot
42+
43+
## Project Structure
44+
45+
```
46+
GitHubUserDataExtractor/
47+
48+
├── src/
49+
│ ├── cli/ # Terminal input/output logic
50+
│ ├── core/ # API and HTML generation logic
51+
│ └── ui/htmlviewers/ # Platform-specific GUI viewers
52+
53+
├── assets/
54+
│ └── templates/ # HTML/CSS/JS templates
55+
56+
├── tests/ # Unit tests
57+
├── requirements.txt
58+
├── README.md
59+
```
60+
61+
## Output
62+
63+
The tool creates a temporary HTML report (`index.html`) inside the `assets/output/` directory. This report includes:
64+
65+
- Recent GitHub events (filtered by event types)
66+
- Contribution graphs and language usage charts
67+
- Visual badges and statistics via third-party services
68+
69+
This file is opened in a native GUI window and then automatically cleared on exit.
70+
71+
## Use Cases
72+
73+
- Developers reviewing their own GitHub contributions and stats
74+
- Technical recruiters assessing candidate GitHub activity
75+
- Educators demonstrating API integration and data visualization
76+
- Hackathon teams building offline GitHub user snapshots
77+
78+
## Technologies
79+
80+
- Python 3
81+
- GitHub REST API
82+
- Requests (HTTP client)
83+
- Colorama (terminal color formatting)
84+
- PyQt5 (Windows HTML viewer)
85+
- PyWebView (Linux HTML viewer)
86+
- Bootstrap 5 (UI styling)
87+
- External visualization APIs:
88+
- GitHub Readme Stats
89+
- GitHub Streak Stats
90+
- GitHub Profile Summary Cards
91+
92+
## API Limitations
93+
94+
This tool uses unauthenticated GitHub API requests and is therefore subject to rate limiting:
95+
96+
- 60 requests per hour per IP address
97+
98+
To increase limits, you can optionally extend the tool to use a personal access token.
99+
100+
## License
101+
102+
This project is licensed under the MIT License. See `LICENSE.md` for details.
103+
104+
## Author
105+
106+
Developed by QuantumByteStudios. Contributions and suggestions are welcome.
107+
For inquiries, email us at [contact@quantumbytestudios.in](mailto:contact@quantumbytestudios.in).

0 commit comments

Comments
 (0)