RPlusView — colorful terminal dashboard for GitHub pull requests
Project description
██████╗ ██████╗ ██╗ ██╗ ██╗███████╗██╗ ██╗██╗███████╗██╗ ██╗
██╔══██╗██╔══██╗██║ ██║ ██║██╔════╝██║ ██║██║██╔════╝██║ ██║
██████╔╝██████╔╝██║ ██║ ██║███████╗██║ ██║██║█████╗ ██║ █╗ ██║
██╔══██╗██╔═══╝ ██║ ██║ ██║╚════██║╚██╗ ██╔╝██║██╔══╝ ██║███╗██║
██║ ██║██║ ███████╗╚██████╔╝███████║ ╚████╔╝ ██║███████╗╚███╔███╔╝
╚═╝ ╚═╝╚═╝ ╚══════╝ ╚═════╝ ╚══════╝ ╚═══╝ ╚═╝╚══════╝ ╚══╝╚══╝
⚡ A colorful terminal dashboard for your GitHub pull requests
Search · Sort · Stats · Repos · Open in browser · First-run setup
✨ Features
| 🎨 | Polished dark TUI with GitHub-inspired greens, blues & purples |
| 👋 | First-run welcome popup — enter any GitHub username dynamically |
| 🔍 | Live search across title, repo, PR number & status |
| 📊 | Stats & repos views with LOC, open/merged/closed breakdowns |
| 🌐 | Open in browser for PRs and repositories |
| ⌨️ | Toolbar buttons + shortcuts — everything is one key away |
| 🔄 | Switch user anytime with the User button (u) |
📦 Install as a package
Option A — from this repo (recommended)
git clone https://github.com/YOUR_USER/github_plugin.git
cd github_plugin
pip install .
That installs the rplusview command globally (or into your active venv).
Option B — editable (for development)
git clone https://github.com/YOUR_USER/github_plugin.git
cd github_plugin
pip install -e .
Code changes apply immediately — no reinstall needed.
Option C — run without installing
cd github_plugin
pip install textual requests
python -m rplusview
# or
python app.py
Option D — publish to PyPI (optional)
pip install build twine
python -m build
twine upload dist/*
Then anyone can install with:
pip install rplusview
Replace
YOUR_USERwith your GitHub username/org, and update[project.urls]inpyproject.tomlbefore publishing.
🚀 Quick start
# 1) Install
pip install .
# 2) Token (required for GitHub API)
export GITHUB_TOKEN=ghp_your_token_here
# or copy .env.example → .env and fill GITHUB_TOKEN
# 3) Launch
rplusview
On first launch, a welcome popup asks for the GitHub username to track.
That username is saved in ~/.config/rplusview/config.json.
┌──────────────────────────────────────────────┐
│ ◆ Welcome to RPlusView │
│ Enter a GitHub username to load their PRs │
│ │
│ GitHub username │
│ ┌────────────────────────────────────────┐ │
│ │ octocat │ │
│ └────────────────────────────────────────┘ │
│ │
│ [ Continue → ] │
└──────────────────────────────────────────────┘
🎮 Controls
Toolbar
Open · Details · Stats · Repos · Search · Sort · Refresh · User · Help
Keyboard
| Key | Action |
|---|---|
↑ ↓ |
Navigate rows |
Enter / d |
PR details |
o |
Open in browser |
/ |
Live search |
s |
Cycle sort (LOC → Date → Title → Repo → Files → #) |
t |
Statistics |
e |
Repositories |
u |
Change user |
r |
Refresh |
? |
Help |
Esc |
Clear search / go back |
q |
Quit / back |
🗂️ Project layout
github_plugin/
├── pyproject.toml # package metadata + CLI entrypoint
├── README.md
├── .env.example
├── app.py # thin launcher
└── rplusview/ # installable Python package
├── app.py # main TUI
├── github_client.py # GraphQL API
├── config.py # saved username / token
├── rplusview.tcss # theme
├── screens/ # details · stats · repos
└── widget/ # title · actions · setup · help
🔐 Config
| What | Where |
|---|---|
| GitHub token | GITHUB_TOKEN env var or .env |
| Tracked username | first-run UI → ~/.config/rplusview/config.json |
Create a classic PAT at github.com/settings/tokens
with at least repo (or public_repo) access for searching PRs.
🛠️ Develop
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
rplusview
Build a distributable wheel locally:
pip install build
python -m build
ls dist/ # rplusview-1.0.0-py3-none-any.whl
💜 Why RPlusView?
Because your PRs deserve a dashboard that feels as sharp as your code —
fast, colorful, and living right inside the terminal.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rplusview-1.0.0.tar.gz.
File metadata
- Download URL: rplusview-1.0.0.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba5e77ee10b94c8fe98195dac0ea7aafee654519b75c23f8808b4c2273b4d609
|
|
| MD5 |
438394365930dbe8fd08952897b05bb5
|
|
| BLAKE2b-256 |
738e3a09009e7c3ec032d6529ccb89121795435376d816157de5692f5ef32a2f
|
File details
Details for the file rplusview-1.0.0-py3-none-any.whl.
File metadata
- Download URL: rplusview-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c4c86ce3730a6e1a7a77f2c7fe88a99b05519adf6ad57c65e75df8c6a0eb6e5
|
|
| MD5 |
dfe27f51b0e3aadad50d2a15d3a404cc
|
|
| BLAKE2b-256 |
5ef238870207fc3990e6aa7f1ec8b620b535cfef39bfe7f1d4c7210c3e07d58d
|