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. Simple visualization in the command line
  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)
--- 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.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.0.1.tar.gz (70.6 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.0.1-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file pr_pro-1.0.1.tar.gz.

File metadata

  • Download URL: pr_pro-1.0.1.tar.gz
  • Upload date:
  • Size: 70.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for pr_pro-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1db47132a3bd37c4f4124d929bb0509fbe48ce98af2adf61793aa0f373ee280f
MD5 f71f2cd909fc9ad8aaadf4e3e11bf560
BLAKE2b-256 1aca205d4ac9bab9a437944072bad4796df230d1db5160984caf1bf22406c556

See more details on using hashes here.

File details

Details for the file pr_pro-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pr_pro-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.12

File hashes

Hashes for pr_pro-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 78803c66537610df02604e761fe060a95f2476daa80f764104306659c6f941b7
MD5 b0354801ac29fb8f300077b456244db4
BLAKE2b-256 0e0f8ae7ea13e5219acd9b5a0e53387380297cc41e4669ee7e6453ecee0b286e

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