Skip to main content

The Python strength program generator.

Project description

PyPi Documentation Status

Install by running pip install streprogen. Remember to read the documentation.

Project summary

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

  • Sensible defaults: The software comes with sensible default values for all input parameters, giving the novice strength athlete some guidance on parameter selection. The software will raise warnings if the input parameters are unreasonable, 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 if the user wishes to do so.

  • Simple object oriented interface: The software is essentially built on four classes StaticExercise, DynamicExercise, Day and Program. In addition to these classes, a set of utility functions is provided for advanced usage.

  • Pretty output: The training programs are easily saved as .txt, .html or .tex files. From there you can print it and bring it to the gym.

Installation

Here’s the layman guide to installation.

  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. Write from streprogen import * to import everything from streprogen.

Sample code

from streprogen import Program, Day, DynamicExercise, StaticExercise

# Create a 4-week program
program = Program('My first program!', duration = 4)

# Create some dynamic and static exercises
bench = DynamicExercise('Bench press',
                        start_weight = 60, final_weight = 80)
squats = DynamicExercise('Squats',
                        start_weight = 80, final_weight = 95)
curls = StaticExercise('Curls', '3 x 12')
day = Day(exercises = [bench, squats, curls])

# Add day(s) to program and render it
program.add_days(day)
program.render()
print(program)
----------------------------------------------------------------
Program: My first program!

Program parameters
  duration: 4
  reps_per_exercise: 25
  avg_intensity: 75
  reps_scalers: 1.2, 1, 0.8, 1
  intensity_scalers: 0.9, 1, 1, 1
  units: kg
----------------------------------------------------------------
Exercise information
  Day 1
   Bench press   60kg -> 80kg     reps: [3, 8]   weekly inc.: 7.5%
   Squats        80kg -> 95kg     reps: [3, 8]   weekly inc.: 4.4%
   Curls         3 x 12
----------------------------------------------------------------
Program
 Week 1
  Day 1
   Bench press   6 x 45kg    7 x 42.5kg  7 x 42.5kg  7 x 42.5kg
   Squats        6 x 60kg    7 x 57.5kg  8 x 52.5kg  8 x 52.5kg
   Curls         3 x 12

 Week 2
  Day 1
   Bench press   4 x 55kg    5 x 52.5kg  5 x 52.5kg  5 x 52.5kg  6 x 50kg
   Squats        4 x 70kg    4 x 70kg    5 x 65kg    6 x 62.5kg  7 x 57.5kg
   Curls         3 x 12

 Week 3
  Day 1
   Bench press   6 x 55kg    6 x 55kg    6 x 55kg
   Squats        6 x 67.5kg  6 x 67.5kg  6 x 67.5kg
   Curls         3 x 12

 Week 4
  Day 1
   Bench press   5 x 62.5kg  6 x 60kg    6 x 60kg    7 x 57.5kg
   Squats        5 x 75kg    6 x 70kg    6 x 70kg    7 x 67.5kg
   Curls         3 x 12

----------------------------------------------------------------

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-1.1.8.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

streprogen-1.1.8-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: streprogen-1.1.8.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for streprogen-1.1.8.tar.gz
Algorithm Hash digest
SHA256 482206716ddd8088d3dbc0f637c3397dd17488e7684a2d338e2346b9782d6452
MD5 09b874dfb5bdeeae3c4756680a240850
BLAKE2b-256 3c6e3aba350bba544c3c39b95d8f363beeccd78c76f08332c6b4d91e5051c4e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: streprogen-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 35.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for streprogen-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4e111f3ac3db21810d2fe354fffaf6e4e11e59f4f470abd6a2971b2ae425dc55
MD5 08448e1b30afd2866f5cdea0f1335159
BLAKE2b-256 f0f22732da225a1166649152c09c3b3168989ea18e36388dc5da1712c14f1ae8

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