A comprehensive system monitoring tool built with Python and the rich library, providing real-time insights into system performance, including CPU usage, memory statistics, network details, disk I/O, and temperature monitoring.
- Real-time Monitoring: Displays live updates of system metrics.
- Customizable Display: Toggle visibility of different sections like CPU, memory, network, disk I/O, and temperature.
- User-friendly Interface: Uses the
richlibrary for a visually appealing console interface. - Cross-platform Support: Works on Windows, macOS, and Linux (with some features dependent on platform support).
-
Clone the Repository:
git clone https://github.com/johnniewhite/watchtower.git cd watchtower -
Install Dependencies: Ensure you have Python 3.6 or later installed. Then, install the required packages:
pip install -r requirements.txt
The
requirements.txtshould include:rich psutil speedtest-cli pynput
Run the system monitor using the following command:
python system_monitor.py- q: Quit the application
- s: Toggle Speed Test display
- p: Toggle Process List
- n: Toggle Network Details
- d: Toggle Disk I/O Statistics
- t: Toggle Temperature Monitor
- h: Show help message
- Update Intervals: Adjust the refresh rate by modifying the
refresh_per_secondparameter in theLivecontext. - Speed Test Interval: Change the
SPEED_TEST_INTERVALvariable to set how often speed tests are conducted.
- Temperature Monitoring Not Supported: If you receive an error about temperature monitoring, ensure your system supports it and that
psutilis up-to-date. - Command Not Responding: Ensure the terminal window is focused and that you are pressing the correct keys.
- Dependencies Issues: Verify that all dependencies are installed correctly using
pip list.
Contributions are welcome! Please fork the repository and submit a pull request with your changes. Ensure your code follows the existing style and includes appropriate documentation.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or support, please contact boluwatifeeri@gmail.com.