An alternative implementation of GitHub Skyline that generates 3D models of your GitHub contribution history.
Transform your GitHub contributions into stunning 3D landscapes that you can 3D print, display, or share!
- 🎯 Faithful Design: Follows the original GitHub Skyline design (unlike the official CLI)
- 🖥️ Multiple Interfaces: GUI, CLI, and Python library support
- 📦 Cross-Platform: Works on Windows, macOS, and Linux
- 🎨 STL Export: Ready-to-print 3D models
- 🚀 Easy Installation: Simple pip install or standalone binaries
pip install github-skyline
GUI Mode:
python -m github_skyline
CLI Mode:
python -m github_skyline --help
python -m github_skyline -u your-username -y 2024
-
Install the package:
pip install github-skyline
-
Launch GUI:
python -m github_skyline
-
Or use CLI:
python -m github_skyline -u your-username -y 2024
-
Download: Go to Releases and download the appropriate binary for your system:
-
Extract the downloaded archive
-
Run the application:
Windows:
- Double-click
skyline-wizard.exe
macOS/Linux:
./skyline-wizard.bin
- Double-click
-
Clone the repository:
git clone https://github.com/doctorixx/github-skyline.git cd github-skyline
-
Install dependencies:
pip install -r requirements.txt
-
Edit configuration in
github-stats.py
:from core import process_github_stats if __name__ == '__main__': username = "your-username" # Replace with your GitHub username year = "2024" # Replace with desired year filename = f"{username}-{year}.stl" process_github_stats(username, year, filename)
-
Run the script:
python github-stats.py
-
Find your STL file in the project root directory:
Option | Description | Example |
---|---|---|
-u, --username |
GitHub username | -u doctorixx |
-y, --year |
Year to generate | -y 2024 |
-o, --output |
Output filename | -o my-skyline.stl |
-h, --help |
Show help message | --help |
# Generate skyline for user 'doctorixx' for 2024
python -m github_skyline -u doctorixx -y 2024
# Custom output filename
python -m github_skyline -u doctorixx -y 2024 -o my-contributions.stl
Platform | x64 | ARM64 | Status |
---|---|---|---|
Windows | ✅ | ❔ | Tested |
Linux | ✅ | ❌ | Tested |
macOS | ❔ | ❔ | Untested |
Legend:
- ✅ Fully supported and tested
- ❔ Should work but not extensively tested
- ❌ Not supported
Note: Python package works correctly on all platforms. Compatibility table refers to standalone binaries.
Official CLI Differences: While GitHub has released an official CLI tool, it uses a different design. This project maintains compatibility with the original GitHub Skyline website design.
Antivirus Warning: Some antivirus software may flag standalone binaries as suspicious. This is a false positive common with PyInstaller-generated executables. The Python package installation is recommended for security-conscious users.
Development builds are available through GitHub Actions.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
# Install build dependencies
pip install -r requirements-dev.txt
# Build standalone executable
pyinstaller --onefile github-stats.py
This project is licensed under the MIT License - see the LICENSE file for details.
- 🐛 Bug Reports: Open an issue
- 💡 Feature Requests: Start a discussion
- 📧 Questions: Check existing issues or start a new discussion
Share your GitHub Skylines! Tag us or open a discussion to show off your 3D printed contributions.
Made with ❤️ by the community | Star ⭐ this repo if you find it useful!