Skip to main content

A TUI network usage monitor.

Project description

Netwatch TUI (netwatchpy)

PyPI Version License: MIT

A TUI (Text-based User Interface) for monitoring network usage in real-time, with support for data limits and desktop notifications.


netwatch_demo


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netwatchpy-0.1.6.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netwatchpy-0.1.6-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file netwatchpy-0.1.6.tar.gz.

File metadata

  • Download URL: netwatchpy-0.1.6.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for netwatchpy-0.1.6.tar.gz
Algorithm Hash digest
SHA256 430b6e050f3d1c60434cb4b9f84e4179a72f7ddb01d8139ea983c3857a49d024
MD5 901b6aedd47c428abcbfbc90c78c2eef
BLAKE2b-256 7de608ab1dcaca1f760b803a0732b1de7c2defeaa37eae0c24b27f9e83d59e90

See more details on using hashes here.

File details

Details for the file netwatchpy-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: netwatchpy-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for netwatchpy-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 dddc566608f11c4b79276be3c0c5163e3e0226b0453d6d4f4b0ab86849f1a6f4
MD5 2d7ba9ef4d04996e04d4eec06a0fdcbb
BLAKE2b-256 7e844adc3f7332677718f48fdb6db3fd9742f1565981ec4c4b8d22efe5664c9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page