Skip to main content

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.wav if missing
  • Uses mpv for sound alerts when available
  • Works well in Termux and tmux
  • No Python runtime dependencies

Installation

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.

Metadata

Release files for cali-workout 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cali-workout 1.0.0
File Size Uploaded
cali_workout-1.0.0.tar.gz 64.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cali-workout 1.0.0
File Interpreter ABI Platform
cali_workout-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 74.0 kB

Release files / cali_workout-1.0.0.tar.gz

Download URL cali_workout-1.0.0.tar.gz
Size 64.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2b6cddf32c24df805b09f91cde4a052e53b6f6a37e6e22330de4d8215f88cfb2
BLAKE2b-256 checksum
How to use checksums
dc32d797323d14ca872e640c18c533dcb2a8cdcbdd44d548491970f93aa83b12
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / cali_workout-1.0.0-py3-none-any.whl

Download URL cali_workout-1.0.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f198defc29a0bf260e6029b0f0a160f2030d54967f848c346869d5ec521e2162
BLAKE2b-256 checksum
How to use checksums
f3d6d163f79b146cd9c16a63dfbaede1088f7190e7cd0e208d6bd03a3e72ccb6
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page