A lightweight Python tool that monitors your network upload and download speeds in real-time using psutil and Tkinter.
It can be packaged into a standalone Windows executable with PyInstaller for easy distribution.
- Real-time upload and download speed display (in MB/s or Mbps)
- Total data usage tracking with persistent storage
- Minimal, always-on-top GUI with drag-and-drop positioning
- Context menu with options to toggle display, units, reset usage data, and exit
- Automatic saving and loading of total usage between sessions
- Python 3.x
- psutil library
tkinter(usually included with Python standard library)
Install the required Python package via pip:
pip install psutilRun the script directly:
python main.pyThe GUI will appear showing current upload and download speeds. Right-click on the window to access the menu for options like toggling total usage display or changing speed units.
To create a standalone Windows executable using PyInstaller, use the command in pyinstaller_command.txt.
Typically, it looks like this:
pyinstaller --onefile --noconsole --name MoniNet --icon moninet.ico --version-file version.txt main.pyThis generates an MoniNet.exe file inside the dist folder.
main.py— main Python script with the network monitormoninet.ico— icon file for the executableMoniNet.spec— PyInstaller spec file generated during buildpyinstaller_command.txt— command used for building the executableversion.txt— version details of the executable/build/— PyInstaller build folder (should be excluded from GitHub)/dist/— folder containing the.exe(usually excluded from GitHub)
This project is licensed under the MIT License. See the LICENSE file for details.
Created by Concise Coder
Feel free to contribute or report issues!
- Uses the
psutillibrary for network stats - Uses Python's built-in
tkinterfor the GUI - Inspired by simple desktop network monitors