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.1.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.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: diskwatch-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 cdb036797dd29b7ab37e369361d6a970c3397acd7ce3f2d3ba79ec386be7b952
MD5 c59d5771ae4ca45d1d866d03fde8add5
BLAKE2b-256 4a85a11202f5ca657a864a4d093b0dbc2778c0b05bf2f75895bacaa909751a7a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: diskwatch-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b748898f318bb04c787501f1ff4b38ccba57d410553050706b083fda463b92b
MD5 ced870ec39f82c0b08d6748371888cf1
BLAKE2b-256 bd22a834c6eb734a36f1727b0b37609dec852af09c7748d7f0bd4b060c083f72

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