Skip to content

bvpotapenko/bar-scheduler

Repository files navigation

bar-scheduler

Evidence-informed training planner for bodyweight strength exercises. Supports Pull-Up, Parallel Bar Dip, and Bulgarian Split Squat (DB) — all sharing one planning engine.

Training Log Weekly Volume

Quickstart

git clone <repo-url> && cd bar-scheduler
uv sync --extra dev       # install deps (dev includes test tools)
uv run bar-scheduler      # open interactive menu

Global install (no uv run prefix needed):

uv tool install -e .

Commands

Command Description
profile init Create / update profile; set baseline max and training days
profile update-weight 85.5 Update current bodyweight
profile update-equipment Configure bands, machine, or BSS surface
profile update-language ru Save display language to profile
plan Unified history + upcoming plan table; --weeks N; --json
log-session Log a completed session
show-history Display training history; --limit N; --json
plot-max ASCII chart of max reps; -t z/g/m trajectory overlays
status Current TM, readiness, plateau/deload flags; --json
volume Weekly rep volume chart; --weeks N; --json
explain DATE|next Step-by-step breakdown of how a session was planned
skip Shift plan forward/backward N days; --days N
1rm Estimate 1-rep max (5 formulas with ★ recommendation)
delete-record N Delete history entry #N
help-adaptation Adaptation timeline: what the model can predict at each stage

All data commands accept --exercise / -e (default: pull_up). Add --json for machine-readable output.

Interactive Menu

Run bar-scheduler without arguments:

[1] Show training log & plan
[2] Log today's session
[3] Show full history
[4] Progress chart
[5] Current status
[6] Update bodyweight
[7] Weekly volume chart
[e] Explain how a session was planned
[r] Estimate 1-rep max
[s] Rest day — shift plan forward
[u] Update training equipment
[l] Change display language
[i] Setup / edit profile & training days
[d] Delete a session by ID
[a] How the planner adapts over time
[0] Quit

Multi-Exercise & Language

bar-scheduler -e dip          # open menu with dip pre-selected
bar-scheduler -e bss plan     # run plan command for BSS
bar-scheduler --lang ru       # Russian interface for this session
bar-scheduler profile update-language zh   # save Chinese as default

Separate history files per exercise: ~/.bar-scheduler/pull_up_history.jsonl, dip_history.jsonl, bss_history.jsonl.

Available languages (auto-discovered from locales/*.yaml): en, ru, zh.

Documentation

Running Tests

uv run pytest

License

CC BY-NC 4.0 — non-commercial use with attribution. See LICENSE.

About

A simple script to generate pull-ups program

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages