Skip to main content

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).

Metadata

Release files for chronotui 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chronotui 0.4.0
File Size Uploaded
chronotui-0.4.0.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chronotui 0.4.0
File Interpreter ABI Platform
chronotui-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.7 kB

Release files / chronotui-0.4.0.tar.gz

Download URL chronotui-0.4.0.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8aa509f5e013878d963f5da69b3eeca983acd7bf4a6a50e2b288406e3e4efa8e
BLAKE2b-256 checksum
How to use checksums
1490602017aec1c8a8402e1302cb3c82a95988cd4815d6265b5fa68dceadb93e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.11

Release files / chronotui-0.4.0-py3-none-any.whl

Download URL chronotui-0.4.0-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb6cd5bbfabb7f7a3a406fcafaa6d9a670588c71c09f78881de412546a9d3d51
BLAKE2b-256 checksum
How to use checksums
4ce5b77aadf97b2a1a19c745fb57c96aceaa83065647a7646912c4d65d4a4dd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.11

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page