Skip to main content

gh-prlist

Configurable GitHub pull-request monitoring with clickable macOS notifications. The PyPI package is gh-prlist (prlist and pr-list are taken or blocked as too similar). The installed commands are gh-prlist, pr-list, and prlist. It requires the GitHub CLI (gh) to be installed and authenticated.

uvx gh-prlist setup
uvx gh-prlist list
uvx gh-prlist monitor
uvx gh-prlist monitor --own
uvx gh-prlist monitor --team
uvx gh-prlist monitor --own --team

setup writes TOML configuration to ~/.prlist. Command-line options override that file; run prlist <command> --help for all overrides.

The default policies show your open non-draft PRs with failing CI and non-draft team-review requests with green CI and no explicit merge conflict. monitor checks every ten minutes and writes a clickable report to ~/.cache/prlist/prs.html.

Each source can independently filter CI (green, failing, any) and mergeability (not_conflicting, conflicting, any). Notifications can include own PRs, team PRs, or both. Change-only notification state persists across monitor restarts.

Failure ignores are configurable per source as case-insensitive check-name substrings. They can be entered during setup or supplied repeatedly:

gh-prlist monitor --own --own-ignore-failure "Post Plan Checks"

Failed Post Plan Checks jobs are expanded into their failed workflow steps. This allows a team approval gate to count as green without hiding unrelated failures from the same parent job:

[team]
ignore_failures = ["Require Approval (Engineering Enablement)"]

For example, an Engineering Enablement approval gate is ignored, while Verify How It Was Tested Filled Out or Require Approval (SRE) remains red. Avoid ignoring the broad Post Plan Checks parent name when using this mode.

Each source can also require labels, which is how you narrow a team-review queue to one team's routing label. label_match = "any" (the default) keeps a PR carrying at least one of the labels; "all" requires every one of them:

gh-prlist monitor --team --team-label "teams/engineering-enablement"
gh-prlist monitor --team --team-label "teams/ee" --team-label "release" --team-label-match all

Labels are matched case-insensitively after the search, so PRs dropped by the filter still appear in the report's "filtered out" section, marked label filter. CI is only fetched for label matches, so narrowing by label makes a monitor cycle cheaper rather than more expensive.

Report rows open in a new tab and carry an eye toggle that tracks what you have already looked at. Opening a PR marks it seen (solid eye, dimmed row); clicking the eye toggles it back. The state lives in the browser's local storage and is keyed by the PR's last-updated time, so a PR you have already seen returns to unseen as soon as it gets a new push.

For clickable notification actions on macOS, install terminal-notifier. Without it, notifications fall back to osascript.

Metadata

Release files for gh-prlist 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gh-prlist 0.5.0
File Size Uploaded Provenance
gh_prlist-0.5.0.tar.gz 26.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gh-prlist 0.5.0
File Interpreter ABI Platform
gh_prlist-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.0 kB

Release files / gh_prlist-0.5.0.tar.gz

Download URL gh_prlist-0.5.0.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4a3488df25633a87cff05edd37062d054f9ef50cc44645479d83f91aedb8a8b9
BLAKE2b-256 checksum
How to use checksums
1ee51932cca67ce7a5404f8d81fa80f66f2d0a58e4acbfe509c096501b6e3c56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.12

Release files / gh_prlist-0.5.0-py3-none-any.whl

Download URL gh_prlist-0.5.0-py3-none-any.whl
Size 23.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3d637517936daa9631c84144b6101de83f0587c7dafb5b62dcbdaaf9e8948a9f
BLAKE2b-256 checksum
How to use checksums
7afa0a36ba3a4c8c00cbd3add2ecd99c97962afdf38f21300bae5434fb0fc3ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.12

Security for gh-prlist 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page