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 quitspace— Start/stop selected stopwatchr— Reset selected stopwatcha— Add a new stopwatchd— Delete selected stopwatchn— reName timer (alternativelycfor "change name")t— Theme selections— Settingsup/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)
| File | Size | Uploaded | |
|---|---|---|---|
| chronotui-0.4.0.tar.gz | 13.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|