A Python CLI utility to generate a 6-week "Russian Bench Press" peaking program. It outputs an .ics file that can be imported into your favorite calendar application (Google Calendar, Apple Calendar, Outlook, etc.).
- Customizable Schedule: Set your workout days and times (e.g., Mon/Wed/Fri or Tue/Thu/Sat).
- Progressive Overload: Automatically calculates weights based on your 1 Rep Max (1RM).
- Calendar Integration: Generates a standard
.icsfile.
- Python 3.6+
- No external dependencies for the standalone executable.
You can run the standalone file directly:
python3 russian_bench.pyz -1rm 100 --schedule Mon 18:00 Wed 18:00 Fri 18:00-1rm <weight>: Required. Your current 1 Rep Max (e.g.,100,225.5).--schedule <Day> <Time> <Day> <Time> <Day> <Time>: Required. The 3 days and times you want to train each week.- Format:
Day HH:MM. - Example:
Mon 08:00 Wed 18:30 Sat 10:00.
- Format:
--start-date <YYYY-MM-DD>: Optional. The date to start the program (defaults to the next Monday).--output <filename>: Optional. The output filename (default:program.ics).
Generate a program starting next Monday for a 120kg bencher, training MWF evenings:
python3 russian_bench.pyz -1rm 120 --schedule Mon 18:00 Wed 18:00 Fri 18:00Generate a program starting on a specific date:
python3 russian_bench.pyz -1rm 250 --start-date 2023-11-01 --schedule Tue 06:00 Thu 06:00 Sat 09:00 --output my_bench_cycle.icsTo build the standalone .pyz file:
./build.shThis will create russian_bench.pyz in the current directory.
To run the unit and integration tests:
-
Install dependencies:
pip install -r requirements.txt
-
Run tests:
python3 -m unittest discover tests