Skip to main content

A modern terminal disk usage analyzer built with Textual.

Project description

DiskWatch ๐Ÿ–ฅ๏ธ

A Veeam-style TUI disk monitor for your Ubuntu server.
Navigate physical disks โ†’ partitions โ†’ folders, all in the terminal.

  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—    โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—
  โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘
  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ•‘ โ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘
  โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘     โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘
  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•—โ•šโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘
  โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ• โ•šโ•โ•โ•โ•šโ•โ•โ• โ•šโ•โ•  โ•šโ•โ•  โ•šโ•โ•    โ•šโ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•

Navigation

Key Action
โ†‘ / โ†“ Move between rows
Enter Open disk โ†’ partition โ†’ folder
Esc / q Go back / Quit
r Refresh data

Screens

Main screen (physical disks)
 โ””โ”€ Partition screen (partitions of the selected disk)
      โ””โ”€ Folder browser (du-based folder tree)
           โ””โ”€ Sub-folder browser (navigate deeper)

Dev Environment (Docker)

Prerequisites

  • Docker + Docker Compose installed on your server

Setup

# 1. Clone / copy the project
cd /opt
git clone ... diskwatch   # or scp from your machine
cd diskwatch

# 2. Make the launcher executable
chmod +x dev.sh

# 3. Build the image (~1 minute)
./dev.sh build

# 4. Enter the dev shell
./dev.sh run
# You are now inside the container โ†“

# 5. Run DiskWatch
python diskwatch.py

Live editing

The ./app/ folder is mounted into the container at /app.
Edit diskwatch.py on your host with any editor, and re-run python diskwatch.py inside the container โ€” no rebuild needed.

Run without entering the shell

./dev.sh watch

Install directly on the server (no Docker)

# Python 3.10+ required
pip install textual psutil rich

# Run
python /path/to/diskwatch.py

To make it available as a command:

sudo cp app/diskwatch.py /usr/local/bin/diskwatch
sudo chmod +x /usr/local/bin/diskwatch

# Then just type:
diskwatch

Project structure

diskwatch/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ diskwatch.py       โ† The entire TUI app
โ”‚   โ””โ”€โ”€ requirements.txt   โ† Python dependencies
โ”œโ”€โ”€ Dockerfile             โ† Dev container definition
โ”œโ”€โ”€ docker-compose.yml     โ† Docker Compose config
โ”œโ”€โ”€ dev.sh                 โ† Helper launcher script
โ””โ”€โ”€ README.md

Color legend

Color Meaning
๐ŸŸข Green Usage below 70% โ€” all good
๐ŸŸก Yellow Usage 70โ€“90% โ€” getting full
๐Ÿ”ด Red Usage above 90% โ€” critical

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

diskwatch-0.1.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

diskwatch-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file diskwatch-0.1.0.tar.gz.

File metadata

  • Download URL: diskwatch-0.1.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for diskwatch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4e4585382e4fbbde1c0feb86149685a141049ba0d95bee69a15601358ccfabcf
MD5 e7cbc7d145ea56f6335cb53af5166d47
BLAKE2b-256 720ab679b90504fe07f5c828c15caadc4ea1f00d765d61cac9985af4fd1bbfc3

See more details on using hashes here.

File details

Details for the file diskwatch-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: diskwatch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for diskwatch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 199aa50f5add92a2c6d4a5deb4f0be89d67261415383b62ab77104bb6eef21d9
MD5 f6d1d1415e186e61517684f1b2910fe4
BLAKE2b-256 4caf7a07fcafd04cc0e866c72ec0b7b5731a27ca448bb37c84af2eb0e99d244f

See more details on using hashes here.

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