sportsball 0.3.36__tar.gz → 0.3.37__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 (211) hide show
  1. {sportsball-0.3.36/sportsball.egg-info → sportsball-0.3.37}/PKG-INFO +1 -1
  2. {sportsball-0.3.36 → sportsball-0.3.37}/setup.py +1 -1
  3. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/__init__.py +1 -1
  4. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/afltables/afl_afltables_league_model.py +1 -1
  5. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/google/google_address_model.py +276 -18
  6. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsreference/sportsreference_game_model.py +9 -2
  7. {sportsball-0.3.36 → sportsball-0.3.37/sportsball.egg-info}/PKG-INFO +1 -1
  8. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball.egg-info/SOURCES.txt +1 -0
  9. sportsball-0.3.37/tests/data/afl/afltables/afl_afltables_game_model_test.py +40 -0
  10. {sportsball-0.3.36 → sportsball-0.3.37}/LICENSE +0 -0
  11. {sportsball-0.3.36 → sportsball-0.3.37}/MANIFEST.in +0 -0
  12. {sportsball-0.3.36 → sportsball-0.3.37}/README.md +0 -0
  13. {sportsball-0.3.36 → sportsball-0.3.37}/requirements.txt +0 -0
  14. {sportsball-0.3.36 → sportsball-0.3.37}/setup.cfg +0 -0
  15. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/__main__.py +0 -0
  16. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/args.py +0 -0
  17. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/cache.py +0 -0
  18. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/__init__.py +0 -0
  19. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/address_model.py +0 -0
  20. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/__init__.py +0 -0
  21. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/afltables/__init__.py +0 -0
  22. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
  23. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
  24. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
  25. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
  26. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
  27. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
  28. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/combined/__init__.py +0 -0
  29. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
  30. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/espn/__init__.py +0 -0
  31. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
  32. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/oddsportal/__init__.py +0 -0
  33. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
  34. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/aussportsbetting/__init__.py +0 -0
  35. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
  36. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
  37. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
  38. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
  39. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
  40. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
  41. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/bookie_model.py +0 -0
  42. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/__init__.py +0 -0
  43. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/combined_address_model.py +0 -0
  44. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/combined_game_model.py +0 -0
  45. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/combined_league_model.py +0 -0
  46. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/combined_player_model.py +0 -0
  47. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/combined_team_model.py +0 -0
  48. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/combined_venue_model.py +0 -0
  49. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/combined/combined_weather_model.py +0 -0
  50. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/__init__.py +0 -0
  51. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/espn_bookie_model.py +0 -0
  52. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/espn_game_model.py +0 -0
  53. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/espn_league_model.py +0 -0
  54. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/espn_odds_model.py +0 -0
  55. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/espn_player_model.py +0 -0
  56. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/espn_team_model.py +0 -0
  57. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/espn/espn_venue_model.py +0 -0
  58. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/field_type.py +0 -0
  59. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/game_model.py +0 -0
  60. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/google/__init__.py +0 -0
  61. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/google/google_news_model.py +0 -0
  62. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/league.py +0 -0
  63. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/league_model.py +0 -0
  64. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/model.py +0 -0
  65. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/__init__.py +0 -0
  66. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/combined/__init__.py +0 -0
  67. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
  68. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/espn/__init__.py +0 -0
  69. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
  70. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/nba/__init__.py +0 -0
  71. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
  72. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
  73. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/nba/nba_nba_player_model.py +0 -0
  74. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
  75. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/oddsportal/__init__.py +0 -0
  76. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
  77. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/sportsdb/__init__.py +0 -0
  78. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
  79. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/sportsreference/__init__.py +0 -0
  80. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
  81. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/__init__.py +0 -0
  82. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/combined/__init__.py +0 -0
  83. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
  84. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/espn/__init__.py +0 -0
  85. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
  86. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
  87. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
  88. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
  89. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
  90. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaaf/__init__.py +0 -0
  91. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaaf/combined/__init__.py +0 -0
  92. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
  93. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaaf/espn/__init__.py +0 -0
  94. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
  95. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
  96. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
  97. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/news_model.py +0 -0
  98. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/__init__.py +0 -0
  99. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
  100. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
  101. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/combined/__init__.py +0 -0
  102. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
  103. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/espn/__init__.py +0 -0
  104. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
  105. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
  106. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
  107. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
  108. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
  109. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/odds_model.py +0 -0
  110. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/__init__.py +0 -0
  111. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/decrypt.py +0 -0
  112. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
  113. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
  114. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
  115. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
  116. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
  117. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
  118. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/player_model.py +0 -0
  119. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/season_type.py +0 -0
  120. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/social_model.py +0 -0
  121. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsdb/__init__.py +0 -0
  122. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
  123. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
  124. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
  125. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
  126. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsreference/__init__.py +0 -0
  127. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
  128. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
  129. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
  130. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
  131. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/team_model.py +0 -0
  132. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/venue_model.py +0 -0
  133. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/weather/__init__.py +0 -0
  134. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/weather/gribstream/__init__.py +0 -0
  135. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
  136. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/weather/multi_weather_model.py +0 -0
  137. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/weather/openmeteo/__init__.py +0 -0
  138. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
  139. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/weather_model.py +0 -0
  140. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/wikipedia/__init__.py +0 -0
  141. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
  142. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/x/__init__.py +0 -0
  143. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/data/x/x_social_model.py +0 -0
  144. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/logger.py +0 -0
  145. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/loglevel.py +0 -0
  146. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/proxy_session.py +0 -0
  147. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/session.py +0 -0
  148. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/sportsball.py +0 -0
  149. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/vendor/__init__.py +0 -0
  150. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball/vendor/pygooglenews/__init__.py +0 -0
  151. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball.egg-info/dependency_links.txt +0 -0
  152. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball.egg-info/entry_points.txt +0 -0
  153. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball.egg-info/not-zip-safe +0 -0
  154. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball.egg-info/requires.txt +0 -0
  155. {sportsball-0.3.36 → sportsball-0.3.37}/sportsball.egg-info/top_level.txt +0 -0
  156. {sportsball-0.3.36 → sportsball-0.3.37}/tests/__init__.py +0 -0
  157. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/__init__.py +0 -0
  158. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/afl/__init__.py +0 -0
  159. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/afl/afltables/__init__.py +0 -0
  160. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
  161. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
  162. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/aussportsbetting/__init__.py +0 -0
  163. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
  164. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/combined/__init__.py +0 -0
  165. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/combined/combined_game_model_test.py +0 -0
  166. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/combined/combined_player_model_test.py +0 -0
  167. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/espn/__init__.py +0 -0
  168. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/espn/espn_game_model_test.py +0 -0
  169. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/espn/espn_player_model_test.py +0 -0
  170. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/game_model_test.py +0 -0
  171. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/google/__init__.py +0 -0
  172. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/google/google_address_model_test.py +0 -0
  173. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/google/google_news_model_test.py +0 -0
  174. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/__init__.py +0 -0
  175. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/nba/__init__.py +0 -0
  176. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
  177. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
  178. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/nba/nba_nba_player_model_test.py +0 -0
  179. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
  180. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/sportsdb/__init__.py +0 -0
  181. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
  182. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/sportsreference/__init__.py +0 -0
  183. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
  184. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/ncaab/__init__.py +0 -0
  185. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/ncaab/sportsreference/__init__.py +0 -0
  186. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
  187. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nfl/__init__.py +0 -0
  188. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nfl/sportsdb/__init__.py +0 -0
  189. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
  190. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/oddsportal/__init__.py +0 -0
  191. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/oddsportal/decrypt_test.py +0 -0
  192. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
  193. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
  194. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/player_model_test.py +0 -0
  195. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/social_model_test.py +0 -0
  196. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsdb/__init__.py +0 -0
  197. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
  198. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
  199. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
  200. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
  201. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsreference/__init__.py +0 -0
  202. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
  203. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
  204. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
  205. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
  206. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
  207. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/team_model_test.py +0 -0
  208. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/x/__init__.py +0 -0
  209. {sportsball-0.3.36 → sportsball-0.3.37}/tests/data/x/x_social_model_test.py +0 -0
  210. {sportsball-0.3.36 → sportsball-0.3.37}/tests/proxy_session_test.py +0 -0
  211. {sportsball-0.3.36 → sportsball-0.3.37}/tests/sportsball_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sportsball
