What's Changed
🌐 Network Monitoring Dashboard
Real-time bandwidth monitoring with per-interface upload/download sparklines, TCP state analysis, process-level connection tracking, and protocol statistics — all with zero additional dependencies beyond psutil.
✨ New Features
- Live Dashboard (
guro network) — Multi-pane TUI with adapter table, 30-sample bandwidth history sparklines, TCP state distribution, and top connections - Speed Snapshot (
guro network --speed) — Single-shot upload/download rates across all active interfaces - Interface Listing (
guro network --interfaces) — Full adapter details: IP, MAC, speed, duplex, status - Connection Viewer (
guro network --connections) — Active TCP connections with PID, process name, and remote address - CSV Export (
guro network --export) — Log bandwidth data to timestamped CSV files - TCP/Protocol Analysis — Real-time state counts (ESTABLISHED, LISTEN, TIME_WAIT, etc.) and retransmission ratio from
/proc/net/snmp
🛠️ Bug Fixes & Improvements
- Fixed
duplex_maporder to match psutil constants (0=Unknown, 1=Half, 2=Full) - Replaced hardcoded address family integers with portable
socket.AF_INET/AF_INET6 - Fixed
/proc/net/snmpparser skipping value rows to prevent corrupted TCP/UDP stats - Added Click range validation for
--interval/--duration(matching heatmap pattern) - Conflicting mode flags now raise a clear
UsageError - Removed
guro network --test(speed test) to keep the module focused on real-time monitoring
📖 Documentation
- New wiki page: Network Monitoring Architecture
- Updated README with network feature details and subcommand table
- Updated website with network feature card and command demo
- Added v1.2.0 release notes
👩💻 Installation
pip install guro --upgrade