A desktop application built with Python and Tkinter that helps you manage and monitor your GitHub Pull Requests efficiently.
- 👀 View all your open Pull Requests in one place
- 🔄 Snapshot review status tracking
- 🔍 Filter between your PRs under your username and your PRs in other repositories
- 🔄 Cache system for improved performance
- 🎯 Double-click to open PRs in your default browser
- ⚡ Sort PRs by title, state, or repository
- ⚙️ Configurable settings with GUI interface
- Python 3.10 or higher
- Required Python packages:
- requests
- Clone this repository:
git clone https://github.com/svandragt/github-open-pullrequest-viewer- Install the required dependencies:
pip install requests- Launch the application
- Click on the "Settings" button
- Enter your:
- GitHub username
- GitHub personal access token (requires 'repo' scope for private repositories)
The configuration will be automatically saved for future sessions.
- Start the application:
python github-viewer.py- Use the interface to:
- View your open Pull Requests
- Click "Refresh PRs" to update the list
- Toggle between viewing your PRs or PRs in other repositories
- Double-click any PR to open it in your browser
- Sort PRs by clicking on column headers
- Title of the PR
- Current review state
- Repository name
- Direct link to PR
- APPROVED
- ALL_APPROVED
- CHANGES_REQUESTED
- REVIEW_REQUIRED
- REVIEW_IN_PROGRESS
- UNKNOWN (in case of API errors)
- PR data is cached for 15 minutes, or until you press Refresh.
- Review states are cached separately
- Cache is automatically saved on exit and loaded on startup
You can optionally set your GitHub token as an environment variable:
export GITHUB_TOKEN=your_token_here- The application requires a GitHub token with 'repo' scope for accessing private repositories.
- Cache files (
review_cache.jsonandpr_cache.json) are created in the application directory. - Configuration is stored in
config.json.
