Skip to main content

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.wav if missing
  • Uses mpv for 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cali_workout-1.0.0.tar.gz (64.7 kB view details)

Uploaded Source

Built Distribution

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

cali_workout-1.0.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

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

Hashes for cali_workout-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2b6cddf32c24df805b09f91cde4a052e53b6f6a37e6e22330de4d8215f88cfb2
MD5 e6c743af468192925afb3e250678cee5
BLAKE2b-256 dc32d797323d14ca872e640c18c533dcb2a8cdcbdd44d548491970f93aa83b12

See more details on using hashes here.

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

Hashes for cali_workout-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f198defc29a0bf260e6029b0f0a160f2030d54967f848c346869d5ec521e2162
MD5 4401bf33b3b866f60ec58fb5f00c0c13
BLAKE2b-256 f3d6d163f79b146cd9c16a63dfbaede1088f7190e7cd0e208d6bd03a3e72ccb6

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