brlib 0.4.0__tar.gz → 0.5.0__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 (619) hide show
  1. brlib-0.5.0/.github/dependabot.yml +32 -0
  2. {brlib-0.4.0 → brlib-0.5.0}/.github/workflows/full-test.yml +6 -6
  3. {brlib-0.4.0 → brlib-0.5.0}/.github/workflows/test.yml +4 -4
  4. {brlib-0.4.0 → brlib-0.5.0}/PKG-INFO +14 -11
  5. {brlib-0.4.0 → brlib-0.5.0}/README.md +12 -5
  6. {brlib-0.4.0 → brlib-0.5.0}/pyproject.toml +9 -8
  7. {brlib-0.4.0 → brlib-0.5.0}/scripts/refresh_tests.py +26 -27
  8. brlib-0.5.0/scripts/refresh_wiki.py +176 -0
  9. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/__init__.py +3 -1
  10. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/abbreviations_manager.py +22 -27
  11. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/constants.py +188 -73
  12. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/inputs.py +7 -7
  13. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/no_hitter_dicts.py +6 -9
  14. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/requests_manager.py +8 -5
  15. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/typechecking.py +13 -10
  16. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/utils.py +28 -9
  17. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/all_players.py +7 -6
  18. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/find_asg.py +3 -2
  19. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/find_games.py +17 -18
  20. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/find_teams.py +14 -13
  21. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/game.py +64 -74
  22. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/game_set.py +16 -45
  23. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/get_games.py +4 -4
  24. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/get_players.py +5 -5
  25. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/get_teams.py +4 -4
  26. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/options.py +141 -142
  27. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/player.py +146 -82
  28. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/player_set.py +16 -7
  29. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/team.py +66 -56
  30. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/team_set.py +28 -40
  31. brlib-0.5.0/src/brlib/test_connection.py +42 -0
  32. brlib-0.5.0/tests/_helpers/test_abbreviations_manager.py +92 -0
  33. {brlib-0.4.0 → brlib-0.5.0}/tests/_helpers/test_inputs.py +2 -2
  34. {brlib-0.4.0 → brlib-0.5.0}/tests/_helpers/test_no_hitter_dicts.py +6 -6
  35. {brlib-0.4.0 → brlib-0.5.0}/tests/_helpers/test_typechecking.py +26 -2
  36. brlib-0.5.0/tests/case_ids.py +84 -0
  37. brlib-0.5.0/tests/conftest.py +157 -0
  38. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/batting.csv +3 -3
  39. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/info.csv +2 -0
  40. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/players.json +1 -1
  41. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/ump_info.csv +7 -0
  42. brlib-0.5.0/tests/expected/games/original/2025-allstar-game/info.csv +2 -0
  43. brlib-0.5.0/tests/expected/games/original/2025-allstar-game/ump_info.csv +7 -0
  44. {brlib-0.4.0/tests/expected/games/updated → brlib-0.5.0/tests/expected/games/original}/ANA202305090/batting.csv +2 -2
  45. brlib-0.5.0/tests/expected/games/original/ANA202305090/info.csv +2 -0
  46. brlib-0.5.0/tests/expected/games/original/ANA202305090/ump_info.csv +5 -0
  47. brlib-0.5.0/tests/expected/games/original/BOS201708250/info.csv +2 -0
  48. brlib-0.5.0/tests/expected/games/original/BOS201708250/ump_info.csv +5 -0
  49. brlib-0.5.0/tests/expected/games/original/CHN196207291/info.csv +2 -0
  50. brlib-0.5.0/tests/expected/games/original/CHN196207291/ump_info.csv +5 -0
  51. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/batting.csv +1 -1
  52. brlib-0.5.0/tests/expected/games/original/FLO199407290/info.csv +2 -0
  53. brlib-0.5.0/tests/expected/games/original/FLO199407290/ump_info.csv +5 -0
  54. brlib-0.5.0/tests/expected/games/original/MLA190105301/info.csv +2 -0
  55. brlib-0.5.0/tests/expected/games/original/MLA190105301/ump_info.csv +2 -0
  56. brlib-0.5.0/tests/expected/games/original/NYN200908230/info.csv +2 -0
  57. brlib-0.5.0/tests/expected/games/original/NYN200908230/ump_info.csv +5 -0
  58. brlib-0.5.0/tests/expected/games/original/PHI202211020/info.csv +2 -0
  59. brlib-0.5.0/tests/expected/games/original/PHI202211020/ump_info.csv +7 -0
  60. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/batting.csv +9 -9
  61. brlib-0.5.0/tests/expected/games/original/PIT192010023/info.csv +2 -0
  62. brlib-0.5.0/tests/expected/games/original/PIT192010023/ump_info.csv +3 -0
  63. brlib-0.5.0/tests/expected/games/original/SEA197805231/info.csv +2 -0
  64. brlib-0.5.0/tests/expected/games/original/SEA197805231/ump_info.csv +5 -0
  65. brlib-0.5.0/tests/expected/games/original/SEA201106250/info.csv +2 -0
  66. brlib-0.5.0/tests/expected/games/original/SEA201106250/ump_info.csv +5 -0
  67. brlib-0.5.0/tests/expected/games/original/SEA201208150/info.csv +2 -0
  68. brlib-0.5.0/tests/expected/games/original/SEA201208150/ump_info.csv +5 -0
  69. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/batting.csv +2 -2
  70. brlib-0.5.0/tests/expected/games/original/SEA201804190/info.csv +2 -0
  71. brlib-0.5.0/tests/expected/games/original/SEA201804190/ump_info.csv +5 -0
  72. brlib-0.5.0/tests/expected/games/original/SEA201905270/info.csv +2 -0
  73. brlib-0.5.0/tests/expected/games/original/SEA201905270/ump_info.csv +5 -0
  74. brlib-0.5.0/tests/expected/games/original/SEA202210150/info.csv +2 -0
  75. brlib-0.5.0/tests/expected/games/original/SEA202210150/ump_info.csv +7 -0
  76. brlib-0.5.0/tests/expected/games/original/SLN190710051/info.csv +2 -0
  77. brlib-0.5.0/tests/expected/games/original/SLN190710051/ump_info.csv +2 -0
  78. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/1961-allstar-game-1/batting.csv +3 -3
  79. brlib-0.5.0/tests/expected/games/updated/1961-allstar-game-1/info.csv +2 -0
  80. brlib-0.5.0/tests/expected/games/updated/2025-allstar-game/info.csv +2 -0
  81. {brlib-0.4.0/tests/expected/games/original → brlib-0.5.0/tests/expected/games/updated}/ANA202305090/batting.csv +2 -2
  82. brlib-0.5.0/tests/expected/games/updated/ANA202305090/info.csv +2 -0
  83. brlib-0.5.0/tests/expected/games/updated/BOS201708250/info.csv +2 -0
  84. brlib-0.5.0/tests/expected/games/updated/CHN196207291/info.csv +2 -0
  85. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/FLO199407290/batting.csv +1 -1
  86. brlib-0.5.0/tests/expected/games/updated/FLO199407290/info.csv +2 -0
  87. brlib-0.5.0/tests/expected/games/updated/MLA190105301/info.csv +2 -0
  88. brlib-0.5.0/tests/expected/games/updated/NYN200908230/info.csv +2 -0
  89. brlib-0.5.0/tests/expected/games/updated/PHI202211020/info.csv +2 -0
  90. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PIT192010023/batting.csv +9 -9
  91. brlib-0.5.0/tests/expected/games/updated/PIT192010023/info.csv +2 -0
  92. brlib-0.5.0/tests/expected/games/updated/SEA197805231/info.csv +2 -0
  93. brlib-0.5.0/tests/expected/games/updated/SEA201106250/info.csv +2 -0
  94. brlib-0.5.0/tests/expected/games/updated/SEA201208150/info.csv +2 -0
  95. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201804190/batting.csv +2 -2
  96. brlib-0.5.0/tests/expected/games/updated/SEA201804190/info.csv +2 -0
  97. brlib-0.5.0/tests/expected/games/updated/SEA201905270/info.csv +2 -0
  98. brlib-0.5.0/tests/expected/games/updated/SEA202210150/info.csv +2 -0
  99. brlib-0.5.0/tests/expected/games/updated/SLN190710051/info.csv +2 -0
  100. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/batting.csv +40 -40
  101. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/fielding.csv +80 -80
  102. brlib-0.5.0/tests/expected/players/original/aloumo01/info.csv +2 -0
  103. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/pitching.csv +1 -1
  104. brlib-0.5.0/tests/expected/players/original/aloumo01/salaries.csv +21 -0
  105. brlib-0.5.0/tests/expected/players/original/bendech01/batting.csv +33 -0
  106. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/bendech01/fielding.csv +43 -43
  107. brlib-0.5.0/tests/expected/players/original/bendech01/info.csv +2 -0
  108. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/bendech01/pitching.csv +33 -33
  109. brlib-0.5.0/tests/expected/players/original/bendech01/salaries.csv +17 -0
  110. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/colli05/batting.csv +4 -4
  111. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/colli05/fielding.csv +3 -3
  112. brlib-0.5.0/tests/expected/players/original/colli05/info.csv +2 -0
  113. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/colli05/pitching.csv +1 -1
  114. brlib-0.5.0/tests/expected/players/original/colli05/salaries.csv +1 -0
  115. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/batting.csv +31 -31
  116. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/fielding.csv +23 -23
  117. brlib-0.5.0/tests/expected/players/original/cormirh01/info.csv +2 -0
  118. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/pitching.csv +32 -32
  119. brlib-0.5.0/tests/expected/players/original/cormirh01/salaries.csv +18 -0
  120. brlib-0.5.0/tests/expected/players/original/gibsojo99/batting.csv +34 -0
  121. brlib-0.5.0/tests/expected/players/original/gibsojo99/fielding.csv +66 -0
  122. brlib-0.5.0/tests/expected/players/original/gibsojo99/info.csv +2 -0
  123. brlib-0.5.0/tests/expected/players/original/gibsojo99/pitching.csv +4 -0
  124. brlib-0.5.0/tests/expected/players/original/gibsojo99/salaries.csv +1 -0
  125. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/batting.csv +25 -25
  126. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/fielding.csv +21 -21
  127. brlib-0.5.0/tests/expected/players/original/hallaro01/info.csv +2 -0
  128. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/pitching.csv +27 -27
  129. brlib-0.5.0/tests/expected/players/original/hallaro01/salaries.csv +18 -0
  130. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/batting.csv +46 -46
  131. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/fielding.csv +94 -94
  132. brlib-0.5.0/tests/expected/players/original/jacksre01/info.csv +2 -0
  133. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/pitching.csv +1 -1
  134. brlib-0.5.0/tests/expected/players/original/jacksre01/salaries.csv +24 -0
  135. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/batting.csv +4 -4
  136. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/fielding.csv +1 -1
  137. brlib-0.5.0/tests/expected/players/original/kigerma01/info.csv +2 -0
  138. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/pitching.csv +1 -1
  139. brlib-0.5.0/tests/expected/players/original/kigerma01/salaries.csv +1 -0
  140. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/batting.csv +27 -27
  141. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/fielding.csv +25 -25
  142. brlib-0.5.0/tests/expected/players/original/pressry01/info.csv +2 -0
  143. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/pitching.csv +34 -34
  144. brlib-0.5.0/tests/expected/players/original/pressry01/salaries.csv +14 -0
  145. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/vogtst01/batting.csv +29 -29
  146. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/vogtst01/fielding.csv +52 -52
  147. brlib-0.5.0/tests/expected/players/original/vogtst01/info.csv +2 -0
  148. brlib-0.5.0/tests/expected/players/original/vogtst01/pitching.csv +1 -0
  149. brlib-0.5.0/tests/expected/players/original/vogtst01/salaries.csv +12 -0
  150. brlib-0.5.0/tests/expected/players/updated/aloumo01/info.csv +2 -0
  151. brlib-0.5.0/tests/expected/players/updated/aloumo01/pitching.csv +1 -0
  152. brlib-0.5.0/tests/expected/players/updated/aloumo01/salaries.csv +21 -0
  153. brlib-0.5.0/tests/expected/players/updated/bendech01/info.csv +2 -0
  154. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/updated/bendech01/pitching.csv +33 -33
  155. brlib-0.5.0/tests/expected/players/updated/bendech01/salaries.csv +17 -0
  156. brlib-0.5.0/tests/expected/players/updated/colli05/info.csv +2 -0
  157. brlib-0.5.0/tests/expected/players/updated/colli05/pitching.csv +1 -0
  158. brlib-0.5.0/tests/expected/players/updated/colli05/salaries.csv +1 -0
  159. brlib-0.5.0/tests/expected/players/updated/cormirh01/info.csv +2 -0
  160. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/updated/cormirh01/pitching.csv +32 -32
  161. brlib-0.5.0/tests/expected/players/updated/cormirh01/salaries.csv +18 -0
  162. brlib-0.5.0/tests/expected/players/updated/gibsojo99/info.csv +2 -0
  163. brlib-0.5.0/tests/expected/players/updated/gibsojo99/pitching.csv +4 -0
  164. brlib-0.5.0/tests/expected/players/updated/gibsojo99/salaries.csv +1 -0
  165. brlib-0.5.0/tests/expected/players/updated/hallaro01/info.csv +2 -0
  166. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/updated/hallaro01/pitching.csv +27 -27
  167. brlib-0.5.0/tests/expected/players/updated/hallaro01/salaries.csv +18 -0
  168. brlib-0.5.0/tests/expected/players/updated/jacksre01/info.csv +2 -0
  169. brlib-0.5.0/tests/expected/players/updated/jacksre01/pitching.csv +1 -0
  170. brlib-0.5.0/tests/expected/players/updated/jacksre01/salaries.csv +24 -0
  171. brlib-0.5.0/tests/expected/players/updated/kigerma01/info.csv +2 -0
  172. brlib-0.5.0/tests/expected/players/updated/kigerma01/pitching.csv +1 -0
  173. brlib-0.5.0/tests/expected/players/updated/kigerma01/salaries.csv +1 -0
  174. brlib-0.5.0/tests/expected/players/updated/pressry01/info.csv +2 -0
  175. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/updated/pressry01/pitching.csv +34 -34
  176. brlib-0.5.0/tests/expected/players/updated/pressry01/salaries.csv +14 -0
  177. brlib-0.5.0/tests/expected/players/updated/vogtst01/info.csv +2 -0
  178. brlib-0.5.0/tests/expected/players/updated/vogtst01/pitching.csv +1 -0
  179. brlib-0.5.0/tests/expected/players/updated/vogtst01/salaries.csv +12 -0
  180. brlib-0.5.0/tests/expected/teams/original/BBB1924/batting.csv +25 -0
  181. brlib-0.5.0/tests/expected/teams/original/BBB1924/fielding.csv +21 -0
  182. brlib-0.5.0/tests/expected/teams/original/BBB1924/info.csv +2 -0
  183. brlib-0.5.0/tests/expected/teams/original/BBB1924/pitching.csv +10 -0
  184. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/BBB1924/players.json +1 -1
  185. brlib-0.5.0/tests/expected/teams/original/BEG1939/batting.csv +46 -0
  186. brlib-0.5.0/tests/expected/teams/original/BEG1939/fielding.csv +38 -0
  187. brlib-0.5.0/tests/expected/teams/original/BEG1939/info.csv +2 -0
  188. brlib-0.5.0/tests/expected/teams/original/BEG1939/pitching.csv +18 -0
  189. brlib-0.5.0/tests/expected/teams/original/BEG1939/players.json +1 -0
  190. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/CHC2020/batting.csv +1 -1
  191. {brlib-0.4.0/tests/expected/teams/updated → brlib-0.5.0/tests/expected/teams/original}/CHC2020/info.csv +1 -1
  192. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/CHC2020/pitching.csv +23 -23
  193. brlib-0.5.0/tests/expected/teams/original/COT1932/info.csv +2 -0
  194. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/HOU2022/batting.csv +1 -1
  195. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/HOU2022/fielding.csv +12 -12
  196. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/HOU2022/info.csv +1 -1
  197. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/HOU2022/pitching.csv +19 -19
  198. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/LAA2012/batting.csv +19 -19
  199. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/LAA2012/fielding.csv +4 -4
  200. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/LAA2012/info.csv +1 -1
  201. {brlib-0.4.0/tests/expected/teams/updated → brlib-0.5.0/tests/expected/teams/original}/MIN2019/batting.csv +18 -18
  202. {brlib-0.4.0/tests/expected/teams/updated → brlib-0.5.0/tests/expected/teams/original}/MIN2019/fielding.csv +4 -4
  203. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/MIN2019/info.csv +1 -1
  204. brlib-0.5.0/tests/expected/teams/original/PHI1894/batting.csv +34 -0
  205. brlib-0.5.0/tests/expected/teams/original/PHI1894/fielding.csv +32 -0
  206. brlib-0.5.0/tests/expected/teams/original/PHI1894/info.csv +2 -0
  207. brlib-0.5.0/tests/expected/teams/original/PHI1894/pitching.csv +16 -0
  208. brlib-0.5.0/tests/expected/teams/original/PHI1894/players.json +1 -0
  209. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/SEA2012/batting.csv +21 -21
  210. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/SEA2012/fielding.csv +4 -4
  211. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/SEA2012/info.csv +1 -1
  212. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/SEA2012/pitching.csv +1 -1
  213. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/WSH1904/batting.csv +30 -30
  214. brlib-0.5.0/tests/expected/teams/original/WSH1904/info.csv +2 -0
  215. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/records.csv +3 -2
  216. brlib-0.5.0/tests/expected/teams/updated/BBB1924/batting.csv +25 -0
  217. brlib-0.5.0/tests/expected/teams/updated/BBB1924/fielding.csv +21 -0
  218. brlib-0.5.0/tests/expected/teams/updated/BBB1924/info.csv +2 -0
  219. brlib-0.5.0/tests/expected/teams/updated/BBB1924/pitching.csv +10 -0
  220. brlib-0.5.0/tests/expected/teams/updated/BEG1939/batting.csv +46 -0
  221. brlib-0.5.0/tests/expected/teams/updated/BEG1939/fielding.csv +38 -0
  222. brlib-0.5.0/tests/expected/teams/updated/BEG1939/info.csv +2 -0
  223. brlib-0.5.0/tests/expected/teams/updated/BEG1939/pitching.csv +18 -0
  224. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/CHC2020/batting.csv +1 -1
  225. {brlib-0.4.0/tests/expected/teams/original → brlib-0.5.0/tests/expected/teams/updated}/CHC2020/info.csv +1 -1
  226. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/CHC2020/pitching.csv +23 -23
  227. brlib-0.5.0/tests/expected/teams/updated/COT1932/info.csv +2 -0
  228. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/HOU2022/batting.csv +1 -1
  229. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/HOU2022/fielding.csv +12 -12
  230. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/HOU2022/info.csv +1 -1
  231. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/HOU2022/pitching.csv +19 -19
  232. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/LAA2012/batting.csv +19 -19
  233. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/LAA2012/fielding.csv +4 -4
  234. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/LAA2012/info.csv +1 -1
  235. {brlib-0.4.0/tests/expected/teams/original → brlib-0.5.0/tests/expected/teams/updated}/MIN2019/batting.csv +18 -18
  236. {brlib-0.4.0/tests/expected/teams/original → brlib-0.5.0/tests/expected/teams/updated}/MIN2019/fielding.csv +4 -4
  237. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/MIN2019/info.csv +1 -1
  238. brlib-0.5.0/tests/expected/teams/updated/PHI1894/batting.csv +34 -0
  239. brlib-0.5.0/tests/expected/teams/updated/PHI1894/fielding.csv +32 -0
  240. brlib-0.5.0/tests/expected/teams/updated/PHI1894/info.csv +2 -0
  241. brlib-0.5.0/tests/expected/teams/updated/PHI1894/pitching.csv +16 -0
  242. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/SEA2012/batting.csv +21 -21
  243. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/SEA2012/fielding.csv +4 -4
  244. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/SEA2012/info.csv +1 -1
  245. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/SEA2012/pitching.csv +1 -1
  246. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/WSH1904/batting.csv +30 -30
  247. brlib-0.5.0/tests/expected/teams/updated/WSH1904/info.csv +2 -0
  248. {brlib-0.4.0 → brlib-0.5.0}/tests/test_all_players.py +3 -3
  249. {brlib-0.4.0 → brlib-0.5.0}/tests/test_find_asg.py +14 -0
  250. {brlib-0.4.0 → brlib-0.5.0}/tests/test_find_games.py +44 -33
  251. {brlib-0.4.0 → brlib-0.5.0}/tests/test_find_teams.py +40 -0
  252. {brlib-0.4.0 → brlib-0.5.0}/tests/test_game_set.py +15 -0
  253. brlib-0.5.0/tests/test_options.py +134 -0
  254. {brlib-0.4.0 → brlib-0.5.0}/tests/test_player.py +23 -4
  255. {brlib-0.4.0 → brlib-0.5.0}/tests/test_player_set.py +32 -4
  256. {brlib-0.4.0 → brlib-0.5.0}/tests/test_team_set.py +15 -0
  257. brlib-0.5.0/uv.lock +1015 -0
  258. brlib-0.4.0/scripts/refresh_wiki.py +0 -60
  259. brlib-0.4.0/tests/_helpers/test_abbreviations_manager.py +0 -93
  260. brlib-0.4.0/tests/conftest.py +0 -233
  261. brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/info.csv +0 -2
  262. brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/ump_info.csv +0 -7
  263. brlib-0.4.0/tests/expected/games/original/2025-allstar-game/info.csv +0 -2
  264. brlib-0.4.0/tests/expected/games/original/2025-allstar-game/ump_info.csv +0 -7
  265. brlib-0.4.0/tests/expected/games/original/ANA202305090/info.csv +0 -2
  266. brlib-0.4.0/tests/expected/games/original/ANA202305090/ump_info.csv +0 -5
  267. brlib-0.4.0/tests/expected/games/original/BOS201708250/info.csv +0 -2
  268. brlib-0.4.0/tests/expected/games/original/BOS201708250/ump_info.csv +0 -5
  269. brlib-0.4.0/tests/expected/games/original/CHN196207291/info.csv +0 -2
  270. brlib-0.4.0/tests/expected/games/original/CHN196207291/ump_info.csv +0 -5
  271. brlib-0.4.0/tests/expected/games/original/FLO199407290/info.csv +0 -2
  272. brlib-0.4.0/tests/expected/games/original/FLO199407290/ump_info.csv +0 -5
  273. brlib-0.4.0/tests/expected/games/original/MLA190105301/info.csv +0 -2
  274. brlib-0.4.0/tests/expected/games/original/MLA190105301/ump_info.csv +0 -2
  275. brlib-0.4.0/tests/expected/games/original/NYN200908230/info.csv +0 -2
  276. brlib-0.4.0/tests/expected/games/original/NYN200908230/ump_info.csv +0 -5
  277. brlib-0.4.0/tests/expected/games/original/PHI202211020/info.csv +0 -2
  278. brlib-0.4.0/tests/expected/games/original/PHI202211020/ump_info.csv +0 -7
  279. brlib-0.4.0/tests/expected/games/original/PIT192010023/info.csv +0 -2
  280. brlib-0.4.0/tests/expected/games/original/PIT192010023/ump_info.csv +0 -3
  281. brlib-0.4.0/tests/expected/games/original/SEA197805231/info.csv +0 -2
  282. brlib-0.4.0/tests/expected/games/original/SEA197805231/ump_info.csv +0 -5
  283. brlib-0.4.0/tests/expected/games/original/SEA201106250/info.csv +0 -2
  284. brlib-0.4.0/tests/expected/games/original/SEA201106250/ump_info.csv +0 -5
  285. brlib-0.4.0/tests/expected/games/original/SEA201208150/info.csv +0 -2
  286. brlib-0.4.0/tests/expected/games/original/SEA201208150/ump_info.csv +0 -5
  287. brlib-0.4.0/tests/expected/games/original/SEA201804190/info.csv +0 -2
  288. brlib-0.4.0/tests/expected/games/original/SEA201804190/ump_info.csv +0 -5
  289. brlib-0.4.0/tests/expected/games/original/SEA201905270/info.csv +0 -2
  290. brlib-0.4.0/tests/expected/games/original/SEA201905270/ump_info.csv +0 -5
  291. brlib-0.4.0/tests/expected/games/original/SEA202210150/info.csv +0 -2
  292. brlib-0.4.0/tests/expected/games/original/SEA202210150/ump_info.csv +0 -7
  293. brlib-0.4.0/tests/expected/games/original/SLN190710051/info.csv +0 -2
  294. brlib-0.4.0/tests/expected/games/original/SLN190710051/ump_info.csv +0 -2
  295. brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/info.csv +0 -2
  296. brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/info.csv +0 -2
  297. brlib-0.4.0/tests/expected/games/updated/ANA202305090/info.csv +0 -2
  298. brlib-0.4.0/tests/expected/games/updated/BOS201708250/info.csv +0 -2
  299. brlib-0.4.0/tests/expected/games/updated/CHN196207291/info.csv +0 -2
  300. brlib-0.4.0/tests/expected/games/updated/FLO199407290/info.csv +0 -2
  301. brlib-0.4.0/tests/expected/games/updated/MLA190105301/info.csv +0 -2
  302. brlib-0.4.0/tests/expected/games/updated/NYN200908230/info.csv +0 -2
  303. brlib-0.4.0/tests/expected/games/updated/PHI202211020/info.csv +0 -2
  304. brlib-0.4.0/tests/expected/games/updated/PIT192010023/info.csv +0 -2
  305. brlib-0.4.0/tests/expected/games/updated/SEA197805231/info.csv +0 -2
  306. brlib-0.4.0/tests/expected/games/updated/SEA201106250/info.csv +0 -2
  307. brlib-0.4.0/tests/expected/games/updated/SEA201208150/info.csv +0 -2
  308. brlib-0.4.0/tests/expected/games/updated/SEA201804190/info.csv +0 -2
  309. brlib-0.4.0/tests/expected/games/updated/SEA201905270/info.csv +0 -2
  310. brlib-0.4.0/tests/expected/games/updated/SEA202210150/info.csv +0 -2
  311. brlib-0.4.0/tests/expected/games/updated/SLN190710051/info.csv +0 -2
  312. brlib-0.4.0/tests/expected/players/original/aloumo01/info.csv +0 -2
  313. brlib-0.4.0/tests/expected/players/original/bendech01/batting.csv +0 -33
  314. brlib-0.4.0/tests/expected/players/original/bendech01/info.csv +0 -2
  315. brlib-0.4.0/tests/expected/players/original/colli05/info.csv +0 -2
  316. brlib-0.4.0/tests/expected/players/original/cormirh01/info.csv +0 -2
  317. brlib-0.4.0/tests/expected/players/original/gibsojo99/batting.csv +0 -34
  318. brlib-0.4.0/tests/expected/players/original/gibsojo99/fielding.csv +0 -66
  319. brlib-0.4.0/tests/expected/players/original/gibsojo99/info.csv +0 -2
  320. brlib-0.4.0/tests/expected/players/original/gibsojo99/pitching.csv +0 -4
  321. brlib-0.4.0/tests/expected/players/original/hallaro01/info.csv +0 -2
  322. brlib-0.4.0/tests/expected/players/original/jacksre01/info.csv +0 -2
  323. brlib-0.4.0/tests/expected/players/original/kigerma01/info.csv +0 -2
  324. brlib-0.4.0/tests/expected/players/original/pressry01/info.csv +0 -2
  325. brlib-0.4.0/tests/expected/players/original/vogtst01/info.csv +0 -2
  326. brlib-0.4.0/tests/expected/players/original/vogtst01/pitching.csv +0 -1
  327. brlib-0.4.0/tests/expected/players/updated/aloumo01/info.csv +0 -2
  328. brlib-0.4.0/tests/expected/players/updated/aloumo01/pitching.csv +0 -1
  329. brlib-0.4.0/tests/expected/players/updated/bendech01/info.csv +0 -2
  330. brlib-0.4.0/tests/expected/players/updated/colli05/info.csv +0 -2
  331. brlib-0.4.0/tests/expected/players/updated/colli05/pitching.csv +0 -1
  332. brlib-0.4.0/tests/expected/players/updated/cormirh01/info.csv +0 -2
  333. brlib-0.4.0/tests/expected/players/updated/gibsojo99/info.csv +0 -2
  334. brlib-0.4.0/tests/expected/players/updated/gibsojo99/pitching.csv +0 -4
  335. brlib-0.4.0/tests/expected/players/updated/hallaro01/info.csv +0 -2
  336. brlib-0.4.0/tests/expected/players/updated/jacksre01/info.csv +0 -2
  337. brlib-0.4.0/tests/expected/players/updated/jacksre01/pitching.csv +0 -1
  338. brlib-0.4.0/tests/expected/players/updated/kigerma01/info.csv +0 -2
  339. brlib-0.4.0/tests/expected/players/updated/kigerma01/pitching.csv +0 -1
  340. brlib-0.4.0/tests/expected/players/updated/pressry01/info.csv +0 -2
  341. brlib-0.4.0/tests/expected/players/updated/vogtst01/info.csv +0 -2
  342. brlib-0.4.0/tests/expected/players/updated/vogtst01/pitching.csv +0 -1
  343. brlib-0.4.0/tests/expected/teams/original/BBB1924/batting.csv +0 -26
  344. brlib-0.4.0/tests/expected/teams/original/BBB1924/fielding.csv +0 -22
  345. brlib-0.4.0/tests/expected/teams/original/BBB1924/info.csv +0 -2
  346. brlib-0.4.0/tests/expected/teams/original/BBB1924/pitching.csv +0 -10
  347. brlib-0.4.0/tests/expected/teams/original/BEG1939/batting.csv +0 -45
  348. brlib-0.4.0/tests/expected/teams/original/BEG1939/fielding.csv +0 -37
  349. brlib-0.4.0/tests/expected/teams/original/BEG1939/info.csv +0 -2
  350. brlib-0.4.0/tests/expected/teams/original/BEG1939/pitching.csv +0 -17
  351. brlib-0.4.0/tests/expected/teams/original/BEG1939/players.json +0 -1
  352. brlib-0.4.0/tests/expected/teams/original/COT1932/info.csv +0 -2
  353. brlib-0.4.0/tests/expected/teams/original/WSH1904/info.csv +0 -2
  354. brlib-0.4.0/tests/expected/teams/updated/BBB1924/batting.csv +0 -26
  355. brlib-0.4.0/tests/expected/teams/updated/BBB1924/fielding.csv +0 -22
  356. brlib-0.4.0/tests/expected/teams/updated/BBB1924/info.csv +0 -2
  357. brlib-0.4.0/tests/expected/teams/updated/BBB1924/pitching.csv +0 -10
  358. brlib-0.4.0/tests/expected/teams/updated/BEG1939/batting.csv +0 -45
  359. brlib-0.4.0/tests/expected/teams/updated/BEG1939/fielding.csv +0 -37
  360. brlib-0.4.0/tests/expected/teams/updated/BEG1939/info.csv +0 -2
  361. brlib-0.4.0/tests/expected/teams/updated/BEG1939/pitching.csv +0 -17
  362. brlib-0.4.0/tests/expected/teams/updated/COT1932/info.csv +0 -2
  363. brlib-0.4.0/tests/expected/teams/updated/WSH1904/info.csv +0 -2
  364. brlib-0.4.0/uv.lock +0 -840
  365. {brlib-0.4.0 → brlib-0.5.0}/.github/workflows/publish.yml +0 -0
  366. {brlib-0.4.0 → brlib-0.5.0}/LICENSE.txt +0 -0
  367. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/__init__.py +0 -0
  368. {brlib-0.4.0 → brlib-0.5.0}/src/brlib/_helpers/singleton.py +0 -0
  369. {brlib-0.4.0 → brlib-0.5.0}/tests/_helpers/test_utils.py +0 -0
  370. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/fielding.csv +3 -3
  371. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/linescore.csv +0 -0
  372. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/pitching.csv +0 -0
  373. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/team_info.csv +0 -0
  374. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/teams.json +0 -0
  375. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/batting.csv +0 -0
  376. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/fielding.csv +0 -0
  377. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/linescore.csv +0 -0
  378. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/pitching.csv +0 -0
  379. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/players.json +0 -0
  380. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/team_info.csv +0 -0
  381. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/teams.json +0 -0
  382. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/fielding.csv +0 -0
  383. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/linescore.csv +0 -0
  384. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/pitching.csv +0 -0
  385. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/players.json +0 -0
  386. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/team_info.csv +0 -0
  387. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/teams.json +0 -0
  388. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/batting.csv +0 -0
  389. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/fielding.csv +0 -0
  390. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/linescore.csv +0 -0
  391. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/pitching.csv +0 -0
  392. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/players.json +0 -0
  393. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/team_info.csv +0 -0
  394. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/teams.json +0 -0
  395. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/CHN196207291/batting.csv +0 -0
  396. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/CHN196207291/fielding.csv +0 -0
  397. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/CHN196207291/linescore.csv +0 -0
  398. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/CHN196207291/pitching.csv +0 -0
  399. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/CHN196207291/players.json +0 -0
  400. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/CHN196207291/team_info.csv +0 -0
  401. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/CHN196207291/teams.json +0 -0
  402. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/fielding.csv +0 -0
  403. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/linescore.csv +0 -0
  404. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/pitching.csv +0 -0
  405. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/players.json +0 -0
  406. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/team_info.csv +0 -0
  407. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/teams.json +0 -0
  408. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/batting.csv +0 -0
  409. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/fielding.csv +0 -0
  410. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/linescore.csv +0 -0
  411. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/pitching.csv +0 -0
  412. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/players.json +0 -0
  413. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/team_info.csv +0 -0
  414. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/teams.json +0 -0
  415. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/batting.csv +0 -0
  416. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/fielding.csv +0 -0
  417. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/linescore.csv +0 -0
  418. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/pitching.csv +0 -0
  419. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/players.json +0 -0
  420. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/team_info.csv +0 -0
  421. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/teams.json +0 -0
  422. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/batting.csv +0 -0
  423. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/fielding.csv +0 -0
  424. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/linescore.csv +0 -0
  425. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/pitching.csv +0 -0
  426. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/players.json +0 -0
  427. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/team_info.csv +0 -0
  428. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/teams.json +0 -0
  429. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/fielding.csv +0 -0
  430. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/linescore.csv +0 -0
  431. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/pitching.csv +0 -0
  432. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/players.json +0 -0
  433. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/team_info.csv +0 -0
  434. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/teams.json +0 -0
  435. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/batting.csv +0 -0
  436. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/fielding.csv +0 -0
  437. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/linescore.csv +0 -0
  438. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/pitching.csv +0 -0
  439. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/players.json +0 -0
  440. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/team_info.csv +0 -0
  441. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/teams.json +0 -0
  442. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201106250/batting.csv +0 -0
  443. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201106250/fielding.csv +0 -0
  444. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201106250/linescore.csv +0 -0
  445. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201106250/pitching.csv +0 -0
  446. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201106250/players.json +0 -0
  447. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201106250/team_info.csv +0 -0
  448. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201106250/teams.json +0 -0
  449. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/batting.csv +0 -0
  450. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/fielding.csv +0 -0
  451. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/linescore.csv +0 -0
  452. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/pitching.csv +0 -0
  453. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/players.json +0 -0
  454. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/team_info.csv +0 -0
  455. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/teams.json +0 -0
  456. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/fielding.csv +0 -0
  457. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/linescore.csv +0 -0
  458. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/pitching.csv +0 -0
  459. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/players.json +0 -0
  460. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/team_info.csv +0 -0
  461. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/teams.json +0 -0
  462. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/batting.csv +0 -0
  463. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/fielding.csv +0 -0
  464. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/linescore.csv +0 -0
  465. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/pitching.csv +0 -0
  466. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/players.json +0 -0
  467. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/team_info.csv +0 -0
  468. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/teams.json +0 -0
  469. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/batting.csv +0 -0
  470. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/fielding.csv +0 -0
  471. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/linescore.csv +0 -0
  472. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/pitching.csv +0 -0
  473. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/players.json +0 -0
  474. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/team_info.csv +0 -0
  475. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/teams.json +0 -0
  476. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/batting.csv +0 -0
  477. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/fielding.csv +0 -0
  478. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/linescore.csv +0 -0
  479. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/pitching.csv +0 -0
  480. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/players.json +0 -0
  481. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/team_info.csv +0 -0
  482. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/teams.json +0 -0
  483. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/records.csv +0 -0
  484. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/1961-allstar-game-1/fielding.csv +3 -3
  485. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/1961-allstar-game-1/linescore.csv +0 -0
  486. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/1961-allstar-game-1/pitching.csv +0 -0
  487. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/1961-allstar-game-1/team_info.csv +0 -0
  488. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/2025-allstar-game/batting.csv +0 -0
  489. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/2025-allstar-game/fielding.csv +0 -0
  490. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/2025-allstar-game/linescore.csv +0 -0
  491. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/2025-allstar-game/pitching.csv +0 -0
  492. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/2025-allstar-game/team_info.csv +0 -0
  493. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/ANA202305090/fielding.csv +0 -0
  494. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/ANA202305090/linescore.csv +0 -0
  495. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/ANA202305090/pitching.csv +0 -0
  496. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/ANA202305090/team_info.csv +0 -0
  497. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/BOS201708250/batting.csv +0 -0
  498. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/BOS201708250/fielding.csv +0 -0
  499. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/BOS201708250/linescore.csv +0 -0
  500. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/BOS201708250/pitching.csv +0 -0
  501. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/BOS201708250/team_info.csv +0 -0
  502. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/CHN196207291/batting.csv +0 -0
  503. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/CHN196207291/fielding.csv +0 -0
  504. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/CHN196207291/linescore.csv +0 -0
  505. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/CHN196207291/pitching.csv +0 -0
  506. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/CHN196207291/team_info.csv +0 -0
  507. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/FLO199407290/fielding.csv +0 -0
  508. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/FLO199407290/linescore.csv +0 -0
  509. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/FLO199407290/pitching.csv +0 -0
  510. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/FLO199407290/team_info.csv +0 -0
  511. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/MLA190105301/batting.csv +0 -0
  512. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/MLA190105301/fielding.csv +0 -0
  513. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/MLA190105301/linescore.csv +0 -0
  514. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/MLA190105301/pitching.csv +0 -0
  515. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/MLA190105301/team_info.csv +0 -0
  516. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/NYN200908230/batting.csv +0 -0
  517. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/NYN200908230/fielding.csv +0 -0
  518. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/NYN200908230/linescore.csv +0 -0
  519. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/NYN200908230/pitching.csv +0 -0
  520. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/NYN200908230/team_info.csv +0 -0
  521. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PHI202211020/batting.csv +0 -0
  522. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PHI202211020/fielding.csv +0 -0
  523. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PHI202211020/linescore.csv +0 -0
  524. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PHI202211020/pitching.csv +0 -0
  525. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PHI202211020/team_info.csv +0 -0
  526. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PIT192010023/fielding.csv +0 -0
  527. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PIT192010023/linescore.csv +0 -0
  528. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PIT192010023/pitching.csv +0 -0
  529. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/PIT192010023/team_info.csv +0 -0
  530. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA197805231/batting.csv +0 -0
  531. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA197805231/fielding.csv +0 -0
  532. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA197805231/linescore.csv +0 -0
  533. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA197805231/pitching.csv +0 -0
  534. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA197805231/team_info.csv +0 -0
  535. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201106250/batting.csv +0 -0
  536. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201106250/fielding.csv +0 -0
  537. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201106250/linescore.csv +0 -0
  538. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201106250/pitching.csv +0 -0
  539. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201106250/team_info.csv +0 -0
  540. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201208150/batting.csv +0 -0
  541. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201208150/fielding.csv +0 -0
  542. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201208150/linescore.csv +0 -0
  543. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201208150/pitching.csv +0 -0
  544. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201208150/team_info.csv +0 -0
  545. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201804190/fielding.csv +0 -0
  546. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201804190/linescore.csv +0 -0
  547. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201804190/pitching.csv +0 -0
  548. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201804190/team_info.csv +0 -0
  549. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201905270/batting.csv +0 -0
  550. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201905270/fielding.csv +0 -0
  551. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201905270/linescore.csv +0 -0
  552. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201905270/pitching.csv +0 -0
  553. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201905270/team_info.csv +0 -0
  554. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA202210150/batting.csv +0 -0
  555. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA202210150/fielding.csv +0 -0
  556. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA202210150/linescore.csv +0 -0
  557. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA202210150/pitching.csv +0 -0
  558. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SEA202210150/team_info.csv +0 -0
  559. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SLN190710051/batting.csv +0 -0
  560. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SLN190710051/fielding.csv +0 -0
  561. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SLN190710051/linescore.csv +0 -0
  562. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SLN190710051/pitching.csv +0 -0
  563. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/games/updated/SLN190710051/team_info.csv +0 -0
  564. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/bling.csv +0 -0
  565. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/relatives.json +0 -0
  566. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/teams.json +0 -0
  567. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/bendech01/bling.csv +0 -0
  568. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/bendech01/relatives.json +0 -0
  569. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/bendech01/teams.json +0 -0
  570. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/colli05/bling.csv +0 -0
  571. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/colli05/relatives.json +0 -0
  572. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/colli05/teams.json +0 -0
  573. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/bling.csv +0 -0
  574. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/relatives.json +0 -0
  575. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/teams.json +0 -0
  576. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/gibsojo99/bling.csv +0 -0
  577. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/gibsojo99/relatives.json +0 -0
  578. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/gibsojo99/teams.json +0 -0
  579. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/bling.csv +0 -0
  580. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/relatives.json +0 -0
  581. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/teams.json +0 -0
  582. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/bling.csv +0 -0
  583. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/relatives.json +0 -0
  584. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/teams.json +0 -0
  585. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/bling.csv +0 -0
  586. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/relatives.json +0 -0
  587. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/teams.json +0 -0
  588. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/bling.csv +0 -0
  589. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/relatives.json +0 -0
  590. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/teams.json +0 -0
  591. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/vogtst01/bling.csv +0 -0
  592. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/vogtst01/relatives.json +0 -0
  593. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/players/original/vogtst01/teams.json +0 -0
  594. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/CHC2020/fielding.csv +0 -0
  595. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/CHC2020/players.json +0 -0
  596. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/batting.csv +0 -0
  597. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/fielding.csv +0 -0
  598. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/pitching.csv +0 -0
  599. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/players.json +0 -0
  600. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/HOU2022/players.json +0 -0
  601. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/LAA2012/pitching.csv +0 -0
  602. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/LAA2012/players.json +0 -0
  603. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/MIN2019/pitching.csv +0 -0
  604. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/MIN2019/players.json +0 -0
  605. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/SEA2012/players.json +0 -0
  606. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/WSH1904/fielding.csv +0 -0
  607. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/WSH1904/pitching.csv +0 -0
  608. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/original/WSH1904/players.json +0 -0
  609. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/CHC2020/fielding.csv +0 -0
  610. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/COT1932/batting.csv +0 -0
  611. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/COT1932/fielding.csv +0 -0
  612. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/COT1932/pitching.csv +0 -0
  613. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/LAA2012/pitching.csv +0 -0
  614. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/MIN2019/pitching.csv +0 -0
  615. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/WSH1904/fielding.csv +0 -0
  616. {brlib-0.4.0 → brlib-0.5.0}/tests/expected/teams/updated/WSH1904/pitching.csv +0 -0
  617. {brlib-0.4.0 → brlib-0.5.0}/tests/get_expected.py +0 -0
  618. {brlib-0.4.0 → brlib-0.5.0}/tests/test_game.py +0 -0
  619. {brlib-0.4.0 → brlib-0.5.0}/tests/test_team.py +0 -0
