Friendly terminal alarms, timers & pomodoro for macOS and Linux
Project description
chime
Friendly terminal alarms, timers & pomodoro for macOS and Linux.
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 soundsto list)--repeat N— repeat the alert sound N times (default 3)--say— speak the message aloud (usessayon macOS,spd-say/espeakon 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
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
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
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f24cd0a23b0890b97d3a7caf20829184bea4927683e5ca43fb79428e4d3e198
|
|
| MD5 |
627be1674a582b4a2860ac6de6f793d8
|
|
| BLAKE2b-256 |
57e2a88e672f758ea15fa78c1281e9ae6a591fbee49172abb23cd253d13be50b
|
Provenance
The following attestation bundles were made for chime_cli-0.1.0.tar.gz:
Publisher:
release.yml on MaVericKWareZ/chime
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chime_cli-0.1.0.tar.gz -
Subject digest:
6f24cd0a23b0890b97d3a7caf20829184bea4927683e5ca43fb79428e4d3e198 - Sigstore transparency entry: 1808793504
- Sigstore integration time:
-
Permalink:
MaVericKWareZ/chime@a2c237c7ec987a14c45bb86e364f883d0c135250 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/MaVericKWareZ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a2c237c7ec987a14c45bb86e364f883d0c135250 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fcfeb8fd1eb94417efa48143387f59818ecd7c6edb8ccdaeac4a0ce8f86319f
|
|
| MD5 |
cc2d55efee86e682cdc15725da3519c3
|
|
| BLAKE2b-256 |
7084d2c1ebac640e69ca570468824d6a1736e6c8a3b646ee52df8bef4c437493
|
Provenance
The following attestation bundles were made for chime_cli-0.1.0-py3-none-any.whl:
Publisher:
release.yml on MaVericKWareZ/chime
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chime_cli-0.1.0-py3-none-any.whl -
Subject digest:
5fcfeb8fd1eb94417efa48143387f59818ecd7c6edb8ccdaeac4a0ce8f86319f - Sigstore transparency entry: 1808793538
- Sigstore integration time:
-
Permalink:
MaVericKWareZ/chime@a2c237c7ec987a14c45bb86e364f883d0c135250 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/MaVericKWareZ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a2c237c7ec987a14c45bb86e364f883d0c135250 -
Trigger Event:
push
-
Statement type: