A simple terminal-based system monitor and internet speed tester built using Python.
This project shows real-time system information (CPU, memory, storage, network, battery, tasks) and performs an internet speed test.
- Username display
- CPU usage, base speed, current speed
- Physical and logical cores
- Memory usage
- Storage information
- Network statistics
- Battery information (if available)
- System boot time and running tasks
- Download speed
- Upload speed
- Ping
- ISP information
- Public IP address
- Server location (latitude & longitude)
- Shareable speed test link
- Python 3
psutilspeedtest-clipyfigletpytest(for testing)
Install the required packages:
pip install -r requirements.txtRun the program from the terminal:
python project.pyYou will see a menu:
- System Information
- Internet Speed Meter
Enter 1 or 2 to continue.
.
|ββ project.py
|ββ test_project.py
βββ README.md
This project includes unit tests written using pytest.
To run all tests:
pytest -s test_project.pyThe tests use monkeypatch to mock:
- CPU information
- Memory information
- Storage information
- Network statistics
- Battery status
- Internet speed test
This allows the tests to run without depending on real hardware values or an active internet connection.
Mihrub Aziz Bhuiyan