A TUI network usage monitor.
Project description
Netwatch TUI (netwatchpy)
A TUI (Text-based User Interface) for monitoring network usage in real-time, with support for data limits and desktop notifications.
Features
-
Real-time Dashboard: A clean, terminal-based dashboard showing total download, upload, and current speeds.
-
Persistent Quota: Automatically saves your total usage, so you can track a monthly data cap across multiple sessions.
-
Data Cap Monitoring: Set a data limit (e.g.,
10GB) and see your usage on a real-time progress bar. -
Desktop Notifications: Get native desktop notifications when you hit 80% and 100% of your data limit.
-
Live Activity Log: An interactive, scrolling log of all network activity, updated every second.
-
Command Palette & Dark Mode: A modern TUI experience with a built-in command palette (
Ctrl+P) and dark mode support (Ctrl+D). -
CSV Logging: Optionally log all network traffic to a CSV file for later analysis.
-
Cross-Platform: Runs on Windows, macOS, and Linux.
Installation
netwatchpy is available on PyPI. All you need is Python 3.8+ and pip.
pip install netwatchpy
Usage
Once installed, the netwatch command will be available in your terminal.
To start the monitor (monitors all interfaces):
netwatch
To see all available options and help:
netwatch --help
Command-Line Arguments
You can control the monitor with these arguments:
-
-h,--help- Shows the help message and all options.
-
-i INTERFACE,--interface INTERFACE- Monitors a single, specific network interface (e.g., -i "Wi-Fi"). Defaults to "all".
-
-l LIMIT,--limit LIMIT- Sets a data cap and shows a progress bar (e.g., -l "10GB" or -l "500MB").
-
--log LOG- Saves all network activity to a specified CSV file (e.g., --log "usage.csv").
Examples
Set a 10GB data limit:
netwatch -l "10GB"
Monitor a specific interface ("Wi-Fi") and log to a file:
netwatch -i "Wi-Fi" --log "my_usage.csv"
In-App Keybindings
-
Ctrl+p: Open the Command Palette -
Ctrl+d: Toggle Dark / Light Mode -
Ctrl+s: Toggle Dark / Light Mode -
r: Reset all counters back to zero -
Ctrl+q: Quit the application
Bug Reports & Feature Requests
Found a bug or have a great idea? Please open an issue on the GitHub repository.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netwatchpy-0.2.9.tar.gz.
File metadata
- Download URL: netwatchpy-0.2.9.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf0750b248db92d44e92b684eb86544f933e8cd2033577ee8beff28c5c0f1a5c
|
|
| MD5 |
a2e283ad4ab66e6f1e7303e1fb39322d
|
|
| BLAKE2b-256 |
be659cca32249263a826da9697d19e6f6647fa7984f122557cd896df9fcd1eed
|
File details
Details for the file netwatchpy-0.2.9-py3-none-any.whl.
File metadata
- Download URL: netwatchpy-0.2.9-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09ba13c42ed489cc5c446ef21d369a95cae650c2e0c60be3eaba91909bf3349c
|
|
| MD5 |
16625031e177663c2d8a783b40a842d7
|
|
| BLAKE2b-256 |
f327c36c7ac3fb3a5ef91abe71972b940ba3953929adde7ff343e8aabb1f8a64
|