A terminal-based pomodoro timer with animated ASCII hourglass
Project description
hglass
A terminal-based pomodoro timer with an animated ASCII hourglass.
Install
pip install hglass
Or install from source:
git clone https://github.paypal.com/mpushkar/hglass.git
cd hglass
pip3 install -e .
Usage
Single Timer
hglass 25 # 25-minute timer
hglass 5 # 5-minute timer
hglass 0.1 # 6-second test run
If hglass isn't on your PATH after install, use:
python3 -m hourglass.cli 25
Options
hglass 25 --label "Deep Work" # label above the hourglass
hglass 25 --theme retro # green-on-black matrix style
hglass 25 --theme light # light terminal theme
hglass 25 --silent # no terminal bell
hglass 25 --no-notify # no desktop notification
Pomodoro Mode
hglass pomo # 4 rounds, 25min work / 5min break
hglass pomo --work 50 --break 10 --rounds 2 # custom durations
hglass pomo --label "Project X" --theme retro
Controls
| Key | Action |
|---|---|
| Space | Pause / resume the timer |
| Ctrl+C | Cancel the timer (in pomodoro mode, shows partial summary) |
Themes
| Theme | Description |
|---|---|
dark (default) |
Amber sand, sky blue caps — for dark terminals |
light |
Deep blue caps, dark orange sand — for light terminals |
retro |
Green-on-black matrix style |
Testing
All testing is manual. Quick test commands:
# Basic timer (6 seconds)
python3 -m hourglass.cli 0.1
# Test each theme
python3 -m hourglass.cli 0.1 --theme dark
python3 -m hourglass.cli 0.1 --theme light
python3 -m hourglass.cli 0.1 --theme retro
# Test label
python3 -m hourglass.cli 0.1 --label "Focus Time"
# Test pause — press Space during the timer, press Space again to resume
# Test pomodoro (6s work, 3s break, 2 rounds)
python3 -m hourglass.cli pomo --work 0.1 --break 0.05 --rounds 2
# Test Ctrl+C during pomodoro — should show partial summary
# Test silent mode (no bell, no desktop notification)
python3 -m hourglass.cli 0.1 --silent --no-notify
Features
- Large animated hourglass with falling sand
- Smooth grain-drop neck animation at 8 fps
- Big-digit countdown timer (MM:SS)
- Pause/resume with Space key
- Pomodoro mode with work/break cycles and round tracking
- Desktop notifications on macOS and Linux
- Three color themes (dark, light, retro)
- Bell notification and flashing "TIME'S UP!" on completion
- Automatic fallback for small terminal windows
Requirements
- Python 3.9+
- Rich
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hglass-0.2.0.tar.gz
(9.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
hglass-0.2.0-py3-none-any.whl
(10.6 kB
view details)
File details
Details for the file hglass-0.2.0.tar.gz.
File metadata
- Download URL: hglass-0.2.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a4421470044338c8ef8df064791f6278b5c60c0f32bec7947e7d8381398b9fe
|
|
| MD5 |
8ec2a582458cf95e6c55f5878a09570b
|
|
| BLAKE2b-256 |
938c94a9d8989debcfc450585a2d470e81fb0ef177197d6612c2860926089fac
|
File details
Details for the file hglass-0.2.0-py3-none-any.whl.
File metadata
- Download URL: hglass-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13242fbf50452c1723fe29e3b7faefc3955024c09894a401ac23a6e7a7b4441f
|
|
| MD5 |
fe465a4c35d4cc3c0f5c520032ccf477
|
|
| BLAKE2b-256 |
75b9766a8bd34004406dea9f6c97972df889b69173b30ad16ab89a30db625b8e
|