gymextract

star 0

Exports workout data (strength training sets/reps/weight, cardio, etc.) from Technogym mywellness.com for a configurable date range and outputs raw JSON. Use when the user asks for Technogym data, mywellness workouts, gym training history, strength training logs, or wants to retrieve exercise data from mywellness.com.

lcanis By lcanis schedule Updated 3/4/2026

name: gymextract description: Exports workout data (strength training sets/reps/weight, cardio, etc.) from Technogym mywellness.com for a configurable date range and outputs raw JSON. Use when the user asks for Technogym data, mywellness workouts, gym training history, strength training logs, or wants to retrieve exercise data from mywellness.com.

gymextract

Export workout data from the Technogym mywellness.com web portal.

Prerequisites

  • Python 3.12+ and uv installed
  • .env file in the workspace root with:
    MYWELLNESS_EMAIL=<email>
    MYWELLNESS_PASSWORD=<password>
    
  • Dependencies installed: run uv sync in the workspace root

Instructions

1. Ensure dependencies are installed

cd <workspace_root>
uv sync

2. Fetch workout data

Run the CLI via uv run python -m gymextract with these options:

Option Default Description
--from YYYY-MM-DD 30 days ago Start of date range
--to YYYY-MM-DD today End of date range
--output PATH / -o PATH - (stdout) - for JSON to stdout, or a directory path for per-session files
--no-details off Skip per-exercise detail (sets/reps/weight). Much faster.
--env-file PATH .env Path to credentials file

Examples:

# Fetch last 30 days with full detail to stdout
uv run python -m gymextract

# Fetch a specific month, save to files
uv run python -m gymextract --from 2026-02-01 --to 2026-02-28 --output data/

# Quick session list without set/rep/weight detail
uv run python -m gymextract --from 2026-01-01 --to 2026-03-04 --no-details

3. Interpret the output

The JSON output contains an array of workout sessions. Each session has:

  • session_id, date (YYYYMMDD), name, total_moves
  • exercises[] — each exercise includes:
    • name — exercise name (e.g. "Drücken", "Beinpresse")
    • machine — equipment (e.g. "Chest Press Biostrength")
    • duration, calories, moves
    • resistance_type — "Isotonisch" for strength, empty for cardio
    • compliance — adherence to prescribed workout
    • total_weight_kg — total volume for that exercise
    • sets[] — per-set breakdown:
      • set_number, reps_target, reps_actual
      • weight_kg_target, weight_kg_actual
      • compliance_target, compliance_actual

4. Programmatic use from Python

from datetime import date
from gymextract.client import MywellnessClient

with MywellnessClient(email, password) as client:
    client.login()
    sessions = client.fetch_all(date(2026, 2, 1), date(2026, 3, 4))

Performance notes

  • With details: ~2-3 seconds per exercise (each requires a separate HTTP request). A session with 8 exercises takes ~20s.
  • Without details (--no-details): ~2s per month of data. Use this for quick overviews.
  • The tool fetches data in monthly chunks to avoid oversized HTML responses.
  • Progress is reported to stderr during detail fetching.

Troubleshooting

  • Login fails: Verify credentials in .env. The mywellness.com password is case-sensitive.
  • No sessions returned: Check the date range — sessions are returned by the date they were performed.
  • Timeouts: The default timeout is 60s per request. The mywellness.com server can be slow.
Install via CLI
npx skills add https://github.com/lcanis/gymexport --skill gymextract
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator