A user-friendly graphical interface for Gource, the software version control visualization tool.
- Easy Repository Selection: Browse and select Git repositories with a simple file dialog
- Visual Settings Panel: Configure Gource visualization options through an intuitive interface
- Repository Analysis: View repository information including commit count, contributors, and programming languages
- Command Preview: See the generated Gource command before running
- Video Export: Export visualizations directly to MP4/MOV video files
- Recent Repositories: Quick access to recently opened repositories
- Cross-Platform: Works on macOS, Linux, and Windows
-
Gource must be installed and accessible in your PATH
- macOS:
brew install gource - Linux:
sudo apt-get install gource(Ubuntu/Debian) or equivalent - Windows: Download from gource.io
- macOS:
-
Python 3.7+ with tkinter support (usually included)
-
FFmpeg (optional, for video export)
- macOS:
brew install ffmpeg - Linux:
sudo apt-get install ffmpeg - Windows: Download from ffmpeg.org
- macOS:
-
Clone the repository:
git clone https://github.com/tkosin/Gource-GUI.git cd Gource-GUI -
Install (one-time setup):
🖥️ GUI Installer (Recommended):
Windows: Double-click
gui_install.bat
macOS/Linux: Double-clickgui_install.shOr run in terminal:
./gui_install.sh # macOS/Linux gui_install.bat # Windows
-
Launch Gource GUI:
🎯 Double-Click Launchers:
- Windows: Double-click
Gource GUI.bat - macOS: Double-click
Gource GUI.command - Linux: Double-click
Gource GUI.shorGource GUI.desktop
📟 Terminal Alternative:
./run_gui.sh # All platforms python3 main.py # Direct launch
- Windows: Double-click
Command-line Installer:
./install.sh # macOS/Linux
install.bat # WindowsManual Installation:
python3 install.py # Command-line installer
python3 gui_installer.py # GUI installerThe installer will automatically:
- Check system requirements
- Install Python dependencies
- Verify Gource and FFmpeg installation
- Create desktop shortcuts
- Test the installation
- Python 3.7+ with tkinter
- Git and Gource (required)
- FFmpeg (optional, for video export)
See INSTALL.md for detailed installation instructions and troubleshooting.
./run_gui.shsource venv/bin/activate # Activate virtual environment
python3 main.py- Select Repository: Click "Browse..." to select a Git repository folder
- Configure Settings:
- Choose resolution (640x480, 1280x720, 1920x1080)
- Set visualization speed (seconds per day)
- Toggle fullscreen mode
- Run Visualization: Click "Run Gource" to start the visualization
- Path Entry: Shows the selected repository path
- Browse Button: Opens a folder selection dialog
- Status Indicator: Shows validation status (✓ for valid, ✗ for invalid)
- Resolution: Choose from preset resolutions or custom dimensions
- Seconds per Day: Control visualization speed (0.1 - 60 seconds)
- Display Options: Hide/show various elements (filenames, usernames, etc.)
- Visual Settings: Background color, font scale, camera mode
- Date Range: Start/stop dates for visualization
- Preview Command: View the generated Gource command
- Run Gource: Start the visualization
- Export Video: Export to MP4/MOV format
- Stop: Terminate running visualization
- Git (primary support)
- SVN (Subversion)
- Mercurial
- Bazaar
- CVS
Settings are automatically saved to ~/.gource-gui/config.json and include:
- Window size and position
- Recent repositories list
- Gource settings preferences
- Last export directory
- Install Gource using your system's package manager
- Ensure Gource is in your PATH:
which gource - On macOS:
brew install gource
- Ensure the selected folder contains a valid Git repository
- Check that the
.gitfolder exists in the repository root - Try running
git statusin the repository folder
- Install FFmpeg:
brew install ffmpeg(macOS) - Check FFmpeg installation:
ffmpeg -version - Ensure sufficient disk space for video output
- Install tkinter:
python3-tk(Linux) - Check Python version:
python3 --version - Install missing dependencies:
pip install -r requirements.txt
The project structure:
gource-gui/
├── main.py # Application entry point
├── requirements.txt # Python dependencies
├── run_gui.sh # Startup script
├── gui/ # GUI components
│ └── main_window_clean.py
├── core/ # Core functionality
│ ├── gource_runner.py # Gource command execution
│ └── repository_validator.py # Repository analysis
└── utils/ # Utilities
└── config.py # Configuration management
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License. See LICENSE file for details.
- Gource: Created by Andrew Caudwell
- GUI: Built with Python and Tkinter
- Icons: Material Design icons (where applicable)
