A Python Textual app for monitoring VMs in the terminal
Project description
Ground Control 🚀
A modern, responsive Terminal User Interface (TUI) for real-time system monitoring, built with Textual.
Features
-
Real-time System Monitoring
- CPU usage per core with frequency tracking
- Memory utilization
- Disk I/O with read/write speeds
- Network traffic monitoring
- GPU metrics (if NVIDIA GPU is available)
-
Responsive Design
- Automatically adjusts layout based on terminal size
- Supports horizontal, vertical, and grid layouts
- Dynamic resizing with smooth transitions
-
Process Management
- View top-level user processes
- Monitor system resource usage per process
Installation
You can install Ground Control directly from PyPI:
pip install ground-control-tui
or install from source:
git clone https://github.com/alberto-rota/ground-control
cd ground-control
pip install -e .
Quick Start
After installation, simply run:
groundcontrol
Or use it as a Python module:
python -m ground_control
Usage
Keyboard Controls
h: Switch to horizontal layoutv: Switch to vertical layoutg: Switch to grid layouta: Toggle automatic layoutq: Quit the application
Layout Modes
Ground Control offers three layout modes:
- Grid Layout (Default): 2x2 grid arrangement
- Horizontal Layout: All panels in a row
- Vertical Layout: All panels in a column
The layout automatically adjusts based on your terminal size, but you can override this using the keyboard controls.
Process Monitoring
To view top-level processes for the current user:
python -m ground_control.cli.process_list
Requirements
- Python 3.6 or higher
- psutil
- textual
- plotext
- pynvml (optional, for NVIDIA GPU monitoring)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Author
Alberto Rota
Email: alberto1.rota@polimi.it
GitHub: @alberto-rota
Acknowledgments
For more information and updates, visit the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ground_control_tui-0.1.4.tar.gz.
File metadata
- Download URL: ground_control_tui-0.1.4.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bba1ec6ea159f5385478707bcbd9f9a9df8d3a33498a2ad3b8f62f452f44fbf5
|
|
| MD5 |
275c39dc4fdee6b81bc97d13afdc0328
|
|
| BLAKE2b-256 |
57564c4ee0f51fa5ab7311faea6a4323470c8598319e60f6425889af479ada32
|
Provenance
The following attestation bundles were made for ground_control_tui-0.1.4.tar.gz:
Publisher:
python-publish.yml on alberto-rota/ground-control
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ground_control_tui-0.1.4.tar.gz -
Subject digest:
bba1ec6ea159f5385478707bcbd9f9a9df8d3a33498a2ad3b8f62f452f44fbf5 - Sigstore transparency entry: 153599427
- Sigstore integration time:
-
Permalink:
alberto-rota/ground-control@e280123f6bf572710dba583daa070cff2d87039d -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/alberto-rota
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e280123f6bf572710dba583daa070cff2d87039d -
Trigger Event:
release
-
Statement type:
File details
Details for the file ground_control_tui-0.1.4-py3-none-any.whl.
File metadata
- Download URL: ground_control_tui-0.1.4-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e49d4b9d3e8a76ecd7f5e7f10c2fb1df68ed0a19333cc57609cd8167cf5e434a
|
|
| MD5 |
4a208ec71423fb7463ee4984b3dda310
|
|
| BLAKE2b-256 |
a759a7d7ba33fc874fa69dc3173eed0f08c0fb1a9102dca1b25df269680dad80
|
Provenance
The following attestation bundles were made for ground_control_tui-0.1.4-py3-none-any.whl:
Publisher:
python-publish.yml on alberto-rota/ground-control
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ground_control_tui-0.1.4-py3-none-any.whl -
Subject digest:
e49d4b9d3e8a76ecd7f5e7f10c2fb1df68ed0a19333cc57609cd8167cf5e434a - Sigstore transparency entry: 153599429
- Sigstore integration time:
-
Permalink:
alberto-rota/ground-control@e280123f6bf572710dba583daa070cff2d87039d -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/alberto-rota
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e280123f6bf572710dba583daa070cff2d87039d -
Trigger Event:
release
-
Statement type: