garth 0.5.20.dev2__tar.gz → 0.5.20.dev3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/PKG-INFO +1 -1
  2. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/hrv.py +6 -6
  3. garth-0.5.20.dev3/src/garth/version.py +1 -0
  4. garth-0.5.20.dev2/src/garth/version.py +0 -1
  5. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.coderabbit.yaml +0 -0
  6. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.devcontainer/Dockerfile +0 -0
  7. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.devcontainer/devcontainer.json +0 -0
  8. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.devcontainer/noop.txt +0 -0
  9. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.gitattributes +0 -0
  10. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.github/dependabot.yml +0 -0
  11. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.github/workflows/ci.yml +0 -0
  12. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.github/workflows/publish.yml +0 -0
  13. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.gitignore +0 -0
  14. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.markdownlint.json +0 -0
  15. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.pre-commit-config.yaml +0 -0
  16. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/.vscode/settings.json +0 -0
  17. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/LICENSE +0 -0
  18. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/Makefile +0 -0
  19. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/README.md +0 -0
  20. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/colabs/chatgpt_analysis_of_stats.ipynb +0 -0
  21. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/colabs/sleep.ipynb +0 -0
  22. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/colabs/stress.ipynb +0 -0
  23. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/pyproject.toml +0 -0
  24. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/__init__.py +0 -0
  25. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/auth_tokens.py +0 -0
  26. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/cli.py +0 -0
  27. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/__init__.py +0 -0
  28. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/_base.py +0 -0
  29. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/body_battery/__init__.py +0 -0
  30. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/body_battery/daily_stress.py +0 -0
  31. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/body_battery/events.py +0 -0
  32. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/body_battery/readings.py +0 -0
  33. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/sleep.py +0 -0
  34. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/data/weight.py +0 -0
  35. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/exc.py +0 -0
  36. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/http.py +0 -0
  37. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/py.typed +0 -0
  38. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/sso.py +0 -0
  39. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/__init__.py +0 -0
  40. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/_base.py +0 -0
  41. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/hrv.py +0 -0
  42. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/hydration.py +0 -0
  43. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/intensity_minutes.py +0 -0
  44. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/sleep.py +0 -0
  45. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/steps.py +0 -0
  46. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/stats/stress.py +0 -0
  47. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/users/__init__.py +0 -0
  48. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/users/profile.py +0 -0
  49. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/users/settings.py +0 -0
  50. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/src/garth/utils.py +0 -0
  51. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/12129115726_ACTIVITY.fit +0 -0
  52. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_client_request.yaml +0 -0
  53. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_connectapi.yaml +0 -0
  54. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_delete.yaml +0 -0
  55. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_download.yaml +0 -0
  56. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_exchange.yaml +0 -0
  57. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_login_command.yaml +0 -0
  58. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_login_email_password_fail.yaml +0 -0
  59. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_login_mfa_fail.yaml +0 -0
  60. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_login_return_on_mfa.yaml +0 -0
  61. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_login_success.yaml +0 -0
  62. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_login_success_mfa.yaml +0 -0
  63. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_login_success_mfa_async.yaml +0 -0
  64. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_profile_alias.yaml +0 -0
  65. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_put.yaml +0 -0
  66. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_refresh_oauth2_token.yaml +0 -0
  67. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_resume_login.yaml +0 -0
  68. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_upload.yaml +0 -0
  69. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_user_profile.yaml +0 -0
  70. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_user_settings.yaml +0 -0
  71. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_user_settings_sleep_windows.yaml +0 -0
  72. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/cassettes/test_username.yaml +0 -0
  73. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/conftest.py +0 -0
  74. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_body_battery_data_get.yaml +0 -0
  75. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_body_battery_data_list.yaml +0 -0
  76. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_body_battery_properties_edge_cases.yaml +0 -0
  77. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_daily_body_battery_stress_get.yaml +0 -0
  78. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_daily_body_battery_stress_get_no_data.yaml +0 -0
  79. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_daily_body_battery_stress_list.yaml +0 -0
  80. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_get_daily_weight_data.yaml +0 -0
  81. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_get_manual_weight_data.yaml +0 -0
  82. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_get_nonexistent_weight_data.yaml +0 -0
  83. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_hrv_data_get.yaml +0 -0
  84. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_hrv_data_list.yaml +0 -0
  85. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_sleep_data_get.yaml +0 -0
  86. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_sleep_data_list.yaml +0 -0
  87. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_weight_data_list.yaml +0 -0
  88. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_weight_data_list_empty.yaml +0 -0
  89. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/cassettes/test_weight_data_list_single_day.yaml +0 -0
  90. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/test_body_battery_data.py +0 -0
  91. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/test_hrv_data.py +0 -0
  92. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/test_sleep_data.py +0 -0
  93. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/data/test_weight_data.py +0 -0
  94. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_hrv.yaml +0 -0
  95. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_hrv_no_results.yaml +0 -0
  96. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_hrv_paginate.yaml +0 -0
  97. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_hrv_paginate_no_results.yaml +0 -0
  98. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_hydration.yaml +0 -0
  99. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_intensity_minutes.yaml +0 -0
  100. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_sleep.yaml +0 -0
  101. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_steps.yaml +0 -0
  102. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_stress.yaml +0 -0
  103. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_daily_stress_pagination.yaml +0 -0
  104. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_weekly_intensity_minutes.yaml +0 -0
  105. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_weekly_steps.yaml +0 -0
  106. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_weekly_stress.yaml +0 -0
  107. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_weekly_stress_beyond_data.yaml +0 -0
  108. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/cassettes/test_weekly_stress_pagination.yaml +0 -0
  109. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/test_hrv.py +0 -0
  110. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/test_hydration.py +0 -0
  111. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/test_intensity_minutes.py +0 -0
  112. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/test_sleep_stats.py +0 -0
  113. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/test_steps.py +0 -0
  114. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/stats/test_stress.py +0 -0
  115. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/test_auth_tokens.py +0 -0
  116. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/test_cli.py +0 -0
  117. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/test_http.py +0 -0
  118. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/test_sso.py +0 -0
  119. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/test_users.py +0 -0
  120. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/tests/test_utils.py +0 -0
  121. {garth-0.5.20.dev2 → garth-0.5.20.dev3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: garth
3
- Version: 0.5.20.dev2
3
+ Version: 0.5.20.dev3
4
4
  Summary: Garmin SSO auth + Connect client
5
5
  Project-URL: Homepage, https://github.com/matin/garth
6
6
  Project-URL: Repository, https://github.com/matin/garth
@@ -20,8 +20,8 @@ class Baseline:
20
20
  class HRVSummary:
21
21
  calendar_date: date
22
22
  weekly_avg: int
23
- last_night_avg: int | None
24
- last_night_5_min_high: int
23
+ last_night_avg: int | None = None
24
+ last_night_5_min_high: int | None = None
25
25
  baseline: Baseline
26
26
  status: str
27
27
  feedback_phrase: str
@@ -44,10 +44,10 @@ class HRVData(Data):
44
44
  end_timestamp_gmt: datetime
45
45
  start_timestamp_local: datetime
46
46
  end_timestamp_local: datetime
47
- sleep_start_timestamp_gmt: datetime
48
- sleep_end_timestamp_gmt: datetime
49
- sleep_start_timestamp_local: datetime
50
- sleep_end_timestamp_local: datetime
47
+ sleep_start_timestamp_gmt: datetime | None = None
48
+ sleep_end_timestamp_gmt: datetime | None = None
49
+ sleep_start_timestamp_local: datetime | None = None
50
+ sleep_end_timestamp_local: datetime | None = None
51
51
 
52
52
  @classmethod
53
53
  def get(
@@ -0,0 +1 @@
1
+ __version__ = "0.5.20.dev3"
@@ -1 +0,0 @@
1
- __version__ = "0.5.20.dev2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes