pyre-cli 6.1.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -13
- package/dist/index.js +481 -186
- package/package.json +1 -1
- package/src/anomalies.ts +1 -0
- package/src/fleet.ts +31 -0
- package/src/formatters/output.ts +107 -10
- package/src/formatters/render.ts +111 -63
- package/src/formatters/types.ts +6 -1
- package/src/index.ts +73 -47
- package/src/live/input.ts +2 -2
- package/src/live/render.ts +30 -2
- package/src/live/state.ts +15 -8
- package/src/state/config.ts +6 -0
- package/src/xbar.ts +53 -0
package/README.md
CHANGED
|
@@ -14,28 +14,33 @@ Mac system monitoring CLI: temps, CPU, memory, disk, battery, GPU, power draw, l
|
|
|
14
14
|
## Features
|
|
15
15
|
|
|
16
16
|
- **P2P live data streaming** — send live system stats to another system over TCP with password authentication, TLS encryption, rate limiting, IP allow/deny lists, audit logging, and HMAC message signing
|
|
17
|
-
- **Real-time system stats** — CPU brand, cores, frequency, load, and usage
|
|
17
|
+
- **Real-time system stats & per-core CPU** — CPU brand, cores, frequency, load, per-core utilization mini-bars, and overall usage
|
|
18
18
|
- **GPU monitoring** — GPU model, VRAM, utilization, temperature, and process count (detailed mode)
|
|
19
19
|
- **Power draw monitoring** — CPU watts, GPU watts, and combined power draw via SMC/ioreg
|
|
20
20
|
- **Memory monitoring** — usage, swap, and total/available
|
|
21
|
-
- **Disk space** — mounted volume usage
|
|
22
|
-
- **Battery & power** — level, power source, condition, charge cycles, max capacity, estimated time to empty, discharge rate, power draw in watts
|
|
21
|
+
- **Disk I/O throughput & space** — read/write speed per volume and mounted volume space usage
|
|
22
|
+
- **Battery & power health** — level, power source, condition, charge cycles, max capacity, health trends, estimated time to empty, discharge rate, power draw in watts
|
|
23
23
|
- **Packet monitor** — network packet counts, packet rates, active TCP connections, top network processes
|
|
24
24
|
- **Task list** — running tasks/applications sorted by CPU with PID, user, memory, state, and runtime
|
|
25
25
|
- **Thermal state** — CPU temperature via `pmset` and `powermetrics` (sudo for detailed readings)
|
|
26
26
|
- **Network** — RX/TX bytes and per-second rates
|
|
27
|
-
- **Top processes** —
|
|
28
|
-
- **Interactive live dashboard** — full-screen TUI with keyboard-driven controls, mouse support, and tab-based panel navigation
|
|
27
|
+
- **Top processes & search-as-you-type** — live filtering, tree view, sorting by CPU/memory/PID, and process kill with signal picker
|
|
28
|
+
- **Interactive live dashboard** — full-screen TUI with keyboard-driven controls, mouse support, configurable panel layout, and tab-based panel navigation
|
|
29
29
|
- **Snapshot export** — JSON, CSV, TSV, HTML, or Markdown output formats
|
|
30
30
|
- **Continuous CSV logging** — automatic per-tick data logging to timestamped files with log rotation
|
|
31
|
-
- **Visual themes** — six built-in
|
|
32
|
-
- **
|
|
31
|
+
- **Visual themes & custom themes** — six built-in color themes plus user-defined JSON theme support in `~/.config/pyre/themes/`
|
|
32
|
+
- **Persistent configuration** — save default themes, intervals, and thresholds in `~/.config/pyre/config.json`
|
|
33
|
+
- **Alert system & webhooks** — configurable threshold alerts with terminal bell, desktop notifications, webhook POST payload execution (`--webhook-url`), and custom shell command execution (`--alert-cmd`)
|
|
34
|
+
- **System diagnostic tool (`pyre doctor`)** — check permissions, SMC access, network reachability, and configuration health
|
|
35
|
+
- **History & Snapshot Diff** — query historical CSV log trends (`pyre history`) and compare snapshot files side-by-side (`pyre diff`)
|
|
36
|
+
- **Multi-host fleet dashboard** — stream and tile stats from multiple remote Macs (`pyre fleet`)
|
|
37
|
+
- **Menu Bar & xbar integration** — generate menu bar plugin script (`pyre xbar`) for continuous background status display
|
|
33
38
|
- **Graph mode toggle** — switch between sparkline and bar graph rendering in the live dashboard
|
|
34
39
|
- **P2P dashboard panel** — monitor P2P server status and peer events directly from the live dashboard
|
|
35
40
|
- **Temperature unit toggle** — switch between Celsius and Fahrenheit display in live mode
|
|
36
41
|
- **Hardware overview** — `pyre info` prints a concise hardware summary
|
|
37
42
|
- **Remote SSH monitoring** — `pyre ssh <host>` streams a remote Mac's live dashboard locally
|
|
38
|
-
- **Web dashboard** — `pyre web` serves
|
|
43
|
+
- **Web dashboard** — `pyre web` serves an auto-refreshing HTML dashboard with real-time SSE stream on a local port
|
|
39
44
|
- **Micro-benchmarking** — `pyre bench <cmd>` logs resource usage during any command
|
|
40
45
|
|
|
41
46
|
## Installation
|
|
@@ -95,10 +100,13 @@ These options apply to both static snapshots and `pyre live`, except where noted
|
|
|
95
100
|
| `--alert-cpu <pct>` | CPU usage alert threshold (default: `90`) |
|
|
96
101
|
| `--alert-temp <c>` | CPU temperature alert threshold in Celsius (default: `95`) |
|
|
97
102
|
| `--temp-unit <unit>` | Temperature display unit: `c` or `f` (default: `c`) |
|
|
103
|
+
| `--webhook-url <url>` | URL to POST payload to when an alert threshold is triggered |
|
|
104
|
+
| `--alert-cmd <cmd>` | Shell command to execute when an alert threshold is triggered |
|
|
105
|
+
| `--port <port>` | Port number for web server mode (default: `3000`) |
|
|
98
106
|
|
|
99
107
|
## Commands
|
|
100
108
|
|
|
101
|
-
### Static snapshot
|
|
109
|
+
### Static snapshot & diagnostics
|
|
102
110
|
|
|
103
111
|
| Command | Description |
|
|
104
112
|
|---|---|
|
|
@@ -107,24 +115,31 @@ These options apply to both static snapshots and `pyre live`, except where noted
|
|
|
107
115
|
| `pyre --json` | JSON output |
|
|
108
116
|
| `pyre --html` | Self-contained HTML report |
|
|
109
117
|
| `pyre --md` | Markdown tables |
|
|
118
|
+
| `pyre doctor` | Run system diagnostics (permissions, powermetrics access, P2P network check) |
|
|
119
|
+
| `pyre config <show\|reset>` | View or reset persistent configuration file (`~/.config/pyre/config.json`) |
|
|
120
|
+
| `pyre completions <zsh\|bash\|fish>` | Generate shell auto-completion scripts |
|
|
110
121
|
|
|
111
|
-
### Hardware overview
|
|
122
|
+
### Hardware overview & history
|
|
112
123
|
|
|
113
124
|
| Command | Description |
|
|
114
125
|
|---|---|
|
|
115
126
|
| `pyre info` | Concise hardware summary (CPU, memory, GPU, battery, thermal) |
|
|
127
|
+
| `pyre history [--days N]` | Graph historical resource trends from CSV logs over past N days |
|
|
128
|
+
| `pyre diff <file1.json> <file2.json>` | Compare two saved snapshot files side-by-side |
|
|
116
129
|
|
|
117
|
-
### Benchmarking
|
|
130
|
+
### Benchmarking & Menu Bar
|
|
118
131
|
|
|
119
132
|
| Command | Description |
|
|
120
133
|
|---|---|
|
|
121
134
|
| `pyre bench <cmd>` | Log CPU, memory, network, and thermal usage while running a command |
|
|
135
|
+
| `pyre xbar` | Generate an xbar / SwiftBar menu bar plugin script for stats display |
|
|
122
136
|
|
|
123
|
-
### Remote monitoring
|
|
137
|
+
### Remote & Multi-host monitoring
|
|
124
138
|
|
|
125
139
|
| Command | Description |
|
|
126
140
|
|---|---|
|
|
127
141
|
| `pyre ssh <host>` | Stream live stats from a remote Mac over SSH |
|
|
142
|
+
| `pyre fleet <host1> [host2]...` | Multi-host live dashboard monitoring multiple Macs simultaneously |
|
|
128
143
|
|
|
129
144
|
### Live dashboard
|
|
130
145
|
|
|
@@ -136,7 +151,7 @@ These options apply to both static snapshots and `pyre live`, except where noted
|
|
|
136
151
|
|
|
137
152
|
| Command | Description |
|
|
138
153
|
|---|---|
|
|
139
|
-
| `pyre web` | Serve an auto-refreshing live
|
|
154
|
+
| `pyre web` | Serve an auto-refreshing live web portal with real-time SSE stats streaming on localhost (`--port <port>`) |
|
|
140
155
|
|
|
141
156
|
### P2P
|
|
142
157
|
|