zpdatafetch 2.4.2__tar.gz → 2.4.3__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 (86) hide show
  1. {zpdatafetch-2.4.2/src/zpdatafetch.egg-info → zpdatafetch-2.4.3}/PKG-INFO +7 -1
  2. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/README.md +6 -0
  3. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/pyproject.toml +1 -1
  4. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3/src/zpdatafetch.egg-info}/PKG-INFO +7 -1
  5. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrrider.py +38 -0
  6. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/LICENSE +0 -0
  7. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/setup.cfg +0 -0
  8. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/__init__.py +0 -0
  9. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/cli.py +0 -0
  10. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/config.py +0 -0
  11. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/error_helpers.py +0 -0
  12. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/exceptions.py +0 -0
  13. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/http_client.py +0 -0
  14. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/json_helpers.py +0 -0
  15. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/logging.py +0 -0
  16. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/shared/validation.py +0 -0
  17. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/__init__.py +0 -0
  18. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/activity.py +0 -0
  19. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/auth.py +0 -0
  20. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/cli.py +0 -0
  21. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/config.py +0 -0
  22. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/followers.py +0 -0
  23. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/logging_config.py +0 -0
  24. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/profile.py +0 -0
  25. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/rideons.py +0 -0
  26. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/ridersinworld.py +0 -0
  27. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zdatafetch/worlds.py +0 -0
  28. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/__init__.py +0 -0
  29. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/async_zp.py +0 -0
  30. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/cli.py +0 -0
  31. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/config.py +0 -0
  32. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/logging_config.py +0 -0
  33. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zp.py +0 -0
  34. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zp_obj.py +0 -0
  35. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zp_utils.py +0 -0
  36. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpcyclist.py +0 -0
  37. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpcyclistfetch.py +0 -0
  38. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpleague.py +0 -0
  39. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpleaguefetch.py +0 -0
  40. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpprime.py +0 -0
  41. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpprimesfetch.py +0 -0
  42. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpracefinish.py +0 -0
  43. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpracelog.py +0 -0
  44. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpraceresult.py +0 -0
  45. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpracesignup.py +0 -0
  46. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpracesprint.py +0 -0
  47. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpresultfetch.py +0 -0
  48. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpsignupfetch.py +0 -0
  49. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpsprintsfetch.py +0 -0
  50. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpteam.py +0 -0
  51. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch/zpteamfetch.py +0 -0
  52. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch.egg-info/SOURCES.txt +0 -0
  53. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch.egg-info/dependency_links.txt +0 -0
  54. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch.egg-info/entry_points.txt +0 -0
  55. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch.egg-info/requires.txt +0 -0
  56. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zpdatafetch.egg-info/top_level.txt +0 -0
  57. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/__init__.py +0 -0
  58. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/async_zr.py +0 -0
  59. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/cli.py +0 -0
  60. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/config.py +0 -0
  61. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/logging_config.py +0 -0
  62. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/rate_limiter.py +0 -0
  63. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zr.py +0 -0
  64. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zr_utils.py +0 -0
  65. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrcategories.py +0 -0
  66. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrcategoriesfetch.py +0 -0
  67. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrraceresult.py +0 -0
  68. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrresultfetch.py +0 -0
  69. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrriderfetch.py +0 -0
  70. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrteamfetch.py +0 -0
  71. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zrdatafetch/zrteamroster.py +0 -0
  72. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/__init__.py +0 -0
  73. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/async_zs.py +0 -0
  74. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/cli.py +0 -0
  75. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/logging_config.py +0 -0
  76. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/models/__init__.py +0 -0
  77. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/models/component.py +0 -0
  78. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/models/incident.py +0 -0
  79. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/models/maintenance.py +0 -0
  80. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/models/page.py +0 -0
  81. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/models/status.py +0 -0
  82. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/models/summary.py +0 -0
  83. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/zs.py +0 -0
  84. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/zsincidentfetch.py +0 -0
  85. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/zsmaintenancefetch.py +0 -0
  86. {zpdatafetch-2.4.2 → zpdatafetch-2.4.3}/src/zsdatafetch/zssummaryfetch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zpdatafetch
3
- Version: 2.4.2
3
+ Version: 2.4.3
4
4
  Summary: A package for fetching data from Zwiftpower and Zwiftracing.app
5
5
  Author-email: Doug Morris <doug@mhost.com>
6
6
  License-Expression: MIT
@@ -683,6 +683,12 @@ This provides a clear, separate execution path.
683
683
  climb, time_trial)
684
684
  - `velo_category_number`: vELO2 category number
685
685
  - `velo_category_name`: vELO2 category name
686
+ - `velo_max30`: vELO2 30-day max rating
687
+ - `velo_max90`: vELO2 90-day max rating
688
+ - `velo_max30_category_number`: vELO2 30-day max category number
689
+ - `velo_max30_category_name`: vELO2 30-day max category name
690
+ - `velo_max90_category_number`: vELO2 90-day max category number
691
+ - `velo_max90_category_name`: vELO2 90-day max category name
686
692
 
687
693
  **ZRResult**: Race result data
688
694
 