3
- Version: 0.3.36
3
+ Version: 0.3.37
4
4
  Summary: A library for pulling in and normalising sports stats.
5
5
  Home-page: https://github.com/8W9aG/sportsball
6
6
  Author: Will Sackfield
@@ -26,7 +26,7 @@ def install_requires() -> typing.List[str]:
26
26
 
27
27
  setup(
28
28
  name='sportsball',
29
- version='0.3.36',
29
+ version='0.3.37',
30
30
  description='A library for pulling in and normalising sports stats.',
31
31
  long_description=long_description,
32
32
  long_description_content_type='text/markdown',
@@ -1,3 +1,3 @@
1
1
  """The main module for sportsball."""
2
2
 
3
- __VERSION__ = "0.3.36"
3
+ __VERSION__ = "0.3.37"
@@ -56,7 +56,7 @@ class AFLAFLTablesLeagueModel(LeagueModel):
56
56
  filename, _ = os.path.splitext(last_component)
57
57
  year = int(filename)
58
58
 
59
- if year < datetime.datetime.now().year - 1:
59
+ if year >= datetime.datetime.now().year - 1:
60
60
  with self.session.cache_disabled():
61
61
  response = self.session.get(season_url)
62
62
  else:
@@ -2134,6 +2134,24 @@ BAROSSA_PARK = SportsballGeocodeTuple(
2134
2134
  housenumber="2",
2135
2135
  country="Australia",
2136
2136
  )
2137
+ BUCCANEER_FIELDHOUSE = SportsballGeocodeTuple(
2138
+ city="Charleston",
2139
+ state="SC",
2140
+ postal="29406",
2141
+ lat=32.980822,
2142
+ lng=-80.067125,
2143
+ housenumber="9200",
2144
+ country="USA",
2145
+ )
2146
+ WELLNESS_AND_EVENTS_CENTER = SportsballGeocodeTuple(
2147
+ city="Newark",
2148
+ state="NJ",
2149
+ postal="07102",
2150
+ lat=40.7453,
2151
+ lng=-74.183,
2152
+ housenumber="100",
2153
+ country="USA",
2154
+ )
2137
2155
  _CACHED_GEOCODES: dict[str, Any] = {
2138
2156
  "S.C.G. - Australia": SCG,
2139
2157
  "Victoria Park - Australia": SportsballGeocodeTuple(
@@ -7845,15 +7863,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
7845
7863
  housenumber="601",
7846
7864
  country="USA",
7847
7865
  ),
7848
- "Wellness and Events Center, Newark, New Jersey": SportsballGeocodeTuple(
7849
- city="Newark",
7850
- state="NJ",
7851
- postal="07102",
7852
- lat=40.7453,
7853
- lng=-74.183,
7854
- housenumber="100",
7855
- country="USA",
7856
- ),
7866
+ "Wellness and Events Center, Newark, New Jersey": WELLNESS_AND_EVENTS_CENTER,
7857
7867
  "Gersten Pavilion, Los Angeles, California": GERSTEN_PAVILION,
7858
7868
  "Rothman Center, Teaneck, New Jersey": BOGOTA_SAVINGS_BANK_CENTER,
7859
7869
  "Corbett Sports Center, Greensboro, North Carolina": CORBETT_SPORTS_CENTER,
@@ -7875,15 +7885,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
7875
7885
  housenumber="1",
7876
7886
  country="USA",
7877
7887
  ),
7878
- "Buccaneer Field House, Charleston, South Carolina": SportsballGeocodeTuple(
7879
- city="Charleston",
7880
- state="SC",
7881
- postal="29406",
7882
- lat=32.980822,
7883
- lng=-80.067125,
7884
- housenumber="9200",
7885
- country="USA",
7886
- ),
7888
+ "Buccaneer Field House, Charleston, South Carolina": BUCCANEER_FIELDHOUSE,
7887
7889
  "Credit Union 1 Arena, Chicago, Illinois": SportsballGeocodeTuple(
7888
7890
  city="Chicago",
7889
7891
  state="IL",
@@ -11821,6 +11823,262 @@ _CACHED_GEOCODES: dict[str, Any] = {
11821
11823
  housenumber="",
11822
11824
  country="USA",
11823
11825
  ),
11826
+ "Macon, Georgia": SportsballGeocodeTuple(
11827
+ city="Macon",
11828
+ state="GA",
11829
+ postal="",
11830
+ lat=32.834722,
11831
+ lng=-83.651667,
11832
+ housenumber="",
11833
+ country="USA",
11834
+ ),
11835
+ "Radford, Virginia": SportsballGeocodeTuple(
11836
+ city="Radford",
11837
+ state="VA",
11838
+ postal="",
11839
+ lat=37.1275,
11840
+ lng=-80.569444,
11841
+ housenumber="",
11842
+ country="USA",
11843
+ ),
11844
+ "Spartanburg, South Carolina": SportsballGeocodeTuple(
11845
+ city="Spartanburg",
11846
+ state="SC",
11847
+ postal="",
11848
+ lat=34.946667,
11849
+ lng=-81.9275,
11850
+ housenumber="",
11851
+ country="USA",
11852
+ ),
11853
+ "Rock Hill, South Carolina": SportsballGeocodeTuple(
11854
+ city="Rock Hill",
11855
+ state="SC",
11856
+ postal="",
11857
+ lat=34.946667,
11858
+ lng=-81.9275,
11859
+ housenumber="",
11860
+ country="USA",
11861
+ ),
11862
+ "Montgomery, Alabama": SportsballGeocodeTuple(
11863
+ city="Montgomery",
11864
+ state="AL",
11865
+ postal="",
11866
+ lat=32.3675,
11867
+ lng=-86.3,
11868
+ housenumber="",
11869
+ country="USA",
11870
+ ),
11871
+ "Elma Roane Fieldhouse, Memphis, Tennessee": SportsballGeocodeTuple(
11872
+ city="Memphis",
11873
+ state="TN",
11874
+ postal="38152",
11875
+ lat=35.118369,
11876
+ lng=-89.935675,
11877
+ housenumber="495",
11878
+ country="USA",
11879
+ ),
11880
+ "Murray, Kentucky": SportsballGeocodeTuple(
11881
+ city="Murray",
11882
+ state="KY",
11883
+ postal="",
11884
+ lat=36.609444,
11885
+ lng=-88.315556,
11886
+ housenumber="",
11887
+ country="USA",
11888
+ ),
11889
+ "Grand Forks, North Dakota": SportsballGeocodeTuple(
11890
+ city="Grand Forks",
11891
+ state="ND",
11892
+ postal="",
11893
+ lat=47.921264,
11894
+ lng=-97.088339,
11895
+ housenumber="",
11896
+ country="USA",
11897
+ ),
11898
+ "Cookeville, Tennessee": SportsballGeocodeTuple(
11899
+ city="Cookeville",
11900
+ state="TN",
11901
+ postal="",
11902
+ lat=36.164167,
11903
+ lng=-85.504167,
11904
+ housenumber="",
11905
+ country="USA",
11906
+ ),
11907
+ "Malibu, California": SportsballGeocodeTuple(
11908
+ city="Malibu",
11909
+ state="CA",
11910
+ postal="",
11911
+ lat=34.035,
11912
+ lng=-118.695,
11913
+ housenumber="",
11914
+ country="USA",
11915
+ ),
11916
+ "Boiling Springs, North Carolina": SportsballGeocodeTuple(
11917
+ city="Boiling Springs",
11918
+ state="NC",
11919
+ postal="",
11920
+ lat=35.251944,
11921
+ lng=-81.663611,
11922
+ housenumber="",
11923
+ country="USA",
11924
+ ),
11925
+ "Lexington, Virginia": SportsballGeocodeTuple(
11926
+ city="Lexington",
11927
+ state="VA",
11928
+ postal="",
11929
+ lat=37.783889,
11930
+ lng=-79.442778,
11931
+ housenumber="",
11932
+ country="USA",
11933
+ ),
11934
+ "Buccaneer Fieldhouse, Charleston, South Carolina": BUCCANEER_FIELDHOUSE,
11935
+ "Charleston, Illinois": SportsballGeocodeTuple(
11936
+ city="Charleston",
11937
+ state="IL",
11938
+ postal="",
11939
+ lat=39.484167,
11940
+ lng=-88.178056,
11941
+ housenumber="",
11942
+ country="USA",
11943
+ ),
11944
+ "Worcester, Massachusetts": SportsballGeocodeTuple(
11945
+ city="Worcester",
11946
+ state="MA",
11947
+ postal="",
11948
+ lat=42.271389,
11949
+ lng=-71.798889,
11950
+ housenumber="",
11951
+ country="USA",
11952
+ ),
11953
+ "Joan Perry Brock Center, Farmville, Virginia": SportsballGeocodeTuple(
11954
+ city="Farmville",
11955
+ state="VA",
11956
+ postal="",
11957
+ lat=37.298333,
11958
+ lng=-78.395556,
11959
+ housenumber="405",
11960
+ country="USA",
11961
+ ),
11962
+ "Princess Anne, Maryland": SportsballGeocodeTuple(
11963
+ city="Princess Anne",
11964
+ state="MD",
11965
+ postal="",
11966
+ lat=38.209722,
11967
+ lng=-75.695,
11968
+ housenumber="",
11969
+ country="USA",
11970
+ ),
11971
+ "The Sandy and John Black Pavilion at Ole Miss, University, Mississippi": OLE_MISS,
11972
+ "Joel and Diane Bloom Wellness and Events Center, Newark, New Jersey": WELLNESS_AND_EVENTS_CENTER,
11973
+ "Asheville, North Carolina": SportsballGeocodeTuple(
11974
+ city="Asheville",
11975
+ state="NC",
11976
+ postal="",
11977
+ lat=35.595556,
11978
+ lng=-82.551944,
11979
+ housenumber="",
11980
+ country="USA",
11981
+ ),
11982
+ "Clinton, South Carolina": SportsballGeocodeTuple(
11983
+ city="Clinton",
11984
+ state="SC",
11985
+ postal="",
11986
+ lat=34.471389,
11987
+ lng=-81.875,
11988
+ housenumber="",
11989
+ country="USA",
11990
+ ),
11991
+ "Edwardsville, Illinois": SportsballGeocodeTuple(
11992
+ city="Edwardsville",
11993
+ state="IL",
11994
+ postal="",
11995
+ lat=38.803889,
11996
+ lng=-89.958333,
11997
+ housenumber="",
11998
+ country="USA",
11999
+ ),
12000
+ "DeLand, Florida": SportsballGeocodeTuple(
12001
+ city="DeLand",
12002
+ state="FL",
12003
+ postal="",
12004
+ lat=29.0225,
12005
+ lng=-81.286389,
12006
+ housenumber="",
12007
+ country="USA",
12008
+ ),
12009
+ "Martin, Tennessee": SportsballGeocodeTuple(
12010
+ city="Martin",
12011
+ state="TN",
12012
+ postal="",
12013
+ lat=36.341944,
12014
+ lng=-88.851667,
12015
+ housenumber="",
12016
+ country="USA",
12017
+ ),
12018
+ "The Coliseum, Carrollton, Georgia": SportsballGeocodeTuple(
12019
+ city="Carrollton",
12020
+ state="GA",
12021
+ postal="",
12022
+ lat=33.5761,
12023
+ lng=-85.1039,
12024
+ housenumber="",
12025
+ country="USA",
12026
+ ),
12027
+ "Williamsburg, Virginia": SportsballGeocodeTuple(
12028
+ city="Williamsburg",
12029
+ state="VA",
12030
+ postal="",
12031
+ lat=37.270833,
12032
+ lng=-76.706944,
12033
+ housenumber="",
12034
+ country="USA",
12035
+ ),
12036
+ "Cedar Falls, Iowa": SportsballGeocodeTuple(
12037
+ city="Cedar Falls",
12038
+ state="IA",
12039
+ postal="",
12040
+ lat=42.52352,
12041
+ lng=-92.446402,
12042
+ housenumber="",
12043
+ country="USA",
12044
+ ),
12045
+ "Towson, Maryland": SportsballGeocodeTuple(
12046
+ city="Towson",
12047
+ state="MD",
12048
+ postal="",
12049
+ lat=39.393056,
12050
+ lng=-76.609444,
12051
+ housenumber="",
12052
+ country="USA",
12053
+ ),
12054
+ "Vermillon, South Dakota": SportsballGeocodeTuple(
12055
+ city="Vermillon",
12056
+ state="SD",
12057
+ postal="",
12058
+ lat=42.781389,
12059
+ lng=-96.925278,
12060
+ housenumber="",
12061
+ country="USA",
12062
+ ),
12063
+ "Francis A. Levien Gymnasium, New York, New York": LEVIEN_GYM,
12064
+ "Tampa, Florida": SportsballGeocodeTuple(
12065
+ city="Tampa",
12066
+ state="FL",
12067
+ postal="",
12068
+ lat=27.9475,
12069
+ lng=-82.458611,
12070
+ housenumber="",
12071
+ country="USA",
12072
+ ),
12073
+ "Berkeley, California": SportsballGeocodeTuple(
12074
+ city="Berkeley",
12075
+ state="CA",
12076
+ postal="",
12077
+ lat=37.871667,
12078
+ lng=-122.272778,
12079
+ housenumber="",
12080
+ country="USA",
12081
+ ),
11824
12082
  }
11825
12083
 
11826
12084
 
@@ -23,7 +23,10 @@ from ..team_model import TeamModel
23
23
  from .sportsreference_team_model import create_sportsreference_team_model
24
24
  from .sportsreference_venue_model import create_sportsreference_venue_model
25
25
 
26
- _NON_WAYBACK_URLS: set[str] = set()
26
+ _NON_WAYBACK_URLS: set[str] = {
27
+ "https://www.sports-reference.com/cbb/boxscores/2025-03-01-14-saint-francis-pa.html",
28
+ "https://www.sports-reference.com/cbb/boxscores/2025-03-01-15-bradley_w.html",
29
+ }
27
30
  _MONTHS = [
28
31
  "January",
29
32
  "February",
@@ -301,7 +304,11 @@ def _create_sportsreference_game_model(
301
304
 
302
305
  scores = []
303
306
  for score_div in soup.find_all("div", class_="score"):
304
- scores.append(float(score_div.get_text().strip()))
307
+ try:
308
+ scores.append(float(score_div.get_text().strip()))
309
+ except ValueError as exc:
310
+ logging.error(response.text)
311
+ raise exc
305
312
 
306
313
  handle = io.StringIO()
307
314
  handle.write(response.text)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sportsball
3
- Version: 0.3.36
3
+ Version: 0.3.37
4
4
  Summary: A library for pulling in and normalising sports stats.
5
5
  Home-page: https://github.com/8W9aG/sportsball
6
6
  Author: Will Sackfield
@@ -160,6 +160,7 @@ tests/data/social_model_test.py
160
160
  tests/data/team_model_test.py
161
161
  tests/data/afl/__init__.py
162
162
  tests/data/afl/afltables/__init__.py
163
+ tests/data/afl/afltables/afl_afltables_game_model_test.py
163
164
  tests/data/afl/afltables/afl_afltables_league_model_test.py
164
165
  tests/data/afl/afltables/afl_afltables_player_model_test.py
165
166
  tests/data/aussportsbetting/__init__.py
@@ -0,0 +1,40 @@
1
+ """Tests for the afltables game model class."""
2
+ import unittest
3
+ import os
4
+
5
+ import requests_cache
6
+ import requests_mock
7
+ from sportsball.data.afl.afltables.afl_afltables_game_model import _create_afl_afltables_game_model
8
+ from sportsball.data.league import League
9
+
10
+
11
+ class TestAFLTablesGameModel(unittest.TestCase):
12
+
13
+ def setUp(self):
14
+ self._session = requests_cache.CachedSession(backend="memory")
15
+ self.dir = os.path.dirname(__file__)
16
+
17
+ def test_player_identifier(self):
18
+ url = "https://afltables.com/afl/stats/games/2025/081820250330.html"
19
+ with requests_mock.Mocker() as m:
20
+ with open(os.path.join(self.dir, "081820250330.html"), "rb") as f:
21
+ m.get(url, content=f.read())
22
+ with open(os.path.join(self.dir, "perth.html"), "rb") as f:
23
+ m.get("https://afltables.com/afl/venues/perth.html", content=f.read())
24
+ with open(os.path.join(self.dir, "westcoast_idx.html"), "rb") as f:
25
+ m.get("https://afltables.com/afl/teams/westcoast_idx.html", content=f.read())
26
+ with open(os.path.join(self.dir, "fremantle_idx.html"), "rb") as f:
27
+ m.get("https://afltables.com/afl/teams/fremantle_idx.html", content=f.read())
28
+ m.get("https://historical-forecast-api.open-meteo.com/v1/forecast?latitude=-31.9511597&longitude=115.884175&start_date=2025-03-29&end_date=2025-03-30&hourly=temperature_2m&hourly=relative_humidity_2m&hourly=dew_point_2m&hourly=apparent_temperature&hourly=precipitation&hourly=rain&hourly=snowfall&hourly=snow_depth&hourly=weather_code&hourly=pressure_msl&hourly=surface_pressure&hourly=cloud_cover&hourly=cloud_cover_low&hourly=cloud_cover_mid&hourly=cloud_cover_high&hourly=et0_fao_evapotranspiration&hourly=vapour_pressure_deficit&hourly=wind_speed_10m&hourly=wind_speed_100m&hourly=wind_direction_10m&hourly=wind_direction_100m&hourly=wind_gusts_10m&hourly=soil_temperature_0_to_7cm&hourly=soil_temperature_7_to_28cm&hourly=soil_temperature_28_to_100cm&hourly=soil_temperature_100_to_255cm&hourly=soil_moisture_0_to_7cm&hourly=soil_moisture_7_to_28cm&hourly=soil_moisture_28_to_100cm&hourly=soil_moisture_100_to_255cm&daily=weather_code&daily=temperature_2m_max&daily=temperature_2m_min&daily=temperature_2m_mean&daily=apparent_temperature_max&daily=apparent_temperature_min&daily=apparent_temperature_mean&daily=sunrise&daily=sunset&daily=daylight_duration&daily=sunshine_duration&daily=precipitation_sum&daily=rain_sum&daily=snowfall_sum&daily=precipitation_hours&daily=wind_speed_10m_max&daily=wind_gusts_10m_max&daily=wind_direction_10m_dominant&daily=shortwave_radiation_sum&daily=et0_fao_evapotranspiration&timezone=Australia%2FPerth&format=flatbuffers")
29
+
30
+ game_model = _create_afl_afltables_game_model(
31
+ 0,
32
+ self._session,
33
+ url,
34
+ 2,
35
+ {},
36
+ League.AFL,
37
+ 2025,
38
+ season_type=None,
39
+ )
40
+ self.assertIsNotNone(game_model.teams[0].players[0].identifier)
File without changes
File without changes
File without changes
File without changes