@@ -0,0 +1,32 @@
1
+ version: 2
2
+
3
+ updates:
4
+ - package-ecosystem: "uv"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ versioning-strategy: auto
9
+
10
+ cooldown:
11
+ default-days: 2
12
+
13
+ allow:
14
+ # ensure that transitive dependencies are updated
15
+ - dependency-type: "all"
16
+
17
+ groups:
18
+ # group patch updates into one PR
19
+ patch-updates:
20
+ update-types:
21
+ - "patch"
22
+ patterns:
23
+ - "*"
24
+ # do the same with most minor updates
25
+ safe-minor-updates:
26
+ update-types:
27
+ - "minor"
28
+ # exclude packages that could ship breaking changes or noisy deprecations in minor updates
29
+ exclude-patterns:
30
+ - "beautifulsoup4"
31
+ - "curl-cffi"
32
+ - "pandas"
@@ -1,7 +1,7 @@
1
1
  name: Full Tests
2
2
 
3
3
  on:
4
- # to be run before releases
4
+ # to be run manually before releases
5
5
  workflow_dispatch:
6
6
 
7
7
  jobs:
@@ -11,7 +11,7 @@ jobs:
11
11
  strategy:
12
12
  matrix:
13
13
  os: [ubuntu-latest, windows-latest, macos-latest]
