Skip to main content

Typed utilities for strength training: 1RM estimates, RPE/RIR tables, volume, progression, and simple program planning.

Project description

strength-utils

Please note that this package is undergoing regular changes.

Typed utilities for strength training and programming.

Features

  • Multiple 1RM estimation formulas (Epley, Brzycki, Lombardi, Mayhew).
  • Predict training weight at target reps or RPE.
  • RPE ↔ %1RM tables (with interpolation).
  • Volume/tonnage calculations per exercise and per session.
  • Basic progression helpers (linear, double progression, RIR-based).
  • Simple templated programs (e.g., 5x5, PPL) as typed data models.
  • Unit conversion utilities (kg/lb).
  • 100% type-hinted code.

Quickstart

from strength_utils import estimate_1rm, predict_weight_for_reps, rpe_to_percent

one_rm = estimate_1rm(weight=140.0, reps=5, method="epley")  # ~163.3 kg
target = predict_weight_for_reps(one_rm, reps=3, rpe=9.0)    # planned training weight
print(one_rm, target)

License

MIT

Percent tables per lift

from strength_utils import make_percent_table_by_lift
tables = make_percent_table_by_lift({"Back Squat": 180.0, "Bench Press": 120.0})
print(tables["Back Squat"][0.8])  # -> 1RM * 0.8 rounded to nearest 2.5 kg

Program generators (PPL & 5x5)

from strength_utils import program_ppl, program_5x5
ppl = program_ppl()            # 3-day template
five = program_5x5(weeks=4)    # 12 sessions (3 per week)
for s in ppl:
    print(s.day, s.workout.name, len(s.workout.prescriptions))

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

strength_utils-0.1.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

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

strength_utils-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file strength_utils-0.1.0.tar.gz.

File metadata

  • Download URL: strength_utils-0.1.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for strength_utils-0.1.0.tar.gz
Algorithm Hash digest
SHA256 039b517d10f2b3097ee95bd26db1b97252efac98ea076391cec396acf2d0bad2
MD5 bfde5f93f882f9db0fb6f7fdabe36ffb
BLAKE2b-256 b300f05f4e7da852a4bccb8b13ea9a022d54bf9cee67c19b752e0d5fc40ef2a0

See more details on using hashes here.

File details

Details for the file strength_utils-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for strength_utils-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f42cb71503c0f76ea5626108bd3776fb06108dc9d92cef344f5d003377ab3126
MD5 78f5ba0950001ae87be5f66b647318d9
BLAKE2b-256 87b710bfc9e0c971c387c1aa8ef585071499a6bfdc4bddfbcfcb7315bb85d9eb

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