Tags: matin/garth
Tags
Fix OAuth2 token auto-refresh for non-OAuth2Token instances (#126) * Fix OAuth2 token auto-refresh for non-OAuth2Token instances - Replace isinstance check with hasattr check for expired property - Fixes issue where tokens loaded as dicts bypass auto-refresh logic - Ensures refresh works regardless of token object type - Bump version to 0.5.16 Closes #125 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Improve OAuth2 refresh logic with proper type handling - Use hasattr() check instead of type ignore for better type safety - Only skip refresh if token.expired is provably False - Refresh in all other cases (missing token, expired, or no expired property) - Defensive approach catches every possible edge case 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * let's try this instead --------- Co-authored-by: Claude <noreply@anthropic.com>
Add project URLs to pyproject.toml (#124) - Add [project.urls] section with Homepage, Repository, Issues, and Changelog - Improves PyPI package page by linking to GitHub repository - Makes it easier for users to find the source code and report issues - Bump version to 0.5.15 Closes #123 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <noreply@anthropic.com>
Add hydration stats support (#121) * Add hydration stats support - Add DailyHydration class for retrieving daily hydration data - Use endpoint /usersummary-service/stats/hydration/daily/{start}/{end} - Include value_in_ml and goal_in_ml fields - Add comprehensive test with VCR cassette - Export DailyHydration in main garth module Partially addresses #54 (reading functionality only) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Add hydration section to README with real data example - Add hydration documentation between Body Battery and Steps sections - Use actual data from VCR cassette (1750ml consumed, 2800ml goal) - Follow existing README pattern for stats documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Bump version to 0.5.14 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Update hydration test cassette with fresh API recording - Re-record VCR cassette with current timestamp and headers - User-Agent updated to GCM-iOS-5.7.2.1 - Fresh CF-RAY and response headers from live API call - Same API data structure maintained (1750ml/2800ml goal) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Add Body Battery Support (#116) * Add Body Battery support - Add DailyBodyBatteryStress class for complete daily data - Add BodyBatteryData class for sleep events - Support for full day Body Battery and stress readings - API endpoints: /wellness-service/wellness/dailyStress/{date} - API endpoints: /wellness-service/wellness/bodyBattery/events/{date} * add tests for BodyBattery metric * resolve issues for BodyBattery metric * refactoring of Body Battery metric * update PR issues * refactoring of BodyBattrey module * add comments * update BodyBatteryData * update code quality * fix linter errors for Body Battery metric * fix CI test problemse for Body Battery. * fix tests issue * fix tests * fix code coverage * fix linting & coverage issues * fix linter errors for Body Battery metric * use dependency-groups * use this in Makefile instead * update ci with dependency-groups * bump version * DRY * fix some things * add examples to README and make calendar_date dt.date --------- Co-authored-by: Matin Tamizi <mtamizi@duck.com>
PreviousNext