A lightweight floating network speed monitor for Windows. It displays real-time download/upload speeds (Mbps) with a compact graph that stays on top of other windows.
Built with Python, Tkinter, psutil, and PyInstaller.
- 📡 Real-time network monitoring (download + upload Mbps)
- 📊 Mini graph for last ~10 seconds of activity
- 👀 Auto-hide on hover (disappears when cursor enters, reappears when it leaves)
- ⌨️ Hotkeys for opacity:
Ctrl + Shift + Alt + Up→ Increase opacityCtrl + Shift + Alt + Down→ Decrease opacityCtrl + Shift + Alt + Left→ Reset opacity
- 🛠 System tray integration (Show / Hide / Quit)
- 🎛️ Tray settings for opacity
- ⏱️ Periodic speedtest (default every ~4 hours) with fallbacks
- 💾 Settings persist across app restarts (including opacity and speedtest state)
- 🪟 Windows-only
You don't need to build it yourself if you just want to use it.
A prebuilt .exe is available in the Latest Release of this repository.
- Windows 10/11 with Python 3.10+ (for running from source)
- Install deps:
pip install -r requirements.txt
- Optional (improves speedtest accuracy/availability):
- fast-cli (Node):
npm i -g fast-cli - speedtest-cli (Python):
pip install speedtest-cli
- fast-cli (Node):
Note: The app will gracefully fall back if a tool isn't present.
pip install -r requirements.txt
python app.py- Try fast-cli
- If unavailable, try speedtest-cli
- If still unavailable, estimate via psutil net I/O deltas
Results are cached so the previous speedtest is shown on startup until the next scheduled run completes.
Default schedule: every ~4 hours while the app is running.
python build.pyThis will:
- Clean previous builds
- Install dependencies
- Create
dist/NetSpeedWidget.exe