Skip to main content

Terminal-based TUI dashboard for monitoring GitHub PRs requiring your attention

Project description

PR Dash

Terminal-based TUI dashboard for monitoring GitHub pull requests that need your attention. Built with Textual for a rich terminal experience.

Prerequisites

  • Python 3.12+
  • uv — Python package manager
  • gh CLI — GitHub CLI, authenticated (gh auth login)

Installation

Homebrew (macOS)

brew tap prdash/prdash
brew install prdash

From PyPI

# Using uv (recommended)
uv tool install prdash-tui

# Using pipx
pipx install prdash-tui

# Using pip
pip install prdash-tui

From source (development)

git clone https://github.com/prdash/prdash.git
cd prdash
uv sync                    # install dependencies
uv tool install -e .       # add `prdash` to your PATH (editable)

Updating

prdash --update

This auto-detects your install method (Homebrew/uv/pipx/pip) and runs the appropriate upgrade command.

Quick Start

prdash

Or, if running from the project directory without a global install:

uv run prdash

On first run, a setup wizard walks you through configuration:

  1. Repository — org and repo name (auto-detected from git remote if available), or skip to monitor all repos
  2. Username — your GitHub username (auto-detected from your auth token)
  3. Teams — team slugs for team review requests (auto-detected from GitHub API)
  4. Confirm — review and save

After setup, the dashboard launches automatically.

Configuration

Config file location: ~/.config/prdash/config.toml

Example config

username = "octocat"
repos = ["my-org/my-repo"]  # empty list = all repos
team_slugs = ["frontend", "platform"]
poll_interval = 300
timeout = 30.0

[[query_groups]]
type = "direct_reviewer"
name = "Requested Reviewer"
enabled = true

[[query_groups]]
type = "team_reviewer"
name = "Team Reviewer"
enabled = true

[[query_groups]]
type = "mentioned"
name = "Mentioned/Involved"
enabled = true

[[query_groups]]
type = "authored"
name = "My PRs"
enabled = true

[[query_groups]]
type = "label"
name = "Labeled"
labels = ["needs-review"]
enabled = false

Field reference

Field Type Default Description
username string (required) Your GitHub username
repos list[str] [] Repo filters as "org/name" — empty = all repos
team_slugs list[str] [] Team slugs for team review queries
poll_interval int 300 Auto-refresh interval in seconds (min 30)
timeout float 30.0 HTTP request timeout in seconds (min 1.0)
query_groups list 5 defaults PR query groups (see below)

Query group fields

Field Type Default Description
type string (required) One of the query group types below
name string (required) Display name in the PR list
labels list[str] [] Label filters (only for label type)
enabled bool true Whether this group is active

CLI Flags

Flag Description
-V, --version Print version and exit
--update Update to the latest version

Usage

prdash

The dashboard has a split-pane layout:

  • Left pane — PR list organized by query group, with collapsible sections showing title, author, age, CI status, and review status
  • Right pane — Detail view for the selected PR with reviewers panel, Markdown description, labels, CI checks, and timeline

Keybindings

Key Action
j / Down Move cursor down in PR list
k / Up Move cursor up in PR list
Enter Toggle group collapse/expand, or open PR in browser
Tab Switch focus between left and right panes
r Refresh PR data
S Open settings screen
Escape Close settings / query groups screen
q Quit

Query Groups

Query groups define which PRs appear in the dashboard. There are 5 types:

Type Description
direct_reviewer PRs where you are directly requested as a reviewer
team_reviewer PRs where one of your teams is requested for review
mentioned PRs where you are mentioned or involved
authored PRs you authored
label PRs matching specific labels (set via labels field)

PRs are deduplicated across groups — each PR appears only in its highest-priority group (priority follows the order listed above).

You can customize query groups by:

  • Adding/removing groups in config.toml or via the in-app query groups screen
  • Reordering to change display and deduplication priority
  • Toggling enabled to hide groups without deleting them
  • Using labels with the label type to track specific categories

In-App Settings

Press S to open the settings screen where you can edit:

  • Repos (comma-separated org/name slugs, empty = all repos)
  • Username
  • Team slugs
  • Poll interval

From settings, you can also open the Query Groups screen to add, remove, reorder, and toggle query groups. Changes are saved immediately and trigger a data refresh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prdash_tui-0.1.0.tar.gz (121.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prdash_tui-0.1.0-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file prdash_tui-0.1.0.tar.gz.

File metadata

  • Download URL: prdash_tui-0.1.0.tar.gz
  • Upload date:
  • Size: 121.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for prdash_tui-0.1.0.tar.gz
Algorithm Hash digest
SHA256 984e766382e02c7fa0f2bc9ce35b94dc0bead87904eb76fed23615ac2dc7400c
MD5 bc5f42e4203f88439fdee0ee2465fe99
BLAKE2b-256 eb1efc7c7b712e05cc52b24da5f253a5bcf0c0c3b8992cdea242a952d1839e59

See more details on using hashes here.

Provenance

The following attestation bundles were made for prdash_tui-0.1.0.tar.gz:

Publisher: release.yml on prdash/prdash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prdash_tui-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: prdash_tui-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for prdash_tui-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2aaa8a37a7087ae7d2dc7d5044e62d63a7aceeecd34b8c18d9dcba3e2f5f16c1
MD5 6a7535f8da719eb73d1efee745be959d
BLAKE2b-256 57c18e9e991765a367a6cdc833c3d7544469f07fc1e8d314d5a73720c8bf49a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for prdash_tui-0.1.0-py3-none-any.whl:

Publisher: release.yml on prdash/prdash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page