Extraction de données Technogym

Exporte les données d'entraînement (force, cardio) de mywellness.com au format JSON.

Spar Skills Guide Bot
Data & IADébutant
2025/07/2026
Claude CodeCursorWindsurfCopilotCodex
#gym#workout#technogym#mywellness#data-export

Recommandé pour


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.
Skills similaires