Skip to main content

Python TUI with Textual for tracking time

Project description

ChronoTUI

ChronoTUI is a modern terminal-based stopwatch and timer manager built with Textual. It lets you track multiple timers with a beautiful, keyboard-driven interface, and automatically saves your session state.

Features

  • Multiple stopwatches, each with custom names
  • Start, stop, reset, and rename timers
  • Keyboard navigation and control (Vim-like bindings)
  • Autosave and autoload: your timers persist between sessions
  • Dark/light mode toggle
  • Fast, responsive UI in your terminal

Installation

You can install ChronoTUI using either pip or uv:

pip install chronotui

Alternatively, if you have uv installed, you can install it in a special virtual environment:

uv tool run chronotui
# identical to the shortcut alias
uvx chronotui

Note that when installed via uv, you have to run it with the uvx command on every start.

Usage

After installation, launch ChronoTUI from your terminal:

chronotui

If this doesn't work (possibly due to incorrect symlink creation during installation), you can also run it as a module:

python -m chronotui

Keyboard Shortcuts

  • q — Save and quit
  • space — Start/stop selected stopwatch
  • r — Reset selected stopwatch
  • a — Add a new stopwatch
  • d — Delete selected stopwatch
  • n — reName timer (alternatively c for "change name")
  • t — Theme selection
  • s — Settings
  • up/down/j/k — Select stopwatch (hidden)
  • S — Save stopwatches manually (hidden)
  • L — Load stopwatches manually (hidden)

State Persistence

ChronoTUI automatically saves your timers and their states to session.json in your user data directory when you quit, and reloads them when you start the app. If a stopwatch was running when you quit, its elapsed time will be updated when you restart.

User data directory is typically located at ~/.local/share/chronotui/ on Linux, or %APPDATA%\Local\chronotui\ on Windows.

Similarly, the configuration file is saved to config.json in the user config directory, allowing you to customize settings like the theme and key bindings.

User config directory is typically located at ~/.config/chronotui/ on Linux, or %APPDATA%\Local\chronotui\ on Windows (same as user data).

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

chronotui-0.4.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

chronotui-0.4.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file chronotui-0.4.0.tar.gz.

File metadata

  • Download URL: chronotui-0.4.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.11

File hashes

Hashes for chronotui-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8aa509f5e013878d963f5da69b3eeca983acd7bf4a6a50e2b288406e3e4efa8e
MD5 8e0b5e1aee5457f26bf13724282a3356
BLAKE2b-256 1490602017aec1c8a8402e1302cb3c82a95988cd4815d6265b5fa68dceadb93e

See more details on using hashes here.

File details

Details for the file chronotui-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: chronotui-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.11

File hashes

Hashes for chronotui-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb6cd5bbfabb7f7a3a406fcafaa6d9a670588c71c09f78881de412546a9d3d51
MD5 61dd6f91f290897f87e3f3894ceaf922
BLAKE2b-256 4ce5b77aadf97b2a1a19c745fb57c96aceaa83065647a7646912c4d65d4a4dd2

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