Skip to main content

Friendly terminal alarms, timers & pomodoro for macOS and Linux

Project description

chime

Friendly terminal alarms, timers & pomodoro for macOS and Linux.

CI PyPI version Python versions License: MIT

A no-fuss CLI for the things you actually use timers for: a quick countdown, an alarm at 3pm, and pomodoro rounds when you need to focus. Zero dependencies, just the Python standard library.

$ chime 10m "tea is ready"
⏳  tea is ready
  target 16:42:11  ·  10m from now
  Ctrl-C to cancel

  09:58

Install

pipx install chime-cli      # recommended — isolates the install
# or
pip install --user chime-cli

That gives you the chime command on your PATH.

From source

git clone https://github.com/MaVericKWareZ/chime
cd chime
pipx install .

Usage

Command What it does
chime 10m "tea" Countdown timer (foreground)
chime 1h30m Same, longer
chime --bg 25m focus Set alarm in background, get your prompt back
chime at 9:30am standup Alarm at clock time
chime at 15:30 "pick up package" 24h clock
chime at "tomorrow 9am" Skip ahead one day
chime pomodoro 25/5 × 4 rounds (defaults)
chime pomodoro 50 10 3 50m work / 10m break × 3 rounds
chime stopwatch Count-up timer
chime list Show active background alarms
chime cancel 1234 Cancel one (by id from chime list)
chime cancel all Cancel everything
chime sounds List available alarm sounds
chime sounds Hero Preview a sound
chime help Full help

Options

Available on any alarm-setting command, in any position:

  • --bg — run in background, return immediately
  • --sound NAME — use a different alert sound (chime sounds to list)
  • --repeat N — repeat the alert sound N times (default 3)
  • --say — speak the message aloud (uses say on macOS, spd-say/espeak on Linux)
  • --no-sound — silent — desktop notification only

Duration formats

10m, 1h30m, 90s, 0.5h, 45m30s, 1d. A bare number is minutes: chime 30 = 30 min.

Time formats

15:30, 3:30pm, 9am, 9:00, tomorrow 9am. Past clock times automatically roll to tomorrow.

Platform support

Platform Notifications Sound Speech
macOS osascript afplay + system sounds say
Linux notify-send (libnotify) paplay / aplay spd-say / espeak
Windows not yet — PRs welcome terminal bell

Linux users typically already have these tools; on a fresh system: sudo apt install libnotify-bin pulseaudio-utils (Debian/Ubuntu) gets you notifications + sound.

Background alarms

When you use --bg, chime double-forks and detaches from your shell. You can close the terminal — the alarm still fires. State lives at $XDG_STATE_HOME/chime/alarms.json (defaults to ~/.local/state/chime/alarms.json). Stale entries from killed processes are pruned automatically the next time you run chime list or chime cancel.

Development

git clone https://github.com/MaVericKWareZ/chime
cd chime
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

pre-commit install   # auto-lint on commit

pytest               # run tests
ruff check .         # lint
ruff format .        # auto-format
python -m build      # build sdist + wheel

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

chime_cli-0.1.0.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

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

chime_cli-0.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file chime_cli-0.1.0.tar.gz.

File metadata

  • Download URL: chime_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chime_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6f24cd0a23b0890b97d3a7caf20829184bea4927683e5ca43fb79428e4d3e198
MD5 627be1674a582b4a2860ac6de6f793d8
BLAKE2b-256 57e2a88e672f758ea15fa78c1281e9ae6a591fbee49172abb23cd253d13be50b

See more details on using hashes here.

Provenance

The following attestation bundles were made for chime_cli-0.1.0.tar.gz:

Publisher: release.yml on MaVericKWareZ/chime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chime_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: chime_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chime_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fcfeb8fd1eb94417efa48143387f59818ecd7c6edb8ccdaeac4a0ce8f86319f
MD5 cc2d55efee86e682cdc15725da3519c3
BLAKE2b-256 7084d2c1ebac640e69ca570468824d6a1736e6c8a3b646ee52df8bef4c437493

See more details on using hashes here.

Provenance

The following attestation bundles were made for chime_cli-0.1.0-py3-none-any.whl:

Publisher: release.yml on MaVericKWareZ/chime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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