Skip to main content

PRogramming PROgrams is a Python library for defining training programs.

Project description

PRogramming PROgrams


cov

pr_pro is a Python package for defining training programs. It's main features at a glance are:

  1. Modular and extensible definition of different types of exercises
  2. Export to and import from json files
  3. Automatic computation of weights based on defined max values
  4. Render as plain text or pdf
  5. Ready to deploy streamlit app 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: Streamlit app example

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

pr_pro-1.1.0.tar.gz (75.4 kB view details)

Uploaded Source

Built Distribution

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

pr_pro-1.1.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

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

Hashes for pr_pro-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8168059a1a928c296d89c409392c6021093dfcac740934dc0310e6a7276c4db8
MD5 1d0ba62c1d03af5eb60e851ce824d9f3
BLAKE2b-256 f9053be908f1cc43dcb8e5357503a667b2071c143d2a9d52b7eadb4ea8bcd07d

See more details on using hashes here.

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

Hashes for pr_pro-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a04b81b20576fce93e5f34959c030700eb489d22be6f5b47eaab2ec638493cc6
MD5 62ed44f20e659bd15d7fbce8c080be8c
BLAKE2b-256 5502903e4218c94976676a060a437ced4b43ebc71e8160997d001d0a837ae851

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