Skip to main content

The Python strength program generator.

Project description

PyPi Documentation Status Test Status

Install locally using pip install streprogen, or run live notebooks online.

Run code in your browser

If you don’t have Python installed, you can run the code in your browser.

Learn how to make strength training programs

Example strength training program library

Check out the example PDF output.

Multi-day meal planning

Instructions for live code: Click “Runtime”, then “Run all”. To download a saved file, click on the arrow on the top left, left click the file and “Download”. A downloaded .html file can be printed from your local browser.

Project summary

Streprogen (short for strength program generator) is a Python 3.6+ package which allows the user to easily create dynamic, flexible strength training programs. The main features are:

  • Sensible defaults: We aim for sensible default values for all input parameters, giving the novice strength athlete some guidance on parameter selection. The software will raise warnings for unreasonable input parameters, but will still run.

  • High level of customization: Every important parameter can be changed by the user. It is possible to create long-term training programs with several layers of periodization for advanced planning.

  • Simple interface: The software should be usable even by people with little Python knowledge.

  • Pretty output: Training programs may be saved as .txt, .html or .tex files. Print it and bring it to the gym.

https://raw.githubusercontent.com/tommyod/streprogen/master/docs/examples/streprogen_overview.png

Installation

Here’s how to install the software on your local machine.

  1. Download Anaconda distribution of Python 3.x from the Anaconda Website.

  2. Install streprogen from PyPI.

    1. Windows: Open the Anaconda prompt from the start menu and run pip install streprogen.

    2. Linux: Open the terminal and run pip install streprogen.

  3. Open a Python Editor (such as Spyder, which comes with Anaconda).

  4. Copy the example below and run it to get started.

Sample code

from streprogen import Program

# Create an 8-week program, rounding every exercise to nearest unit og 5kg
program = Program("My first program!", duration=8, units="kg", round_to=5)

with program.Day("Day A"):
    program.DynamicExercise("Bench press", start_weight=80, min_reps=3, max_reps=8)
    program.DynamicExercise("Squats", start_weight=100, min_reps=3, max_reps=8)

with program.Day("Day B"):
    program.DynamicExercise("Deadlifts", start_weight=100, min_reps=2, max_reps=7)
    program.StaticExercise("Curls", "3 x 10 @ 18kg")

# Render the program, then print it
program.render()
print(program)
----------------------------------------------------------------
Program: My first program!

Program parameters
  duration: 8
  reps_per_exercise: 25
  intensity: 83
  units: kg
----------------------------------------------------------------
Exercise information
  Day A
   Bench press    80kg -> 89.6kg
    reps: [3, 8]   weekly inc.: 1.5%
   Squats        100kg -> 112kg
    reps: [3, 8]   weekly inc.: 1.5%
  Day B
   Deadlifts     100kg -> 112kg
    reps: [2, 7]   weekly inc.: 1.5%
   Curls         3 x 10 @ 18kg
----------------------------------------------------------------
Program
 Week 1
  Day A
   Bench press   8 x 60kg   7 x 65kg   7 x 65kg   7 x 65kg
   Squats        8 x 75kg   7 x 80kg   7 x 80kg   7 x 80kg

  Day B
   Deadlifts     7 x 80kg   7 x 80kg   6 x 80kg   6 x 80kg   5 x 85kg
   Curls         3 x 10 @ 18kg

 Week 2
  Day A
   Bench press   7 x 65kg   7 x 65kg   6 x 65kg   5 x 70kg   5 x 70kg
   Squats        7 x 80kg   7 x 80kg   6 x 85kg   5 x 85kg   5 x 85kg

  Day B
   Deadlifts     7 x 80kg   7 x 80kg   6 x 85kg   5 x 85kg   5 x 85kg
   Curls         3 x 10 @ 18kg

 Week 3
  ...
   ...

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

streprogen-3.4.1.tar.gz (47.6 kB view details)

Uploaded Source

Built Distribution

streprogen-3.4.1-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

Details for the file streprogen-3.4.1.tar.gz.

File metadata

  • Download URL: streprogen-3.4.1.tar.gz
  • Upload date:
  • Size: 47.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for streprogen-3.4.1.tar.gz
Algorithm Hash digest
SHA256 6eeae108c8516f253ed5b79809911c705d2a3dc9f35dd64a2497cc05d5f9f19d
MD5 244711ee79dd36391eb5e1cb6bfd87cf
BLAKE2b-256 3a86cb8368e4d094d9c41a6e2c751f5f0e1903a4a1da4156a170954eadb352c4

See more details on using hashes here.

File details

Details for the file streprogen-3.4.1-py3-none-any.whl.

File metadata

  • Download URL: streprogen-3.4.1-py3-none-any.whl
  • Upload date:
  • Size: 49.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for streprogen-3.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bea6e374b7b9f6ffe67432a53ba0873ec8d826cafa0e1885975578745540c2d0
MD5 7397f88fff5dafb058694bcd9951086d
BLAKE2b-256 25444d614e4d738b2048ad8c6281e0297f1bc83f0ad4a445ebf3ee6fa24f13d6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page