Skip to main content

A beautiful TUI replacement for `watch` with graphs, stats, and multiple views

Project description

kentraWATCH

A beautiful TUI replacement for watch with live graphs, stats dashboards, and structured output parsing.

Python Textual

Features

  • Live command execution — run any command at a configurable interval (0.5s–60s)
  • Output view — colored diff with fade-away change highlighting, word wrap toggle, horizontal scroll
  • Graph view — auto-detected numeric columns plotted as line charts over time
  • Stats view — timing, history, uptime, and exit code dashboard
  • Structured output parsing — auto-detects delimiters (comma, tab, pipe, semicolon, whitespace) and numeric columns with unit suffix parsing (K, M, G, T, P)
  • Settings modal — categorized two-pane settings screen for all options
  • Config persistence~/.kentrawatch/config.json auto-saves on every change
  • Themes — toggle between 21+ Textual themes
  • Pause/resume — freeze execution without losing history
  • Maximize mode — hide chrome for a focused view (m)
  • File logging~/.kentrawatch/kentrawatch.log with rotation

Installation

pip install kentrawatch

Or from source:

git clone https://github.com/yourusername/kentrawatch
cd kentrawatch
pip install -e .

Requires Python ≥3.12.

Usage

kentrawatch [options] <command>
kw [options] <command>

Examples

# Watch disk usage
kentrawatch "df -h"

# Watch with custom interval and CSV parsing
kentrawatch -n 5 -d , "ps aux | awk '{print \$3,\$4}'"

# Disable change highlighting
kentrawatch --no-highlight "vm_stat"

# Set log level
kentrawatch --log-level DEBUG "ping -c 1 8.8.8.8"

Options

Flag Default Description
-n, --interval 2.0 Update interval in seconds (min 0.5)
-d, --delimiter auto Column delimiter for structured output
--history 100 Number of runs to keep in history
--log-level INFO Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
--version Show version and exit
--highlight / --no-highlight on Enable/disable change highlighting

Keybindings

Key Action
q Quit
r Reset history
p Pause/resume
w Toggle word wrap
s Open settings modal
m Toggle maximize mode
+ / - Increase/decrease interval by 0.5s

Views

The interface has three tabs, navigable by clicking:

Tab Content
Output Command stdout with diff highlighting and fade animation
Graphs Live line charts for numeric columns across runs
Stats Timing, command, history, and exit code dashboard

Settings Modal

Press s to open the categorized settings modal:

Category Settings
Display Theme (21+ Textual themes), Highlight toggle, Word Wrap toggle
Execution Interval, Delimiter, History Size
Logging Log Level (DEBUG–CRITICAL)

All changes apply immediately and persist to ~/.kentrawatch/config.json.

Configuration

Settings are saved to ~/.kentrawatch/config.json:

{
  "interval": 2.0,
  "delimiter": null,
  "history_size": 100,
  "theme": "dracula",
  "highlight": true,
  "wrap": true,
  "log_level": "INFO"
}

CLI flags override config file values.

Logging

Logs are written to ~/.kentrawatch/kentrawatch.log with automatic rotation at 10 MB (3 backups retained).

Dependencies

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

kentrawatch-0.1.0.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

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

kentrawatch-0.1.0-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kentrawatch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 751446c8ef49d5e90ada79710aaebde2afd7e3f444e1b939dc7f509d34028912
MD5 9ca640ed85b34a48f51dbb39e9231d35
BLAKE2b-256 212833926502998caa26ef3aa1b1722b25d1a28f53bcf626c823199c0357fb6c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for kentrawatch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2529c8ceee56d1f9a23b77aae7a8f7d89ae87e558a84f562b5a4f93a4d294669
MD5 4cabe06f4ec3471751e851e15428018c
BLAKE2b-256 61205e827db47531db54f7f932a4c6daa895d752d99d83ba175fc3d6638c7051

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