Skip to main content

Python package for health and fitness calculations using ACSM-sourced equations

Project description

Fitness Tools

Healthy Lifestyles With Python

Fitness Tools is a Python package that facilitates healthy lifestyles using ACSM-sourced equations. Whether you're a wellness professional, veteran gym rat, or just starting your fitness journey, this package will benefit you.

Features

  • Body Composition — Estimate body fat percentage from skinfold measurements using Durnin-Womersley and Jackson-Pollock (3/4/7-site) equations
  • Rep Max Estimation — Convert between weight and rep ranges using the ACSM percentage-of-1RM table
  • Macronutrient Planning — Calculate daily calorie ranges and macro distributions by body type, activity level, and goal

Quick Start

No third-party dependencies. Python 3.11+ only.

pip install fitness-tools

Body Composition

from fitness_tools import DurninWomersley, Sex

calc = DurninWomersley(age=30, sex=Sex.MALE, skinfolds=(12, 8, 15, 10))
density = calc.body_density()
body_fat = calc.siri(density)

Rep Max Estimation

from fitness_tools import RM_Estimator

est = RM_Estimator(current_weight=185.0, current_reps=8, desired_reps=1)
result = est.estimate_weight(base=2.5)

Macronutrient Planning

from fitness_tools import MakeMeal, BodyType, ActivityLevel, Goal

meal = MakeMeal(
    weight=150,
    body_type=BodyType.MESOMORPH,
    activity_level=ActivityLevel.VERY,
    goal=Goal.MAINTENANCE,
)
daily = meal.daily_requirements()
per_meal = meal.make_meal(number_meals=5)

API

All public types are importable from fitness_tools:

Category Classes
Body Composition DurninWomersley, JacksonPollock3Site, JacksonPollock4Site, JacksonPollock7Site
Exercise RM_Estimator
Meal Planning MakeMeal
Enums Sex, BodyType, ActivityLevel, Goal
Data Models BodyCompositionResult, MacroTargets, RepEstimate

Agent Skills

This package includes 3 skills for AI-assisted fitness calculations:

Skill Description
body-composition Skinfold-based body fat assessment
rep-max One-rep max estimation via ACSM table
meal-planner Macronutrient planning by body type

Install

Claude Code plugin — run inside a Claude Code session:

/plugin marketplace add Jeffallan/Fitness-Tools
/plugin install fitness-tools@fitness-tools

skills.sh — from any terminal:

npx skills add Jeffallan/Fitness-Tools

How To Contribute

All skill levels are welcome and our maintainers will help you in whatever way we can.

License

This project is licensed under the Apache 2.0 License.

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

fitness_tools-1.0.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

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

fitness_tools-1.0.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file fitness_tools-1.0.0.tar.gz.

File metadata

  • Download URL: fitness_tools-1.0.0.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fitness_tools-1.0.0.tar.gz
Algorithm Hash digest
SHA256 51fce57c52ef10b0e4aaea019151403b9300933d4c6805699f72fa7f325b0bc4
MD5 d97d56f7a5f8697bba2322ad2a95e995
BLAKE2b-256 828d66634770e6ee717c5a5c5ba29016e99842863b369903244c2a7712bc7657

See more details on using hashes here.

Provenance

The following attestation bundles were made for fitness_tools-1.0.0.tar.gz:

Publisher: release.yml on Jeffallan/Fitness-Tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fitness_tools-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: fitness_tools-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fitness_tools-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 417212cdaa644a6e013457e79c6d2282a5f8c22f3a09abea1ed02e5a0a5bb116
MD5 5c66c6e9b79384077b292e2184106d8f
BLAKE2b-256 ceb891a430cebe6f651641b449af0b9bbaf676f13ba0ce2421ce9e759315e995

See more details on using hashes here.

Provenance

The following attestation bundles were made for fitness_tools-1.0.0-py3-none-any.whl:

Publisher: release.yml on Jeffallan/Fitness-Tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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