Omahub
← All plugins
S

OmetroNorth

by starke

Next Metro-North trains between two stations for Omarchy

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
c45c027
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
c45c027
Reviewed
1 month ago

The plugin is a straightforward transit bar widget: a QML panel spawns a dependency-free Python helper that fetches MTA GTFS-RT data, and all subprocess use is either fixed argv or safely quoted shell for atomic state-file writes. I found no obfuscation, no privileged or install-time commands, no credential exfiltration, and the deterministic scan's 'none' finding matches my review.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/brianstarke/omarchy-plugin-ometronorth --enable
Widgets #bar

OmetroNorth

Next MTA Metro-North trains on the Omarchy bar.

The bar shows the time of the next train from your origin to your destination, and turns red when that train is running late. Click it for a panel with the next three departures and, in a separate section, the next three arrivals at the destination — each with delay status, route, track (when the feed knows it), and a countdown. Expanded panel

  • Live data — reads MTA's Metro-North GTFS-RT feed, so times and delays are the railroad's own real-time estimates.
  • Configurable route — pick origin and destination from a searchable list of every Metro-North station right in the panel (or pin them in settings). A swap button flips the commute for the ride home.
  • Late means red — the bar time and the panel rows highlight once a train is at least lateMinutes behind.
  • Zero dependencies — the helper is python3 stdlib only and decodes the GTFS-RT protobuf itself. Nothing runs as root.

Install

omarchy plugin add https://github.com/brianstarke/omarchy-plugin-ometronorth --enable

Settings

In ~/.config/omarchy/shell.json, on the widget entry:

Key Default Meaning
from "Grand Central" Origin station. Any name from the station list (also accept stop ids); unique substrings work too.
to "White Plains" Destination station.
apiKey "" MTA API key from https://api.mta.info. The feed currently answers without one; set this if that changes or you hit rate limits.
interval 60 Background poll interval in seconds while the panel is closed (minimum 30). The open panel polls every 15 s.
lateMinutes 5 Delay threshold in minutes before a train counts as late (and turns red).
{ "id": "brianstarke.ometronorth", "from": "Grand Central", "to": "Croton-Harmon", "lateMinutes": 3 }

Stations picked in the panel are saved to ~/.local/state/omarchy/brianstarke.ometronorth.json and take precedence over from/to until you pick again. Delete that file to fall back to the settings.

Keys

With the panel open: r refreshes, s swaps the route, Esc closes, Tab/Shift+Tab moves to the neighboring panel. The station pickers are fully keyboard-driven (type to filter, arrows to move, Enter to select).

Uninstall

omarchy plugin remove brianstarke.ometronorth

License

MIT — see LICENSE.