0.2.0
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.
HevyExerciseSensornow exposesvolume_kgas an attribute.- Fixed latent bug:
except Exceptionin 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
TestCI workflow.
Closes
- #70 Fase 1: rich sensors
Full diff: v0.1.3...v0.2.0