PRogramming PROgrams is a Python library for defining training programs.
Project description
PRogramming PROgrams
pr_pro is a Python package for defining training programs. It's main features at a glance are:
- Modular and extensible definition of different types of exercises
- Export to and import from
jsonfiles - Automatic computation of weights based on defined max values
- Render as plain text or pdf
- Ready to deploy
streamlitapp for each custom program that you define
Simple example
program = get_simple_example_program()
program.compute_values(ComputeConfig(one_rm_calculator=Brzycki1RMCalculator()))
print(program)
# Export to pdf
program.export_to_pdf(Path('example.pdf'))
--- Workout Test program ---
Best exercise values
Backsquat: 100
Bench Press: 80
Workout sessions
--- W1D1 ---
notes: Easy on first day.
Backsquat with 2 sets:
reps 5, weight 55.0, percentage 0.55, relative_percentage 0.619
reps 5, weight 55.0, percentage 0.55, relative_percentage 0.619
Pendlay row + Pushup with 2 sets:
reps 6, percentage 0.6 | reps 10
reps 6, percentage 0.6 | reps 10
Bench Press with 2 sets:
reps 8, weight 40.0, percentage 0.5, relative_percentage 0.621
reps 8, weight 40.0, percentage 0.5, relative_percentage 0.621
pr_pro also allows defining progressions throughout the training block. Look into pr_pro/examples.py for an example of this.
Installation
pip install pr_pro
streamlit visualization
You need to install the visualization dependencies
pip install pr_pro[vis]
Simply define your program and create a file streamlit_app.py with
from pr_pro.streamlit_vis.streamlit_app import run_streamlit_app
program = ... # Your program
run_streamlit_app(program)
Then run the streamlit app as per usual
streamlit run streamlit_app.py
The app looks like this:
For a live demo go to https://pr-pro-demo.streamlit.app/
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
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 pr_pro-1.1.0.tar.gz.
File metadata
- Download URL: pr_pro-1.1.0.tar.gz
- Upload date:
- Size: 75.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8168059a1a928c296d89c409392c6021093dfcac740934dc0310e6a7276c4db8
|
|
| MD5 |
1d0ba62c1d03af5eb60e851ce824d9f3
|
|
| BLAKE2b-256 |
f9053be908f1cc43dcb8e5357503a667b2071c143d2a9d52b7eadb4ea8bcd07d
|
File details
Details for the file pr_pro-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pr_pro-1.1.0-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a04b81b20576fce93e5f34959c030700eb489d22be6f5b47eaab2ec638493cc6
|
|
| MD5 |
62ed44f20e659bd15d7fbce8c080be8c
|
|
| BLAKE2b-256 |
5502903e4218c94976676a060a437ced4b43ebc71e8160997d001d0a837ae851
|