Skip to main content

A Python Textual app for monitoring VMs in the terminal

Project description

Ground Control 🚀

PyPI version License: GPL v3 Python 3.6+

A modern, responsive Terminal User Interface (TUI) for real-time system monitoring, built with Textual.

Ground Control Demo

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 layout
  • v: Switch to vertical layout
  • g: Switch to grid layout
  • a: Toggle automatic layout
  • q: Quit the application

Layout Modes

Ground Control offers three layout modes:

  1. Grid Layout (Default): 2x2 grid arrangement
  2. Horizontal Layout: All panels in a row
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ground_control_tui-0.1.4.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ground_control_tui-0.1.4-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

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

Hashes for ground_control_tui-0.1.4.tar.gz
Algorithm Hash digest
SHA256 bba1ec6ea159f5385478707bcbd9f9a9df8d3a33498a2ad3b8f62f452f44fbf5
MD5 275c39dc4fdee6b81bc97d13afdc0328
BLAKE2b-256 57564c4ee0f51fa5ab7311faea6a4323470c8598319e60f6425889af479ada32

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ground_control_tui-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for ground_control_tui-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e49d4b9d3e8a76ecd7f5e7f10c2fb1df68ed0a19333cc57609cd8167cf5e434a
MD5 4a208ec71423fb7463ee4984b3dda310
BLAKE2b-256 a759a7d7ba33fc874fa69dc3173eed0f08c0fb1a9102dca1b25df269680dad80

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page