@@ -654,6 +654,12 @@ This provides a clear, separate execution path.
654
654
  climb, time_trial)
655
655
  - `velo_category_number`: vELO2 category number
656
656
  - `velo_category_name`: vELO2 category name
657
+ - `velo_max30`: vELO2 30-day max rating
658
+ - `velo_max90`: vELO2 90-day max rating
659
+ - `velo_max30_category_number`: vELO2 30-day max category number
660
+ - `velo_max30_category_name`: vELO2 30-day max category name
661
+ - `velo_max90_category_number`: vELO2 90-day max category number
662
+ - `velo_max90_category_name`: vELO2 90-day max category name
657
663
 
658
664
  **ZRResult**: Race result data
659
665
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "zpdatafetch"
3
- version = "2.4.2"
3
+ version = "2.4.3"
4
4
  description = "A package for fetching data from Zwiftpower and Zwiftracing.app"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zpdatafetch
3
- Version: 2.4.2
3
+ Version: 2.4.3
4
4
  Summary: A package for fetching data from Zwiftpower and Zwiftracing.app
5
5
  Author-email: Doug Morris <doug@mhost.com>
6
6
  License-Expression: MIT
@@ -683,6 +683,12 @@ This provides a clear, separate execution path.
683
683
  climb, time_trial)
684
684
  - `velo_category_number`: vELO2 category number
685
685
  - `velo_category_name`: vELO2 category name
686
+ - `velo_max30`: vELO2 30-day max rating
687
+ - `velo_max90`: vELO2 90-day max rating
688
+ - `velo_max30_category_number`: vELO2 30-day max category number
689
+ - `velo_max30_category_name`: vELO2 30-day max category name
690
+ - `velo_max90_category_number`: vELO2 90-day max category number
691
+ - `velo_max90_category_name`: vELO2 90-day max category name
686
692
 
687
693
  **ZRResult**: Race result data
688
694
 
@@ -77,6 +77,12 @@ class ZRRider:
77
77
  velo_skill_time_trial: vELO2 skill time trial delta
78
78
  velo_category_number: vELO2 category number
79
79
  velo_category_name: vELO2 category name
80
+ velo_max30: vELO2 30-day max rating
81
+ velo_max90: vELO2 90-day max rating
82
+ velo_max30_category_number: vELO2 30-day max category number
83
+ velo_max30_category_name: vELO2 30-day max category name
84
+ velo_max90_category_number: vELO2 90-day max category number
85
+ velo_max90_category_name: vELO2 90-day max category name
80
86
  _excluded: Recognized but not explicitly handled fields
81
87
  _extra: Unknown/new fields from API changes
82
88
  """
@@ -146,6 +152,16 @@ class ZRRider:
146
152
  velo_category_number: int = 0
147
153
  velo_category_name: str = ''
148
154
 
155
+ # Velo max (vELO2 max30/max90)
156
+ velo_max30: float = 0.0
157
+ velo_max90: float = 0.0
158
+
159
+ # Velo max category (vELO2 max30Category/max90Category)
160
+ velo_max30_category_number: int = 0
161
+ velo_max30_category_name: str = ''
162
+ velo_max90_category_number: int = 0
163
+ velo_max90_category_name: str = ''
164
+
149
165
  # Field classification
150
166
  _excluded: dict[str, Any] = field(default_factory=dict, repr=False)
151
167
  _extra: dict[str, Any] = field(default_factory=dict, repr=False)
@@ -348,6 +364,22 @@ class ZRRider:
348
364
  extract_nested_value(data, 'velo', 'category', 'name'),
349
365
  )
350
366
 
367
+ # Velo max (vELO2 max30/max90)
368
+ velo_max30 = safe_float(extract_nested_value(data, 'velo', 'max30'))
369
+ velo_max90 = safe_float(extract_nested_value(data, 'velo', 'max90'))
370
+ velo_max30_category_number = safe_int(
371
+ extract_nested_value(data, 'velo', 'max30Category', 'number'),
372
+ )
373
+ velo_max30_category_name = safe_str(
374
+ extract_nested_value(data, 'velo', 'max30Category', 'name'),
375
+ )
376
+ velo_max90_category_number = safe_int(
377
+ extract_nested_value(data, 'velo', 'max90Category', 'number'),
378
+ )
379
+ velo_max90_category_name = safe_str(
380
+ extract_nested_value(data, 'velo', 'max90Category', 'name'),
381
+ )
382
+
351
383
  # Classify remaining fields
352
384
  excluded = {}
353
385
  extra = {}
@@ -408,6 +440,12 @@ class ZRRider:
408
440
  velo_skill_time_trial=velo_skill_time_trial,
409
441
  velo_category_number=velo_category_number,
410
442
  velo_category_name=velo_category_name,
443
+ velo_max30=velo_max30,
444
+ velo_max90=velo_max90,
445
+ velo_max30_category_number=velo_max30_category_number,
446
+ velo_max30_category_name=velo_max30_category_name,
447
+ velo_max90_category_number=velo_max90_category_number,
448
+ velo_max90_category_name=velo_max90_category_name,
411
449
  _excluded=excluded,
412
450
  _extra=extra,
413
451
  )
File without changes
File without changes