14
- python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
14
+ python-version: ["3.10", "3.14"]
15
15
  resolution: ['highest']
16
16
  include:
17
17
  - os: ubuntu-latest
@@ -21,7 +21,7 @@ jobs:
21
21
  python-version: "3.10"
22
22
  resolution: 'lowest-direct'
23
23
  - os: macos-latest
24
- # there's no 3.10 wheel for lxml on ARM64 macOS
24
+ # there's no lxml wheel for 3.10 on ARM64 macOS
25
25
  python-version: "3.11"
26
26
  resolution: 'lowest-direct'
27
27
 
@@ -41,7 +41,7 @@ jobs:
41
41
  run: uv venv
42
42
 
43
43
  - name: Install brlib
44
- run: uv pip install --resolution ${{ matrix.resolution }} -e .[dev]
44
+ run: uv sync --resolution ${{ matrix.resolution }} --group dev
45
45
 
46
- - name: Run pytest
47
- run: uv run pytest
46
+ - name: Run pytest with coverage
47
+ run: uv run pytest --cov=. --cov-report=term-missing
@@ -6,7 +6,7 @@ on:
6
6
  - '**'
7
7
  schedule:
8
8
  # run at 12 UTC, hopefully after BR's daily in-season updates
9
- # run weekly, because anything more would be overkill
9
+ # run weekly (on Saturday), because anything more would be overkill
10
10
  - cron: '0 12 * * 6'
