v2.1.0: Pro-level upgrade, GPU processes, users panel, perf fixes

- Gradient bars, braille sparklines, CPU user/sys/iowait breakdown
- Memory buffers/cached/available, disk IOPS, per-interface network
- GPU: VRAM breakdown, process list (NVIDIA+AMD), sparkline history
- GPU: PCIe info, encoder/decoder, power limit, max clocks
- USERS panel: per-user CPU/MEM/procs with login status
- Process table: IO column, tree view (t), sort by IO (i), PID tracking
- Adaptive layout: 3-col (140+), 2-col (80+), 1-col (narrow)
- SYSTEM panel: ctx switches/s, interrupts/s, threads, FDs
- Battery display, temperature mini-bars
- Performance: slow-tick for expensive ops (temps, connections, fdinfo)
- Decouple data update from rendering for responsive navigation
- Stable sort with PID tiebreaker, selection tracked by PID
- Intro disable prompt on 2nd run, mini-splash, --intro flag
- SSH/exotic terminal fallback (ghostty, kitty, alacritty)
- Alternate screen buffer: no clear on exit
- Gitea repo renamed to entropymon
- Published to PyPI

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
lukasz@orzechowski.eu
2026-03-25 16:55:19 +01:00
parent 25da63dc9e
commit 3dd65e9d7d
3 changed files with 1128 additions and 263 deletions

View File

@@ -1,3 +1,3 @@
"""entropymon - Terminal system monitor by Electric Entropy Lab.""" """entropymon - Terminal system monitor by Electric Entropy Lab."""
__version__ = "1.0.0" __version__ = "2.1.0"

File diff suppressed because it is too large Load Diff

View File

@@ -38,9 +38,9 @@ nvidia = ["pynvml>=11.0.0"]
all = ["pynvml>=11.0.0"] all = ["pynvml>=11.0.0"]
[project.urls] [project.urls]
Homepage = "https://git.electricentropy.eu/ar3dh3l/systats" Homepage = "https://git.electricentropy.eu/ar3dh3l/entropymon"
Repository = "https://git.electricentropy.eu/ar3dh3l/systats" Repository = "https://git.electricentropy.eu/ar3dh3l/entropymon"
Issues = "https://git.electricentropy.eu/ar3dh3l/systats/issues" Issues = "https://git.electricentropy.eu/ar3dh3l/entropymon/issues"
[project.scripts] [project.scripts]
entropymon = "entropymon.monitor:main" entropymon = "entropymon.monitor:main"