Skip to main content

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

License

MIT

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

hglass-0.2.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

hglass-0.2.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

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

Hashes for hglass-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0a4421470044338c8ef8df064791f6278b5c60c0f32bec7947e7d8381398b9fe
MD5 8ec2a582458cf95e6c55f5878a09570b
BLAKE2b-256 938c94a9d8989debcfc450585a2d470e81fb0ef177197d6612c2860926089fac

See more details on using hashes here.

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

Hashes for hglass-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13242fbf50452c1723fe29e3b7faefc3955024c09894a401ac23a6e7a7b4441f
MD5 fe465a4c35d4cc3c0f5c520032ccf477
BLAKE2b-256 75b9766a8bd34004406dea9f6c97972df889b69173b30ad16ab89a30db625b8e

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