11
11
 
12
12
  jobs:
@@ -37,7 +37,7 @@ jobs:
37
37
  run: uv venv
38
38
 
39
39
  - name: Install brlib
40
- run: uv pip install --resolution highest -e .[dev]
40
+ run: uv sync --resolution highest --group dev
41
41
 
42
42
  - name: Check import sorting with isort
43
43
  run: uv run isort --check-only .
@@ -45,5 +45,5 @@ jobs:
45
45
  - name: Check formatting with Black
46
46
  run: uv run black --check .
47
47
 
48
- - name: Run pytest
49
- run: uv run pytest
48
+ - name: Run pytest with coverage
49
+ run: uv run pytest --cov=. --cov-report=term-missing
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brlib
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: A library for collecting baseball statistics from Baseball Reference
5
5
  Project-URL: Documentation, https://github.com/john-bieren/brlib/wiki
6
6
  Project-URL: GitHub, https://github.com/john-bieren/brlib
@@ -29,15 +29,11 @@ Classifier: Topic :: Scientific/Engineering :: Information Analysis
29
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
30
  Requires-Python: >=3.10
31
31
  Requires-Dist: beautifulsoup4<4.15.0,>=4.12.0
32
- Requires-Dist: curl-cffi<0.15.0,>=0.11.1
32
+ Requires-Dist: curl-cffi<0.16.0,>=0.11.1
33
33
  Requires-Dist: lxml<7.0.0,>=5.0.0
