Skip to content

0.2.0

Choose a tag to compare

@hudsonbrendon hudsonbrendon released this 17 May 22:59
942a6c7

What's New

Major expansion of API coverage — 20+ new sensors backed by previously-unused Hevy endpoints.

New sensors

User & body

  • User profile (with id + profile URL attributes)
  • Body weight (SensorDeviceClass.WEIGHT)
  • Body fat percentage
  • Lean mass

Last workout

  • Title (with exercise count + total reps attributes)
  • Start time (TIMESTAMP)
  • Duration (DURATION, minutes)
  • Volume (WEIGHT, kg)

Aggregates

  • Volume today / this week / this month / this year (kg)
  • Training time today / this week / this month (min)

Streaks & variety

  • Current streak (days)
  • Longest streak (days)
  • Unique exercises in last 7d / 30d

Improvements

  • Coordinator parallelizes API calls via asyncio.gather (4 endpoints per refresh).
  • Optional endpoints (user, measurements) fail gracefully without breaking the refresh.
  • HevyExerciseSensor now exposes volume_kg as an attribute.
  • Fixed latent bug: except Exception in API wrapper was swallowing auth errors, breaking the reauth flow.

Testing

  • New pytest suite (34 tests) covering coordinator helpers, state builder, and API client error paths.
  • New Test CI workflow.

Closes

  • #70 Fase 1: rich sensors

Full diff: v0.1.3...v0.2.0