A terminal-based calisthenics workout timer with generated WAV sound alerts.
Project description
cali-workout
cali-workout is a terminal-based calisthenics workout timer designed for morning workouts, Termux, tmux, and simple command-line use.
It detects the current day of the week, loads the matching workout, runs timed exercise/rest intervals, and plays a generated WAV sound alert through mpv.
Features
- Terminal-based workout timer
- Day-of-week workout selection
- Warm-up, workout, rest, and cooldown timers
- Pause, skip, and quit controls
- Auto-generates
~/beep.wavif missing - Uses
mpvfor sound alerts when available - Works well in Termux and tmux
- No Python runtime dependencies
Installation
Recommended: uvx
After the package is published to PyPI:
uvx cali-workout
You can also run the shorter alias:
uvx --from cali-workout cali
Local development
Clone the repository:
git clone https://github.com/YOUR_USERNAME/cali-workout.git
cd cali-workout
Install/sync with uv:
uv sync --group dev
Run locally:
uv run cali-workout
Or:
uv run cali
Termux Setup
Install the recommended system packages:
pkg update
pkg install python uv mpv tmux
Then run:
uvx cali-workout
For local development in Termux:
git clone https://github.com/YOUR_USERNAME/cali-workout.git
cd cali-workout
uv sync --group dev
uv run cali-workout
Sound Alerts
cali-workout automatically creates:
~/beep.wav
if it does not already exist.
Sound playback uses:
mpv --no-video --really-quiet ~/beep.wav
If mpv is not installed, the app falls back to a terminal bell. The terminal bell may be silent in Termux, so mpv is recommended.
To manually generate the beep file:
uv run cali-workout --generate-beep
To manually test the sound:
mpv --no-video --really-quiet ~/beep.wav
Controls
During a timer:
p = pause/resume
s = skip current exercise or rest
q = quit
Weekly Schedule
Monday - Full Body Strength C
Tuesday - Mobility + Core
Wednesday - Full Body Strength B
Thursday - Conditioning Day
Friday - Full Body Strength A
Saturday - Longer Easy Session
Sunday - Recovery / Reset
Development Commands
Install development dependencies:
uv sync --group dev
Run the app:
uv run cali-workout
Lint:
uv run ruff check .
Format:
uv run ruff format .
Check dependencies:
uv run deptry .
Build:
uv build
Check distribution:
uv run twine check dist/*
Publish to PyPI:
uv publish
Build and Test Package Locally
Build the package:
uv build
Test it with uvx from the local wheel:
uvx --from dist/cali_workout-0.1.0-py3-none-any.whl cali-workout
License
MIT License.
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 cali_workout-1.0.0.tar.gz.
File metadata
- Download URL: cali_workout-1.0.0.tar.gz
- Upload date:
- Size: 64.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b6cddf32c24df805b09f91cde4a052e53b6f6a37e6e22330de4d8215f88cfb2
|
|
| MD5 |
e6c743af468192925afb3e250678cee5
|
|
| BLAKE2b-256 |
dc32d797323d14ca872e640c18c533dcb2a8cdcbdd44d548491970f93aa83b12
|
File details
Details for the file cali_workout-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cali_workout-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f198defc29a0bf260e6029b0f0a160f2030d54967f848c346869d5ec521e2162
|
|
| MD5 |
4401bf33b3b866f60ec58fb5f00c0c13
|
|
| BLAKE2b-256 |
f3d6d163f79b146cd9c16a63dfbaede1088f7190e7cd0e208d6bd03a3e72ccb6
|