34
34
  Requires-Dist: pandas<3.0.0,>=2.2.0
35
35
  Requires-Dist: platformdirs<5.0.0,>=4.0.0
36
36
  Requires-Dist: tqdm<5.0.0,>=4.66.0
37
- Provides-Extra: dev
38
- Requires-Dist: black==26.3.0; extra == 'dev'
39
- Requires-Dist: isort==8.0.1; extra == 'dev'
40
- Requires-Dist: pytest<10.0.0,>=7.0.0; extra == 'dev'
41
37
  Description-Content-Type: text/markdown
42
38
 
43
39
  # brlib
@@ -57,11 +53,12 @@ A library for collecting baseball statistics from
57
53
  ## Key Features
58
54
 
59
55
  * `Game`, `Player`, and `Team` classes give you easy access to all associated data in one place,
60
- with attributes for stats tables, information, and more.
56
+ with attributes for stat tables and other information.
61
57
  * Aggregate these into `GameSet`, `PlayerSet`, or `TeamSet` classes, which have similar attributes,
62
58
  for easy analysis of larger samples.
63
- * Quickly search for games, players, and teams of interest, and gather their stats without violating
64
- the [rate limit](https://www.sports-reference.com/429.html).
59
+ * Easily search for games, players, and teams, and gather their stats.
60
+ * Quickly collect data without violating the
61
+ [rate limit](https://www.sports-reference.com/429.html).
65
62
 
66
63
  Learn more by reading the documentation on the [wiki](https://github.com/john-bieren/brlib/wiki).
67
64
 
@@ -73,10 +70,16 @@ brlib can be installed using pip:
73
70
  pip install brlib
74
71
  ```
75
72
 
76
- or by cloning this repo, in which case you'll want to install the development dependencies as well:
73
+ Or by cloning this repo:
77
74
 
78
75
  ```
79
- pip install -e .[dev]
76
+ pip install -e .
77
+ ```
78
+
79
+ If you've cloned the repo, you can also install the development dependencies:
80
+
81
+ ```
82
+ pip install --group dev
80
83
  ```
81
84
 
82
85
  Once installed, you can import brlib into your Python scripts:
@@ -15,11 +15,12 @@ A library for collecting baseball statistics from
15
15
  ## Key Features
16
16
 
17
17
  * `Game`, `Player`, and `Team` classes give you easy access to all associated data in one place,
18
- with attributes for stats tables, information, and more.
18
+ with attributes for stat tables and other information.
19
19
  * Aggregate these into `GameSet`, `PlayerSet`, or `TeamSet` classes, which have similar attributes,
20
20
  for easy analysis of larger samples.
21
- * Quickly search for games, players, and teams of interest, and gather their stats without violating
22
- the [rate limit](https://www.sports-reference.com/429.html).
21
+ * Easily search for games, players, and teams, and gather their stats.
22
+ * Quickly collect data without violating the
23
+ [rate limit](https://www.sports-reference.com/429.html).
23
24
 
24
25
  Learn more by reading the documentation on the [wiki](https://github.com/john-bieren/brlib/wiki).
25
26
 
@@ -31,10 +32,16 @@ brlib can be installed using pip:
31
32
  pip install brlib
32
33
  ```
33
34
 
34
- or by cloning this repo, in which case you'll want to install the development dependencies as well:
35
+ Or by cloning this repo:
35
36
 
36
37
  ```
37
- pip install -e .[dev]
38
+ pip install -e .
39
+ ```
40
+
41
+ If you've cloned the repo, you can also install the development dependencies:
42
+
43
+ ```
44
+ pip install --group dev
38
45
  ```
39
46
 
40
47
  Once installed, you can import brlib into your Python scripts:
@@ -10,7 +10,7 @@ dynamic = ["version"]
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
12
  "beautifulsoup4>=4.12.0,<4.15.0",
13
- "curl-cffi>=0.11.1,<0.15.0",
13
+ "curl-cffi>=0.11.1,<0.16.0",
14
14
  "lxml>=5.0.0,<7.0.0",
15
15
  "pandas>=2.2.0,<3.0.0",
16
16
  "platformdirs>=4.0.0,<5.0.0",
@@ -40,19 +40,20 @@ classifiers = [
40
40
  ]
41
41
  keywords = ["baseball reference", "baseball", "baseball stats", "mlb", "mlb stats"]
42
42
 
43
- [project.optional-dependencies]
44
- dev = [
45
- "black==26.3.0",
46
- "isort==8.0.1",
47
- "pytest>=7.0.0,<10.0.0",
48
- ]
49
-
50
43
  [project.urls]
51
44
  Documentation = "https://github.com/john-bieren/brlib/wiki"
52
45
  GitHub = "https://github.com/john-bieren/brlib"
53
46
  Issues = "https://github.com/john-bieren/brlib/issues"
54
47
  "Release Notes" = "https://github.com/john-bieren/brlib/releases"
55
48
 
49
+ [dependency-groups]
50
+ dev = [
51
+ "black==26.5.1",
52
+ "isort==8.0.1",
53
+ "pytest>=7.0.0,<10.0.0",
54
+ "pytest-cov>=4.0.0,<8.0.0",
55
+ ]
56
+
56
57
  [tool.hatch.version]
57
58
  path = "src/brlib/__init__.py"
58
59
 
@@ -3,8 +3,8 @@
3
3
  """
4
4
  Refreshes the expected data for games, players, and teams to match their current outputs. This is
5
5
  meant to automate the process of adapting to stat adjustments and other changes on Baseball
6
- Reference. All changes should be reviewed to make sure that they accurately reflect changes to the
7
- site, so as not to introduce errors into the test suite.
6
+ Reference. To avoid introducing errors into the test suite, all changes should be manually reviewed
7
+ to make sure that they accurately reflect changes to the site.
8
8
  """
9
9
 
10
10
  import json
@@ -13,9 +13,10 @@ from pathlib import Path
13
13
  from tqdm import tqdm
14
14
 
15
15
  import brlib as br
16
+ from tests.case_ids import game_test_cases, player_test_cases, team_test_cases
16
17
 
17
18
 
18
- def main():
19
+ def main() -> None:
19
20
  """Refreshes the expected data for games, players, and teams to match their current outputs."""
20
21
  expected_dir = Path(__file__).parent.parent / "tests" / "expected"
21
22
  br.options.add_no_hitters = False
@@ -34,15 +35,13 @@ def main():
34
35
 
35
36
  def refresh_games(games_dir: Path) -> None:
36
37
  """Refreshes expected data for games in `games_dir`."""
37
- ids_dir = games_dir / "original"
38
- total = sum(1 for entry in ids_dir.iterdir() if entry.is_dir())
39
- for game_dir in tqdm(ids_dir.iterdir(), total=total, unit="game"):
40
- if not game_dir.is_dir():
41
- continue
38
+ for game_id in tqdm(game_test_cases, unit="game"):
39
+ # locate, create target directories
40
+ (original_dir := games_dir / "original" / game_id).mkdir(exist_ok=True)
41
+ (updated_dir := games_dir / "updated" / game_id).mkdir(exist_ok=True)
42
42
 
43
43
  # refresh original data
44
- game = br.Game(game_dir.name)
45
- original_dir = games_dir / "original" / game_dir.name
44
+ game = br.Game(game_id)
46
45
  game.info.to_csv(original_dir / "info.csv", index=False)
47
46
  game.batting.to_csv(original_dir / "batting.csv", index=False)
48
47
  game.pitching.to_csv(original_dir / "pitching.csv", index=False)
@@ -57,7 +56,6 @@ def refresh_games(games_dir: Path) -> None:
57
56
  game.add_no_hitters()
58
57
  game.update_team_names()
59
58
  game.update_venue_names()
60
- updated_dir = games_dir / "updated" / game_dir.name
61
59
  game.info.to_csv(updated_dir / "info.csv", index=False)
62
60
  game.batting.to_csv(updated_dir / "batting.csv", index=False)
63
61
  game.pitching.to_csv(updated_dir / "pitching.csv", index=False)
@@ -68,42 +66,40 @@ def refresh_games(games_dir: Path) -> None:
68
66
 
69
67
  def refresh_players(players_dir: Path) -> None:
70
68
  """Refreshes expected data for players in `players_dir`."""
71
- ids_dir = players_dir / "original"
72
- total = sum(1 for entry in ids_dir.iterdir() if entry.is_dir())
73
- for player_dir in tqdm(ids_dir.iterdir(), total=total, unit="player"):
74
- if not player_dir.is_dir():
75
- continue
69
+ for player_id in tqdm(player_test_cases, unit="player"):
70
+ # locate, create target directories
71
+ (original_dir := players_dir / "original" / player_id).mkdir(exist_ok=True)
72
+ (updated_dir := players_dir / "updated" / player_id).mkdir(exist_ok=True)
76
73
 
77
74
  # refresh original data
78
- player = br.Player(player_dir.name)
79
- original_dir = players_dir / "original" / player_dir.name
75
+ player = br.Player(player_id)
80
76
  player.info.to_csv(original_dir / "info.csv", index=False)
81
77
  player.bling.to_csv(original_dir / "bling.csv", index=False)
82
78
  player.batting.to_csv(original_dir / "batting.csv", index=False)
83
79
  player.pitching.to_csv(original_dir / "pitching.csv", index=False)
84
80
  player.fielding.to_csv(original_dir / "fielding.csv", index=False)
81
+ player.salaries.to_csv(original_dir / "salaries.csv", index=False)
85
82
  (original_dir / "relatives.json").write_text(json.dumps(player.relatives))
86
83
  (original_dir / "teams.json").write_text(json.dumps(player.teams))
87
84
 
88
85
  # refresh updated data
89
86
  player.add_no_hitters()
90
87
  player.update_team_names()
91
- updated_dir = players_dir / "updated" / player_dir.name
92
88
  player.info.to_csv(updated_dir / "info.csv", index=False)
93
89
  player.pitching.to_csv(updated_dir / "pitching.csv", index=False)
90
+ player.salaries.to_csv(updated_dir / "salaries.csv", index=False)
94
91
 
95
92
 
96
93
  def refresh_teams(teams_dir: Path) -> None:
97
94
  """Refreshes expected data for the teams in `teams_dir`."""
98
- ids_dir = teams_dir / "original"
99
- total = sum(1 for entry in ids_dir.iterdir() if entry.is_dir())
100
- for team_dir in tqdm(ids_dir.iterdir(), total=total, unit="team"):
101
- if not team_dir.is_dir():
102
- continue
95
+ teams_list = []
96
+ for team_id in tqdm(team_test_cases, unit="team"):
97
+ # locate, create target directories
98
+ (original_dir := teams_dir / "original" / team_id).mkdir(exist_ok=True)
99
+ (updated_dir := teams_dir / "updated" / team_id).mkdir(exist_ok=True)
103
100
 
104
101
  # refresh original data
105
- team = br.Team(team_dir.name)
106
- original_dir = teams_dir / "original" / team_dir.name
102
+ team = br.Team(team_id)
107
103
  team.info.to_csv(original_dir / "info.csv", index=False)
108
104
  team.batting.to_csv(original_dir / "batting.csv", index=False)
109
105
  team.pitching.to_csv(original_dir / "pitching.csv", index=False)
@@ -114,12 +110,15 @@ def refresh_teams(teams_dir: Path) -> None:
114
110
  team.add_no_hitters()
115
111
  team.update_team_names()
116
112
  team.update_venue_names()
117
- updated_dir = teams_dir / "updated" / team_dir.name
118
113
  team.info.to_csv(updated_dir / "info.csv", index=False)
119
114
  team.batting.to_csv(updated_dir / "batting.csv", index=False)
120
115
  team.pitching.to_csv(updated_dir / "pitching.csv", index=False)
121
116
  team.fielding.to_csv(updated_dir / "fielding.csv", index=False)
122
117
 
118
+ teams_list.append(team)
119
+ team_set = br.TeamSet(teams_list)
120
+ team_set.records.to_csv(teams_dir / "records.csv", index=False)
121
+
123
122
 
124
123
  if __name__ == "__main__":
125
124
  main()
@@ -0,0 +1,176 @@
1
+ #!/usr/bin/env python3
2
+
3
+ """
4
+ Refreshes the contents of an adjacent "wiki" directory, presumably a clone of brlib's GitHub
5
+ wiki repo. Copies all public member docstrings into corresponding Markdown files, and refreshes
6
+ the column lists in DataFrames-Info.md. All changes should be manually reviewed.
7
+ """
8
+
9
+ import inspect
10
+ from pathlib import Path
11
+
12
+ import brlib
13
+ from brlib._helpers.constants import (
14
+ ALL_PLAYERS_COLS,
15
+ GAME_BATTING_COLS,
16
+ GAME_FIELDING_COLS,
17
+ GAME_INFO_COLS,
18
+ GAME_PITCHING_COLS,
19
+ GAME_TEAM_INFO_COLS,
20
+ GAME_UMP_INFO_COLS,
21
+ PLAYER_BATTING_COLS,
22
+ PLAYER_BLING_COLS,
23
+ PLAYER_FIELDING_COLS,
24
+ PLAYER_INFO_COLS,
25
+ PLAYER_PITCHING_COLS,
26
+ PLAYER_SALARIES_COLS,
27
+ RECORDS_COLS,
28
+ TEAM_BATTING_COLS,
29
+ TEAM_FIELDING_COLS,
30
+ TEAM_INFO_COLS,
31
+ TEAM_PITCHING_COLS,
32
+ )
33
+ from brlib._helpers.utils import str_between
34
+
35
+
36
+ def main() -> None:
37
+ """
38
+ Refreshes the contents of an adjacent "wiki" directory, presumably a clone of brlib's GitHub
39
+ wiki repo. Copies all public member docstrings into corresponding Markdown files, and refreshes
40
+ the column lists in DataFrames-Info.md. All changes should be manually reviewed.
41
+ """
42
+ wiki_dir = Path(__file__).parent.parent / "wiki"
43
+
44
+ print("Refreshing public member wiki files")
45
+ refresh_files(wiki_dir)
46
+
47
+ print("Refreshing column lists in DataFrames-info.md")
48
+ refresh_cols(wiki_dir)
49
+
50
+ # update version in footer title
51
+ file_path = wiki_dir / "_Footer.md"
52
+ lines = file_path.read_text(encoding="UTF-8").splitlines()
53
+ lines[0] = f"# brlib v{brlib.__version__}"
54
+ file_path.write_text("\n".join(lines) + "\n", encoding="UTF-8")
55
+
56
+
57
+ def refresh_files(wiki_dir: Path) -> None:
58
+ """Copies all public member docstrings into corresponding Markdown files."""
59
+ public_members = {
60
+ name: mem for name, mem in inspect.getmembers(brlib) if not name.startswith("_")
61
+ }
62
+ for member_name, member in public_members.items():
63
+ if inspect.ismodule(member):
64
+ continue
65
+ file_path = wiki_dir / f"{member_name}.md"
66
+ file_path.write_text(clean_docstring(member.__doc__), encoding="UTF-8")
67
+
68
+ # for classes or variables that are the instantiation of a singleton class
69
+ if not inspect.isfunction(member):
70
+ # create files for each of the class's public methods
71
+ methods = inspect.getmembers(member, predicate=is_function_or_method)
72
+ public_methods = {name: mem for name, mem in methods if not name.startswith("_")}
73
+ for method_name, method in public_methods.items():
74
+ file_path = wiki_dir / f"{member_name}.{method_name}.md"
75
+ file_path.write_text(clean_docstring(method.__doc__), encoding="UTF-8")
76
+
77
+
78
+ def clean_docstring(docstring: str) -> str:
79
+ """Reformat whitespace in `docstring`."""
80
+ # remove leading newline
81
+ if docstring.startswith("\n"):
82
+ docstring = docstring[1:]
83
+ return docstring
84
+
85
+
86
+ def is_function_or_method(member: object) -> bool:
87
+ """
88
+ Checks whether `inspect.isfunction` or `inspect.ismethod` is `True`. `isfunction` finds methods
89
+ if `member` is a class, and `ismethod` finds methods if `member` is a class instance.
90
+ """
91
+ return inspect.isfunction(member) or inspect.ismethod(member)
92
+
93
+
94
+ def refresh_cols(wiki_dir: Path) -> None:
95
+ """Refreshes the column lists in DataFrames-Info.md."""
96
+ df_info_file = wiki_dir / "DataFrames-Info.md"
97
+ # the current column lists, in the same order as DataFrames-Info.md
98
+ cols_lists = [
99
+ ALL_PLAYERS_COLS,
100
+ RECORDS_COLS,
101
+ GAME_INFO_COLS,
102
+ GAME_BATTING_COLS,
103
+ GAME_PITCHING_COLS,
104
+ GAME_FIELDING_COLS,
105
+ GAME_TEAM_INFO_COLS,
106
+ GAME_UMP_INFO_COLS,
107
+ PLAYER_INFO_COLS,
108
+ PLAYER_BLING_COLS,
109
+ PLAYER_BATTING_COLS,
110
+ PLAYER_PITCHING_COLS,
111
+ PLAYER_FIELDING_COLS,
112
+ PLAYER_SALARIES_COLS,
113
+ TEAM_INFO_COLS,
114
+ TEAM_BATTING_COLS,
115
+ TEAM_PITCHING_COLS,
116
+ TEAM_FIELDING_COLS,
117
+ ]
118
+
119
+ # first pass: gather the line(s) for each column (including the name and any additional notes)
120
+ col_lines = {}
121
+ df_name = current_col_name = current_col_lines = ""
122
+ for line in df_info_file.read_text(encoding="UTF-8").splitlines():
123
+ # start of a new DataFrame
124
+ if line.startswith("###"):
125
+ # previous column's lines are complete and must be recorded
126
+ if current_col_lines != "":
127
+ col_lines[f"{df_name}::{current_col_name}"] = current_col_lines
128
+ df_name = line[4:].replace("`", "").split(" and", maxsplit=1)[0]
129
+ current_col_lines = ""
130
+ # start of a new column
131
+ elif line.startswith("* `"):
132
+ # previous column's lines are complete and must be recorded
133
+ if current_col_lines != "":
134
+ col_lines[f"{df_name}::{current_col_name}"] = current_col_lines
135
+ current_col_name = str_between(line, "`", "`")
136
+ current_col_lines = line
137
+ # additional note about a column
138
+ elif line.startswith(" "):
139
+ current_col_lines += f"\n{line}"
140
+
141
+ # second pass: refresh column lists (including info) using the current columns in constants.py
142
+ file_lines = []
143
+ df_cols_written = False
144
+ df_name = ""
145
+ i = -1
146
+ for line in df_info_file.read_text(encoding="UTF-8").splitlines():
147
+ # start of a new DataFrame
148
+ if line.startswith("###"):
149
+ file_lines.append(line)
150
+ df_name = line[4:].replace("`", "").split(" and", maxsplit=1)[0]
151
+ df_cols_written = False
152
+ i += 1
153
+ # start of column list
154
+ elif line.startswith("* `"):
155
+ if df_cols_written:
156
+ # all of a DataFrame's columns are written at once, so skip to the next DataFrame
157
+ continue
158
+ for col_name in cols_lists[i]:
159
+ col_info = col_lines.get(f"{df_name}::{col_name}", "")
160
+ if col_info != "":
161
+ file_lines.append(col_info)
162
+ # if the column is new (or renamed, in which case info must be manually restored)
163
+ else:
164
+ file_lines.append(f"* `{col_name}`")
165
+ df_cols_written = True
166
+ # skip column notes, as they have already been added
167
+ elif line.startswith(" *"):
168
+ continue
169
+ # pass all other lines through
170
+ else:
171
+ file_lines.append(line)
172
+ df_info_file.write_text("\n".join(file_lines) + "\n", encoding="UTF-8")
173
+
174
+
175
+ if __name__ == "__main__":
176
+ main()
@@ -19,8 +19,9 @@ from .player import Player
19
19
  from .player_set import PlayerSet
20
20
  from .team import Team
21
21
  from .team_set import TeamSet
22
+ from .test_connection import test_connection
22
23
 
23
- __version__ = "0.4.0"
24
+ __version__ = "0.5.0"
24
25
 
25
26
  __all__ = [
26
27
  "all_players",
@@ -37,4 +38,5 @@ __all__ = [
37
38
  "PlayerSet",
38
39
  "Team",
39
40
  "TeamSet",
41
+ "test_connection",
40
42
  ]