brlib 0.3.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 (836) hide show
  1. brlib-0.5.0/.github/dependabot.yml +32 -0
  2. brlib-0.5.0/.github/workflows/full-test.yml +47 -0
  3. brlib-0.5.0/.github/workflows/test.yml +49 -0
  4. brlib-0.5.0/PKG-INFO +94 -0
  5. brlib-0.5.0/README.md +56 -0
  6. brlib-0.5.0/pyproject.toml +74 -0
  7. brlib-0.5.0/scripts/refresh_tests.py +124 -0
  8. brlib-0.5.0/scripts/refresh_wiki.py +176 -0
  9. brlib-0.5.0/src/brlib/__init__.py +42 -0
  10. brlib-0.5.0/src/brlib/_helpers/abbreviations_manager.py +244 -0
  11. brlib-0.5.0/src/brlib/_helpers/constants.py +1242 -0
  12. brlib-0.5.0/src/brlib/_helpers/inputs.py +181 -0
  13. brlib-0.5.0/src/brlib/_helpers/no_hitter_dicts.py +295 -0
  14. brlib-0.5.0/src/brlib/_helpers/requests_manager.py +75 -0
  15. brlib-0.5.0/src/brlib/_helpers/typechecking.py +78 -0
  16. brlib-0.5.0/src/brlib/_helpers/utils.py +137 -0
  17. brlib-0.5.0/src/brlib/all_players.py +72 -0
  18. brlib-0.5.0/src/brlib/find_asg.py +95 -0
  19. brlib-0.5.0/src/brlib/find_games.py +350 -0
  20. brlib-0.5.0/src/brlib/find_teams.py +189 -0
  21. brlib-0.5.0/src/brlib/game.py +1038 -0
  22. brlib-0.5.0/src/brlib/game_set.py +320 -0
  23. brlib-0.5.0/src/brlib/get_games.py +120 -0
  24. brlib-0.5.0/src/brlib/get_players.py +112 -0
  25. brlib-0.5.0/src/brlib/get_teams.py +119 -0
  26. brlib-0.5.0/src/brlib/options.py +506 -0
  27. brlib-0.5.0/src/brlib/player.py +1043 -0
  28. brlib-0.5.0/src/brlib/player_set.py +248 -0
  29. brlib-0.5.0/src/brlib/team.py +667 -0
  30. brlib-0.5.0/src/brlib/team_set.py +322 -0
  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.5.0/tests/_helpers/test_inputs.py +136 -0
  34. brlib-0.5.0/tests/_helpers/test_no_hitter_dicts.py +108 -0
  35. brlib-0.5.0/tests/_helpers/test_typechecking.py +47 -0
  36. brlib-0.5.0/tests/_helpers/test_utils.py +39 -0
  37. brlib-0.5.0/tests/case_ids.py +84 -0
  38. brlib-0.5.0/tests/conftest.py +157 -0
  39. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/batting.csv +46 -0
  40. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/fielding.csv +41 -0
  41. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/info.csv +2 -0
  42. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/pitching.csv +15 -0
  43. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/players.json +1 -0
  44. brlib-0.5.0/tests/expected/games/original/1961-allstar-game-1/ump_info.csv +7 -0
  45. brlib-0.5.0/tests/expected/games/original/2025-allstar-game/batting.csv +42 -0
  46. brlib-0.5.0/tests/expected/games/original/2025-allstar-game/fielding.csv +60 -0
  47. brlib-0.5.0/tests/expected/games/original/2025-allstar-game/info.csv +2 -0
  48. brlib-0.5.0/tests/expected/games/original/2025-allstar-game/pitching.csv +27 -0
  49. brlib-0.5.0/tests/expected/games/original/2025-allstar-game/ump_info.csv +7 -0
  50. brlib-0.5.0/tests/expected/games/original/ANA202305090/batting.csv +24 -0
  51. brlib-0.5.0/tests/expected/games/original/ANA202305090/fielding.csv +25 -0
  52. brlib-0.5.0/tests/expected/games/original/ANA202305090/info.csv +2 -0
  53. brlib-0.5.0/tests/expected/games/original/ANA202305090/pitching.csv +7 -0
  54. brlib-0.5.0/tests/expected/games/original/ANA202305090/teams.json +1 -0
  55. brlib-0.5.0/tests/expected/games/original/ANA202305090/ump_info.csv +5 -0
  56. brlib-0.5.0/tests/expected/games/original/BOS201708250/batting.csv +27 -0
  57. brlib-0.5.0/tests/expected/games/original/BOS201708250/fielding.csv +32 -0
  58. brlib-0.5.0/tests/expected/games/original/BOS201708250/info.csv +2 -0
  59. brlib-0.5.0/tests/expected/games/original/BOS201708250/pitching.csv +11 -0
  60. brlib-0.5.0/tests/expected/games/original/BOS201708250/teams.json +1 -0
  61. brlib-0.5.0/tests/expected/games/original/BOS201708250/ump_info.csv +5 -0
  62. brlib-0.5.0/tests/expected/games/original/CHN196207291/batting.csv +28 -0
  63. brlib-0.5.0/tests/expected/games/original/CHN196207291/fielding.csv +26 -0
  64. brlib-0.5.0/tests/expected/games/original/CHN196207291/info.csv +2 -0
  65. brlib-0.5.0/tests/expected/games/original/CHN196207291/linescore.csv +3 -0
  66. brlib-0.5.0/tests/expected/games/original/CHN196207291/pitching.csv +9 -0
  67. brlib-0.5.0/tests/expected/games/original/CHN196207291/players.json +1 -0
  68. brlib-0.5.0/tests/expected/games/original/CHN196207291/team_info.csv +3 -0
  69. brlib-0.5.0/tests/expected/games/original/CHN196207291/teams.json +1 -0
  70. brlib-0.5.0/tests/expected/games/original/CHN196207291/ump_info.csv +5 -0
  71. brlib-0.5.0/tests/expected/games/original/FLO199407290/batting.csv +36 -0
  72. brlib-0.5.0/tests/expected/games/original/FLO199407290/fielding.csv +32 -0
  73. brlib-0.5.0/tests/expected/games/original/FLO199407290/info.csv +2 -0
  74. brlib-0.5.0/tests/expected/games/original/FLO199407290/pitching.csv +12 -0
  75. brlib-0.5.0/tests/expected/games/original/FLO199407290/teams.json +1 -0
  76. brlib-0.5.0/tests/expected/games/original/FLO199407290/ump_info.csv +5 -0
  77. brlib-0.5.0/tests/expected/games/original/MLA190105301/batting.csv +21 -0
  78. brlib-0.5.0/tests/expected/games/original/MLA190105301/fielding.csv +21 -0
  79. brlib-0.5.0/tests/expected/games/original/MLA190105301/info.csv +2 -0
  80. brlib-0.5.0/tests/expected/games/original/MLA190105301/pitching.csv +5 -0
  81. brlib-0.5.0/tests/expected/games/original/MLA190105301/teams.json +1 -0
  82. brlib-0.5.0/tests/expected/games/original/MLA190105301/ump_info.csv +2 -0
  83. brlib-0.5.0/tests/expected/games/original/NYN200908230/batting.csv +31 -0
  84. brlib-0.5.0/tests/expected/games/original/NYN200908230/fielding.csv +28 -0
  85. brlib-0.5.0/tests/expected/games/original/NYN200908230/info.csv +2 -0
  86. brlib-0.5.0/tests/expected/games/original/NYN200908230/pitching.csv +12 -0
  87. brlib-0.5.0/tests/expected/games/original/NYN200908230/teams.json +1 -0
  88. brlib-0.5.0/tests/expected/games/original/NYN200908230/ump_info.csv +5 -0
  89. brlib-0.5.0/tests/expected/games/original/PHI202211020/batting.csv +22 -0
  90. brlib-0.5.0/tests/expected/games/original/PHI202211020/fielding.csv +30 -0
  91. brlib-0.5.0/tests/expected/games/original/PHI202211020/info.csv +2 -0
  92. brlib-0.5.0/tests/expected/games/original/PHI202211020/pitching.csv +13 -0
  93. brlib-0.5.0/tests/expected/games/original/PHI202211020/teams.json +1 -0
  94. brlib-0.5.0/tests/expected/games/original/PHI202211020/ump_info.csv +7 -0
  95. brlib-0.5.0/tests/expected/games/original/PIT192010023/batting.csv +22 -0
  96. brlib-0.5.0/tests/expected/games/original/PIT192010023/fielding.csv +22 -0
  97. brlib-0.5.0/tests/expected/games/original/PIT192010023/info.csv +2 -0
  98. brlib-0.5.0/tests/expected/games/original/PIT192010023/pitching.csv +5 -0
  99. brlib-0.5.0/tests/expected/games/original/PIT192010023/teams.json +1 -0
  100. brlib-0.5.0/tests/expected/games/original/PIT192010023/ump_info.csv +3 -0
  101. brlib-0.5.0/tests/expected/games/original/SEA197805231/batting.csv +24 -0
  102. brlib-0.5.0/tests/expected/games/original/SEA197805231/fielding.csv +24 -0
  103. brlib-0.5.0/tests/expected/games/original/SEA197805231/info.csv +2 -0
  104. brlib-0.5.0/tests/expected/games/original/SEA197805231/pitching.csv +6 -0
  105. brlib-0.5.0/tests/expected/games/original/SEA197805231/teams.json +1 -0
  106. brlib-0.5.0/tests/expected/games/original/SEA197805231/ump_info.csv +5 -0
  107. brlib-0.5.0/tests/expected/games/original/SEA201106250/batting.csv +27 -0
  108. brlib-0.5.0/tests/expected/games/original/SEA201106250/fielding.csv +25 -0
  109. brlib-0.5.0/tests/expected/games/original/SEA201106250/info.csv +2 -0
  110. brlib-0.5.0/tests/expected/games/original/SEA201106250/linescore.csv +3 -0
  111. brlib-0.5.0/tests/expected/games/original/SEA201106250/pitching.csv +9 -0
  112. brlib-0.5.0/tests/expected/games/original/SEA201106250/players.json +1 -0
  113. brlib-0.5.0/tests/expected/games/original/SEA201106250/team_info.csv +3 -0
  114. brlib-0.5.0/tests/expected/games/original/SEA201106250/teams.json +1 -0
  115. brlib-0.5.0/tests/expected/games/original/SEA201106250/ump_info.csv +5 -0
  116. brlib-0.5.0/tests/expected/games/original/SEA201208150/batting.csv +23 -0
  117. brlib-0.5.0/tests/expected/games/original/SEA201208150/fielding.csv +22 -0
  118. brlib-0.5.0/tests/expected/games/original/SEA201208150/info.csv +2 -0
  119. brlib-0.5.0/tests/expected/games/original/SEA201208150/pitching.csv +6 -0
  120. brlib-0.5.0/tests/expected/games/original/SEA201208150/teams.json +1 -0
  121. brlib-0.5.0/tests/expected/games/original/SEA201208150/ump_info.csv +5 -0
  122. brlib-0.5.0/tests/expected/games/original/SEA201804190/batting.csv +24 -0
  123. brlib-0.5.0/tests/expected/games/original/SEA201804190/fielding.csv +30 -0
  124. brlib-0.5.0/tests/expected/games/original/SEA201804190/info.csv +2 -0
  125. brlib-0.5.0/tests/expected/games/original/SEA201804190/pitching.csv +11 -0
  126. brlib-0.5.0/tests/expected/games/original/SEA201804190/teams.json +1 -0
  127. brlib-0.5.0/tests/expected/games/original/SEA201804190/ump_info.csv +5 -0
  128. brlib-0.5.0/tests/expected/games/original/SEA201905270/batting.csv +21 -0
  129. brlib-0.5.0/tests/expected/games/original/SEA201905270/fielding.csv +27 -0
  130. brlib-0.5.0/tests/expected/games/original/SEA201905270/info.csv +2 -0
  131. brlib-0.5.0/tests/expected/games/original/SEA201905270/pitching.csv +11 -0
  132. brlib-0.5.0/tests/expected/games/original/SEA201905270/teams.json +1 -0
  133. brlib-0.5.0/tests/expected/games/original/SEA201905270/ump_info.csv +5 -0
  134. brlib-0.5.0/tests/expected/games/original/SEA202210150/batting.csv +26 -0
  135. brlib-0.5.0/tests/expected/games/original/SEA202210150/fielding.csv +40 -0
  136. brlib-0.5.0/tests/expected/games/original/SEA202210150/info.csv +2 -0
  137. brlib-0.5.0/tests/expected/games/original/SEA202210150/pitching.csv +21 -0
  138. brlib-0.5.0/tests/expected/games/original/SEA202210150/teams.json +1 -0
  139. brlib-0.5.0/tests/expected/games/original/SEA202210150/ump_info.csv +7 -0
  140. brlib-0.5.0/tests/expected/games/original/SLN190710051/batting.csv +22 -0
  141. brlib-0.5.0/tests/expected/games/original/SLN190710051/fielding.csv +22 -0
  142. brlib-0.5.0/tests/expected/games/original/SLN190710051/info.csv +2 -0
  143. brlib-0.5.0/tests/expected/games/original/SLN190710051/pitching.csv +5 -0
  144. brlib-0.5.0/tests/expected/games/original/SLN190710051/teams.json +1 -0
  145. brlib-0.5.0/tests/expected/games/original/SLN190710051/ump_info.csv +2 -0
  146. brlib-0.5.0/tests/expected/games/records.csv +20 -0
  147. brlib-0.5.0/tests/expected/games/updated/1961-allstar-game-1/batting.csv +46 -0
  148. brlib-0.5.0/tests/expected/games/updated/1961-allstar-game-1/fielding.csv +41 -0
  149. brlib-0.5.0/tests/expected/games/updated/1961-allstar-game-1/info.csv +2 -0
  150. brlib-0.5.0/tests/expected/games/updated/1961-allstar-game-1/pitching.csv +15 -0
  151. brlib-0.5.0/tests/expected/games/updated/2025-allstar-game/batting.csv +42 -0
  152. brlib-0.5.0/tests/expected/games/updated/2025-allstar-game/fielding.csv +60 -0
  153. brlib-0.5.0/tests/expected/games/updated/2025-allstar-game/info.csv +2 -0
  154. brlib-0.5.0/tests/expected/games/updated/2025-allstar-game/pitching.csv +27 -0
  155. brlib-0.5.0/tests/expected/games/updated/ANA202305090/batting.csv +24 -0
  156. brlib-0.5.0/tests/expected/games/updated/ANA202305090/fielding.csv +25 -0
  157. brlib-0.5.0/tests/expected/games/updated/ANA202305090/info.csv +2 -0
  158. brlib-0.5.0/tests/expected/games/updated/ANA202305090/pitching.csv +7 -0
  159. brlib-0.5.0/tests/expected/games/updated/BOS201708250/batting.csv +27 -0
  160. brlib-0.5.0/tests/expected/games/updated/BOS201708250/fielding.csv +32 -0
  161. brlib-0.5.0/tests/expected/games/updated/BOS201708250/info.csv +2 -0
  162. brlib-0.5.0/tests/expected/games/updated/BOS201708250/pitching.csv +11 -0
  163. brlib-0.5.0/tests/expected/games/updated/CHN196207291/batting.csv +28 -0
  164. brlib-0.5.0/tests/expected/games/updated/CHN196207291/fielding.csv +26 -0
  165. brlib-0.5.0/tests/expected/games/updated/CHN196207291/info.csv +2 -0
  166. brlib-0.5.0/tests/expected/games/updated/CHN196207291/linescore.csv +3 -0
  167. brlib-0.5.0/tests/expected/games/updated/CHN196207291/pitching.csv +9 -0
  168. brlib-0.5.0/tests/expected/games/updated/CHN196207291/team_info.csv +3 -0
  169. brlib-0.5.0/tests/expected/games/updated/FLO199407290/batting.csv +36 -0
  170. brlib-0.5.0/tests/expected/games/updated/FLO199407290/fielding.csv +32 -0
  171. brlib-0.5.0/tests/expected/games/updated/FLO199407290/info.csv +2 -0
  172. brlib-0.5.0/tests/expected/games/updated/FLO199407290/pitching.csv +12 -0
  173. brlib-0.5.0/tests/expected/games/updated/MLA190105301/batting.csv +21 -0
  174. brlib-0.5.0/tests/expected/games/updated/MLA190105301/fielding.csv +21 -0
  175. brlib-0.5.0/tests/expected/games/updated/MLA190105301/info.csv +2 -0
  176. brlib-0.5.0/tests/expected/games/updated/MLA190105301/pitching.csv +5 -0
  177. brlib-0.5.0/tests/expected/games/updated/NYN200908230/batting.csv +31 -0
  178. brlib-0.5.0/tests/expected/games/updated/NYN200908230/fielding.csv +28 -0
  179. brlib-0.5.0/tests/expected/games/updated/NYN200908230/info.csv +2 -0
  180. brlib-0.5.0/tests/expected/games/updated/NYN200908230/pitching.csv +12 -0
  181. brlib-0.5.0/tests/expected/games/updated/PHI202211020/batting.csv +22 -0
  182. brlib-0.5.0/tests/expected/games/updated/PHI202211020/fielding.csv +30 -0
  183. brlib-0.5.0/tests/expected/games/updated/PHI202211020/info.csv +2 -0
  184. brlib-0.5.0/tests/expected/games/updated/PHI202211020/pitching.csv +13 -0
  185. brlib-0.5.0/tests/expected/games/updated/PIT192010023/batting.csv +22 -0
  186. brlib-0.5.0/tests/expected/games/updated/PIT192010023/fielding.csv +22 -0
  187. brlib-0.5.0/tests/expected/games/updated/PIT192010023/info.csv +2 -0
  188. brlib-0.5.0/tests/expected/games/updated/PIT192010023/pitching.csv +5 -0
  189. brlib-0.5.0/tests/expected/games/updated/SEA197805231/batting.csv +24 -0
  190. brlib-0.5.0/tests/expected/games/updated/SEA197805231/fielding.csv +24 -0
  191. brlib-0.5.0/tests/expected/games/updated/SEA197805231/info.csv +2 -0
  192. brlib-0.5.0/tests/expected/games/updated/SEA197805231/pitching.csv +6 -0
  193. brlib-0.5.0/tests/expected/games/updated/SEA201106250/batting.csv +27 -0
  194. brlib-0.5.0/tests/expected/games/updated/SEA201106250/fielding.csv +25 -0
  195. brlib-0.5.0/tests/expected/games/updated/SEA201106250/info.csv +2 -0
  196. brlib-0.5.0/tests/expected/games/updated/SEA201106250/linescore.csv +3 -0
  197. brlib-0.5.0/tests/expected/games/updated/SEA201106250/pitching.csv +9 -0
  198. brlib-0.5.0/tests/expected/games/updated/SEA201106250/team_info.csv +3 -0
  199. brlib-0.5.0/tests/expected/games/updated/SEA201208150/batting.csv +23 -0
  200. brlib-0.5.0/tests/expected/games/updated/SEA201208150/fielding.csv +22 -0
  201. brlib-0.5.0/tests/expected/games/updated/SEA201208150/info.csv +2 -0
  202. brlib-0.5.0/tests/expected/games/updated/SEA201208150/pitching.csv +6 -0
  203. brlib-0.5.0/tests/expected/games/updated/SEA201804190/batting.csv +24 -0
  204. brlib-0.5.0/tests/expected/games/updated/SEA201804190/fielding.csv +30 -0
  205. brlib-0.5.0/tests/expected/games/updated/SEA201804190/info.csv +2 -0
  206. brlib-0.5.0/tests/expected/games/updated/SEA201804190/pitching.csv +11 -0
  207. brlib-0.5.0/tests/expected/games/updated/SEA201905270/batting.csv +21 -0
  208. brlib-0.5.0/tests/expected/games/updated/SEA201905270/fielding.csv +27 -0
  209. brlib-0.5.0/tests/expected/games/updated/SEA201905270/info.csv +2 -0
  210. brlib-0.5.0/tests/expected/games/updated/SEA201905270/pitching.csv +11 -0
  211. brlib-0.5.0/tests/expected/games/updated/SEA202210150/batting.csv +26 -0
  212. brlib-0.5.0/tests/expected/games/updated/SEA202210150/fielding.csv +40 -0
  213. brlib-0.5.0/tests/expected/games/updated/SEA202210150/info.csv +2 -0
  214. brlib-0.5.0/tests/expected/games/updated/SEA202210150/pitching.csv +21 -0
  215. brlib-0.5.0/tests/expected/games/updated/SLN190710051/batting.csv +22 -0
  216. brlib-0.5.0/tests/expected/games/updated/SLN190710051/fielding.csv +22 -0
  217. brlib-0.5.0/tests/expected/games/updated/SLN190710051/info.csv +2 -0
  218. brlib-0.5.0/tests/expected/games/updated/SLN190710051/pitching.csv +5 -0
  219. brlib-0.5.0/tests/expected/players/original/aloumo01/batting.csv +40 -0
  220. brlib-0.5.0/tests/expected/players/original/aloumo01/fielding.csv +80 -0
  221. brlib-0.5.0/tests/expected/players/original/aloumo01/info.csv +2 -0
  222. brlib-0.5.0/tests/expected/players/original/aloumo01/pitching.csv +1 -0
  223. brlib-0.5.0/tests/expected/players/original/aloumo01/salaries.csv +21 -0
  224. brlib-0.5.0/tests/expected/players/original/aloumo01/teams.json +1 -0
  225. brlib-0.5.0/tests/expected/players/original/bendech01/batting.csv +33 -0
  226. brlib-0.5.0/tests/expected/players/original/bendech01/fielding.csv +43 -0
  227. brlib-0.5.0/tests/expected/players/original/bendech01/info.csv +2 -0
  228. brlib-0.5.0/tests/expected/players/original/bendech01/pitching.csv +33 -0
  229. brlib-0.5.0/tests/expected/players/original/bendech01/salaries.csv +17 -0
  230. brlib-0.5.0/tests/expected/players/original/bendech01/teams.json +1 -0
  231. brlib-0.5.0/tests/expected/players/original/colli05/batting.csv +4 -0
  232. brlib-0.5.0/tests/expected/players/original/colli05/fielding.csv +3 -0
  233. brlib-0.5.0/tests/expected/players/original/colli05/info.csv +2 -0
  234. brlib-0.5.0/tests/expected/players/original/colli05/pitching.csv +1 -0
  235. brlib-0.5.0/tests/expected/players/original/colli05/salaries.csv +1 -0
  236. brlib-0.5.0/tests/expected/players/original/colli05/teams.json +1 -0
  237. brlib-0.5.0/tests/expected/players/original/cormirh01/batting.csv +31 -0
  238. brlib-0.5.0/tests/expected/players/original/cormirh01/fielding.csv +23 -0
  239. brlib-0.5.0/tests/expected/players/original/cormirh01/info.csv +2 -0
  240. brlib-0.5.0/tests/expected/players/original/cormirh01/pitching.csv +32 -0
  241. brlib-0.5.0/tests/expected/players/original/cormirh01/salaries.csv +18 -0
  242. brlib-0.5.0/tests/expected/players/original/cormirh01/teams.json +1 -0
  243. brlib-0.5.0/tests/expected/players/original/gibsojo99/batting.csv +34 -0
  244. brlib-0.5.0/tests/expected/players/original/gibsojo99/fielding.csv +66 -0
  245. brlib-0.5.0/tests/expected/players/original/gibsojo99/info.csv +2 -0
  246. brlib-0.5.0/tests/expected/players/original/gibsojo99/pitching.csv +4 -0
  247. brlib-0.5.0/tests/expected/players/original/gibsojo99/salaries.csv +1 -0
  248. brlib-0.5.0/tests/expected/players/original/gibsojo99/teams.json +1 -0
  249. brlib-0.5.0/tests/expected/players/original/hallaro01/batting.csv +25 -0
  250. brlib-0.5.0/tests/expected/players/original/hallaro01/fielding.csv +21 -0
  251. brlib-0.5.0/tests/expected/players/original/hallaro01/info.csv +2 -0
  252. brlib-0.5.0/tests/expected/players/original/hallaro01/pitching.csv +27 -0
  253. brlib-0.5.0/tests/expected/players/original/hallaro01/salaries.csv +18 -0
  254. brlib-0.5.0/tests/expected/players/original/hallaro01/teams.json +1 -0
  255. brlib-0.5.0/tests/expected/players/original/jacksre01/batting.csv +46 -0
  256. brlib-0.5.0/tests/expected/players/original/jacksre01/fielding.csv +94 -0
  257. brlib-0.5.0/tests/expected/players/original/jacksre01/info.csv +2 -0
  258. brlib-0.5.0/tests/expected/players/original/jacksre01/pitching.csv +1 -0
  259. brlib-0.5.0/tests/expected/players/original/jacksre01/salaries.csv +24 -0
  260. brlib-0.5.0/tests/expected/players/original/jacksre01/teams.json +1 -0
  261. brlib-0.5.0/tests/expected/players/original/kigerma01/batting.csv +4 -0
  262. brlib-0.5.0/tests/expected/players/original/kigerma01/fielding.csv +1 -0
  263. brlib-0.5.0/tests/expected/players/original/kigerma01/info.csv +2 -0
  264. brlib-0.5.0/tests/expected/players/original/kigerma01/pitching.csv +1 -0
  265. brlib-0.5.0/tests/expected/players/original/kigerma01/salaries.csv +1 -0
  266. brlib-0.5.0/tests/expected/players/original/kigerma01/teams.json +1 -0
  267. brlib-0.5.0/tests/expected/players/original/pressry01/batting.csv +27 -0
  268. brlib-0.5.0/tests/expected/players/original/pressry01/fielding.csv +25 -0
  269. brlib-0.5.0/tests/expected/players/original/pressry01/info.csv +2 -0
  270. brlib-0.5.0/tests/expected/players/original/pressry01/pitching.csv +34 -0
  271. brlib-0.5.0/tests/expected/players/original/pressry01/salaries.csv +14 -0
  272. brlib-0.5.0/tests/expected/players/original/pressry01/teams.json +1 -0
  273. brlib-0.5.0/tests/expected/players/original/vogtst01/batting.csv +29 -0
  274. brlib-0.5.0/tests/expected/players/original/vogtst01/fielding.csv +52 -0
  275. brlib-0.5.0/tests/expected/players/original/vogtst01/info.csv +2 -0
  276. brlib-0.5.0/tests/expected/players/original/vogtst01/pitching.csv +1 -0
  277. brlib-0.5.0/tests/expected/players/original/vogtst01/salaries.csv +12 -0
  278. brlib-0.5.0/tests/expected/players/original/vogtst01/teams.json +1 -0
  279. brlib-0.5.0/tests/expected/players/updated/aloumo01/info.csv +2 -0
  280. brlib-0.5.0/tests/expected/players/updated/aloumo01/pitching.csv +1 -0
  281. brlib-0.5.0/tests/expected/players/updated/aloumo01/salaries.csv +21 -0
  282. brlib-0.5.0/tests/expected/players/updated/bendech01/info.csv +2 -0
  283. brlib-0.5.0/tests/expected/players/updated/bendech01/pitching.csv +33 -0
  284. brlib-0.5.0/tests/expected/players/updated/bendech01/salaries.csv +17 -0
  285. brlib-0.5.0/tests/expected/players/updated/colli05/info.csv +2 -0
  286. brlib-0.5.0/tests/expected/players/updated/colli05/pitching.csv +1 -0
  287. brlib-0.5.0/tests/expected/players/updated/colli05/salaries.csv +1 -0
  288. brlib-0.5.0/tests/expected/players/updated/cormirh01/info.csv +2 -0
  289. brlib-0.5.0/tests/expected/players/updated/cormirh01/pitching.csv +32 -0
  290. brlib-0.5.0/tests/expected/players/updated/cormirh01/salaries.csv +18 -0
  291. brlib-0.5.0/tests/expected/players/updated/gibsojo99/info.csv +2 -0
  292. brlib-0.5.0/tests/expected/players/updated/gibsojo99/pitching.csv +4 -0
  293. brlib-0.5.0/tests/expected/players/updated/gibsojo99/salaries.csv +1 -0
  294. brlib-0.5.0/tests/expected/players/updated/hallaro01/info.csv +2 -0
  295. brlib-0.5.0/tests/expected/players/updated/hallaro01/pitching.csv +27 -0
  296. brlib-0.5.0/tests/expected/players/updated/hallaro01/salaries.csv +18 -0
  297. brlib-0.5.0/tests/expected/players/updated/jacksre01/info.csv +2 -0
  298. brlib-0.5.0/tests/expected/players/updated/jacksre01/pitching.csv +1 -0
  299. brlib-0.5.0/tests/expected/players/updated/jacksre01/salaries.csv +24 -0
  300. brlib-0.5.0/tests/expected/players/updated/kigerma01/info.csv +2 -0
  301. brlib-0.5.0/tests/expected/players/updated/kigerma01/pitching.csv +1 -0
  302. brlib-0.5.0/tests/expected/players/updated/kigerma01/salaries.csv +1 -0
  303. brlib-0.5.0/tests/expected/players/updated/pressry01/info.csv +2 -0
  304. brlib-0.5.0/tests/expected/players/updated/pressry01/pitching.csv +34 -0
  305. brlib-0.5.0/tests/expected/players/updated/pressry01/salaries.csv +14 -0
  306. brlib-0.5.0/tests/expected/players/updated/vogtst01/info.csv +2 -0
  307. brlib-0.5.0/tests/expected/players/updated/vogtst01/pitching.csv +1 -0
  308. brlib-0.5.0/tests/expected/players/updated/vogtst01/salaries.csv +12 -0
  309. brlib-0.5.0/tests/expected/teams/original/BBB1924/batting.csv +25 -0
  310. brlib-0.5.0/tests/expected/teams/original/BBB1924/fielding.csv +21 -0
  311. brlib-0.5.0/tests/expected/teams/original/BBB1924/info.csv +2 -0
  312. brlib-0.5.0/tests/expected/teams/original/BBB1924/pitching.csv +10 -0
  313. brlib-0.5.0/tests/expected/teams/original/BBB1924/players.json +1 -0
  314. brlib-0.5.0/tests/expected/teams/original/BEG1939/batting.csv +46 -0
  315. brlib-0.5.0/tests/expected/teams/original/BEG1939/fielding.csv +38 -0
  316. brlib-0.5.0/tests/expected/teams/original/BEG1939/info.csv +2 -0
  317. brlib-0.5.0/tests/expected/teams/original/BEG1939/pitching.csv +18 -0
  318. brlib-0.5.0/tests/expected/teams/original/BEG1939/players.json +1 -0
  319. brlib-0.5.0/tests/expected/teams/original/CHC2020/batting.csv +49 -0
  320. brlib-0.5.0/tests/expected/teams/original/CHC2020/fielding.csv +69 -0
  321. brlib-0.5.0/tests/expected/teams/original/CHC2020/info.csv +2 -0
  322. brlib-0.5.0/tests/expected/teams/original/CHC2020/pitching.csv +36 -0
  323. brlib-0.5.0/tests/expected/teams/original/COT1932/info.csv +2 -0
  324. brlib-0.5.0/tests/expected/teams/original/HOU2022/batting.csv +52 -0
  325. brlib-0.5.0/tests/expected/teams/original/HOU2022/fielding.csv +75 -0
  326. brlib-0.5.0/tests/expected/teams/original/HOU2022/info.csv +2 -0
  327. brlib-0.5.0/tests/expected/teams/original/HOU2022/pitching.csv +37 -0
  328. brlib-0.5.0/tests/expected/teams/original/LAA2012/batting.csv +39 -0
  329. brlib-0.5.0/tests/expected/teams/original/LAA2012/fielding.csv +45 -0
  330. brlib-0.5.0/tests/expected/teams/original/LAA2012/info.csv +2 -0
  331. brlib-0.5.0/tests/expected/teams/original/LAA2012/pitching.csv +25 -0
  332. brlib-0.5.0/tests/expected/teams/original/MIN2019/batting.csv +67 -0
  333. brlib-0.5.0/tests/expected/teams/original/MIN2019/fielding.csv +76 -0
  334. brlib-0.5.0/tests/expected/teams/original/MIN2019/info.csv +2 -0
  335. brlib-0.5.0/tests/expected/teams/original/MIN2019/pitching.csv +46 -0
  336. brlib-0.5.0/tests/expected/teams/original/MIN2019/players.json +1 -0
  337. brlib-0.5.0/tests/expected/teams/original/PHI1894/batting.csv +34 -0
  338. brlib-0.5.0/tests/expected/teams/original/PHI1894/fielding.csv +32 -0
  339. brlib-0.5.0/tests/expected/teams/original/PHI1894/info.csv +2 -0
  340. brlib-0.5.0/tests/expected/teams/original/PHI1894/pitching.csv +16 -0
  341. brlib-0.5.0/tests/expected/teams/original/PHI1894/players.json +1 -0
  342. brlib-0.5.0/tests/expected/teams/original/SEA2012/batting.csv +38 -0
  343. brlib-0.5.0/tests/expected/teams/original/SEA2012/fielding.csv +39 -0
  344. brlib-0.5.0/tests/expected/teams/original/SEA2012/info.csv +2 -0
  345. brlib-0.5.0/tests/expected/teams/original/SEA2012/pitching.csv +20 -0
  346. brlib-0.5.0/tests/expected/teams/original/WSH1904/batting.csv +31 -0
  347. brlib-0.5.0/tests/expected/teams/original/WSH1904/fielding.csv +29 -0
  348. brlib-0.5.0/tests/expected/teams/original/WSH1904/info.csv +2 -0
  349. brlib-0.5.0/tests/expected/teams/original/WSH1904/pitching.csv +11 -0
  350. brlib-0.5.0/tests/expected/teams/records.csv +10 -0
  351. brlib-0.5.0/tests/expected/teams/updated/BBB1924/batting.csv +25 -0
  352. brlib-0.5.0/tests/expected/teams/updated/BBB1924/fielding.csv +21 -0
  353. brlib-0.5.0/tests/expected/teams/updated/BBB1924/info.csv +2 -0
  354. brlib-0.5.0/tests/expected/teams/updated/BBB1924/pitching.csv +10 -0
  355. brlib-0.5.0/tests/expected/teams/updated/BEG1939/batting.csv +46 -0
  356. brlib-0.5.0/tests/expected/teams/updated/BEG1939/fielding.csv +38 -0
  357. brlib-0.5.0/tests/expected/teams/updated/BEG1939/info.csv +2 -0
  358. brlib-0.5.0/tests/expected/teams/updated/BEG1939/pitching.csv +18 -0
  359. brlib-0.5.0/tests/expected/teams/updated/CHC2020/batting.csv +49 -0
  360. brlib-0.5.0/tests/expected/teams/updated/CHC2020/fielding.csv +69 -0
  361. brlib-0.5.0/tests/expected/teams/updated/CHC2020/info.csv +2 -0
  362. brlib-0.5.0/tests/expected/teams/updated/CHC2020/pitching.csv +36 -0
  363. brlib-0.5.0/tests/expected/teams/updated/COT1932/info.csv +2 -0
  364. brlib-0.5.0/tests/expected/teams/updated/HOU2022/batting.csv +52 -0
  365. brlib-0.5.0/tests/expected/teams/updated/HOU2022/fielding.csv +75 -0
  366. brlib-0.5.0/tests/expected/teams/updated/HOU2022/info.csv +2 -0
  367. brlib-0.5.0/tests/expected/teams/updated/HOU2022/pitching.csv +37 -0
  368. brlib-0.5.0/tests/expected/teams/updated/LAA2012/batting.csv +39 -0
  369. brlib-0.5.0/tests/expected/teams/updated/LAA2012/fielding.csv +45 -0
  370. brlib-0.5.0/tests/expected/teams/updated/LAA2012/info.csv +2 -0
  371. brlib-0.5.0/tests/expected/teams/updated/LAA2012/pitching.csv +25 -0
  372. brlib-0.5.0/tests/expected/teams/updated/MIN2019/batting.csv +67 -0
  373. brlib-0.5.0/tests/expected/teams/updated/MIN2019/fielding.csv +76 -0
  374. brlib-0.5.0/tests/expected/teams/updated/MIN2019/info.csv +2 -0
  375. brlib-0.5.0/tests/expected/teams/updated/MIN2019/pitching.csv +46 -0
  376. brlib-0.5.0/tests/expected/teams/updated/PHI1894/batting.csv +34 -0
  377. brlib-0.5.0/tests/expected/teams/updated/PHI1894/fielding.csv +32 -0
  378. brlib-0.5.0/tests/expected/teams/updated/PHI1894/info.csv +2 -0
  379. brlib-0.5.0/tests/expected/teams/updated/PHI1894/pitching.csv +16 -0
  380. brlib-0.5.0/tests/expected/teams/updated/SEA2012/batting.csv +38 -0
  381. brlib-0.5.0/tests/expected/teams/updated/SEA2012/fielding.csv +39 -0
  382. brlib-0.5.0/tests/expected/teams/updated/SEA2012/info.csv +2 -0
  383. brlib-0.5.0/tests/expected/teams/updated/SEA2012/pitching.csv +20 -0
  384. brlib-0.5.0/tests/expected/teams/updated/WSH1904/batting.csv +31 -0
  385. brlib-0.5.0/tests/expected/teams/updated/WSH1904/fielding.csv +29 -0
  386. brlib-0.5.0/tests/expected/teams/updated/WSH1904/info.csv +2 -0
  387. brlib-0.5.0/tests/expected/teams/updated/WSH1904/pitching.csv +11 -0
  388. brlib-0.5.0/tests/get_expected.py +43 -0
  389. brlib-0.5.0/tests/test_all_players.py +36 -0
  390. brlib-0.5.0/tests/test_find_asg.py +55 -0
  391. brlib-0.5.0/tests/test_find_games.py +122 -0
  392. brlib-0.5.0/tests/test_find_teams.py +116 -0
  393. brlib-0.5.0/tests/test_game.py +147 -0
  394. brlib-0.5.0/tests/test_game_set.py +104 -0
  395. brlib-0.5.0/tests/test_options.py +134 -0
  396. brlib-0.5.0/tests/test_player.py +108 -0
  397. brlib-0.5.0/tests/test_player_set.py +82 -0
  398. brlib-0.5.0/tests/test_team.py +90 -0
  399. brlib-0.5.0/tests/test_team_set.py +78 -0
  400. brlib-0.5.0/uv.lock +1015 -0
  401. brlib-0.3.0/.github/workflows/full-test.yml +0 -47
  402. brlib-0.3.0/.github/workflows/test.yml +0 -49
  403. brlib-0.3.0/PKG-INFO +0 -92
  404. brlib-0.3.0/README.md +0 -51
  405. brlib-0.3.0/pyproject.toml +0 -69
  406. brlib-0.3.0/scripts/wiki.py +0 -57
  407. brlib-0.3.0/src/brlib/__init__.py +0 -40
  408. brlib-0.3.0/src/brlib/_helpers/abbreviations_manager.py +0 -231
  409. brlib-0.3.0/src/brlib/_helpers/constants.py +0 -1141
  410. brlib-0.3.0/src/brlib/_helpers/inputs.py +0 -166
  411. brlib-0.3.0/src/brlib/_helpers/no_hitter_dicts.py +0 -294
  412. brlib-0.3.0/src/brlib/_helpers/requests_manager.py +0 -72
  413. brlib-0.3.0/src/brlib/_helpers/utils.py +0 -178
  414. brlib-0.3.0/src/brlib/all_players.py +0 -71
  415. brlib-0.3.0/src/brlib/find_asg.py +0 -94
  416. brlib-0.3.0/src/brlib/find_games.py +0 -351
  417. brlib-0.3.0/src/brlib/find_teams.py +0 -188
  418. brlib-0.3.0/src/brlib/game.py +0 -1123
  419. brlib-0.3.0/src/brlib/game_set.py +0 -381
  420. brlib-0.3.0/src/brlib/get_games.py +0 -126
  421. brlib-0.3.0/src/brlib/get_players.py +0 -112
  422. brlib-0.3.0/src/brlib/get_teams.py +0 -121
  423. brlib-0.3.0/src/brlib/options.py +0 -507
  424. brlib-0.3.0/src/brlib/player.py +0 -981
  425. brlib-0.3.0/src/brlib/player_set.py +0 -241
  426. brlib-0.3.0/src/brlib/team.py +0 -662
  427. brlib-0.3.0/src/brlib/team_set.py +0 -336
  428. brlib-0.3.0/tests/_helpers/test_abbreviations_manager.py +0 -62
  429. brlib-0.3.0/tests/_helpers/test_inputs.py +0 -132
  430. brlib-0.3.0/tests/_helpers/test_no_hitter_dicts.py +0 -110
  431. brlib-0.3.0/tests/_helpers/test_utils.py +0 -60
  432. brlib-0.3.0/tests/conftest.py +0 -203
  433. brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/batting.csv +0 -46
  434. brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/fielding.csv +0 -41
  435. brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/info.csv +0 -2
  436. brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/pitching.csv +0 -15
  437. brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/players.json +0 -1
  438. brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/ump_info.csv +0 -7
  439. brlib-0.3.0/tests/expected/games/original/2025-allstar-game/batting.csv +0 -42
  440. brlib-0.3.0/tests/expected/games/original/2025-allstar-game/fielding.csv +0 -60
  441. brlib-0.3.0/tests/expected/games/original/2025-allstar-game/info.csv +0 -2
  442. brlib-0.3.0/tests/expected/games/original/2025-allstar-game/pitching.csv +0 -27
  443. brlib-0.3.0/tests/expected/games/original/2025-allstar-game/ump_info.csv +0 -7
  444. brlib-0.3.0/tests/expected/games/original/ANA202305090/batting.csv +0 -24
  445. brlib-0.3.0/tests/expected/games/original/ANA202305090/fielding.csv +0 -25
  446. brlib-0.3.0/tests/expected/games/original/ANA202305090/info.csv +0 -2
  447. brlib-0.3.0/tests/expected/games/original/ANA202305090/pitching.csv +0 -7
  448. brlib-0.3.0/tests/expected/games/original/ANA202305090/teams.json +0 -1
  449. brlib-0.3.0/tests/expected/games/original/ANA202305090/ump_info.csv +0 -5
  450. brlib-0.3.0/tests/expected/games/original/BOS201708250/batting.csv +0 -27
  451. brlib-0.3.0/tests/expected/games/original/BOS201708250/fielding.csv +0 -32
  452. brlib-0.3.0/tests/expected/games/original/BOS201708250/info.csv +0 -2
  453. brlib-0.3.0/tests/expected/games/original/BOS201708250/pitching.csv +0 -11
  454. brlib-0.3.0/tests/expected/games/original/BOS201708250/teams.json +0 -1
  455. brlib-0.3.0/tests/expected/games/original/BOS201708250/ump_info.csv +0 -5
  456. brlib-0.3.0/tests/expected/games/original/FLO199407290/batting.csv +0 -36
  457. brlib-0.3.0/tests/expected/games/original/FLO199407290/fielding.csv +0 -32
  458. brlib-0.3.0/tests/expected/games/original/FLO199407290/info.csv +0 -2
  459. brlib-0.3.0/tests/expected/games/original/FLO199407290/pitching.csv +0 -12
  460. brlib-0.3.0/tests/expected/games/original/FLO199407290/teams.json +0 -1
  461. brlib-0.3.0/tests/expected/games/original/FLO199407290/ump_info.csv +0 -5
  462. brlib-0.3.0/tests/expected/games/original/MLA190105301/batting.csv +0 -21
  463. brlib-0.3.0/tests/expected/games/original/MLA190105301/fielding.csv +0 -21
  464. brlib-0.3.0/tests/expected/games/original/MLA190105301/info.csv +0 -2
  465. brlib-0.3.0/tests/expected/games/original/MLA190105301/pitching.csv +0 -5
  466. brlib-0.3.0/tests/expected/games/original/MLA190105301/teams.json +0 -1
  467. brlib-0.3.0/tests/expected/games/original/MLA190105301/ump_info.csv +0 -2
  468. brlib-0.3.0/tests/expected/games/original/NYN200908230/batting.csv +0 -31
  469. brlib-0.3.0/tests/expected/games/original/NYN200908230/fielding.csv +0 -28
  470. brlib-0.3.0/tests/expected/games/original/NYN200908230/info.csv +0 -2
  471. brlib-0.3.0/tests/expected/games/original/NYN200908230/pitching.csv +0 -12
  472. brlib-0.3.0/tests/expected/games/original/NYN200908230/teams.json +0 -1
  473. brlib-0.3.0/tests/expected/games/original/NYN200908230/ump_info.csv +0 -5
  474. brlib-0.3.0/tests/expected/games/original/PHI202211020/batting.csv +0 -22
  475. brlib-0.3.0/tests/expected/games/original/PHI202211020/fielding.csv +0 -30
  476. brlib-0.3.0/tests/expected/games/original/PHI202211020/info.csv +0 -2
  477. brlib-0.3.0/tests/expected/games/original/PHI202211020/pitching.csv +0 -13
  478. brlib-0.3.0/tests/expected/games/original/PHI202211020/teams.json +0 -1
  479. brlib-0.3.0/tests/expected/games/original/PHI202211020/ump_info.csv +0 -7
  480. brlib-0.3.0/tests/expected/games/original/PIT192010023/batting.csv +0 -22
  481. brlib-0.3.0/tests/expected/games/original/PIT192010023/fielding.csv +0 -22
  482. brlib-0.3.0/tests/expected/games/original/PIT192010023/info.csv +0 -2
  483. brlib-0.3.0/tests/expected/games/original/PIT192010023/pitching.csv +0 -5
  484. brlib-0.3.0/tests/expected/games/original/PIT192010023/teams.json +0 -1
  485. brlib-0.3.0/tests/expected/games/original/PIT192010023/ump_info.csv +0 -3
  486. brlib-0.3.0/tests/expected/games/original/SEA197805231/batting.csv +0 -24
  487. brlib-0.3.0/tests/expected/games/original/SEA197805231/fielding.csv +0 -24
  488. brlib-0.3.0/tests/expected/games/original/SEA197805231/info.csv +0 -2
  489. brlib-0.3.0/tests/expected/games/original/SEA197805231/pitching.csv +0 -6
  490. brlib-0.3.0/tests/expected/games/original/SEA197805231/teams.json +0 -1
  491. brlib-0.3.0/tests/expected/games/original/SEA197805231/ump_info.csv +0 -5
  492. brlib-0.3.0/tests/expected/games/original/SEA201208150/batting.csv +0 -23
  493. brlib-0.3.0/tests/expected/games/original/SEA201208150/fielding.csv +0 -22
  494. brlib-0.3.0/tests/expected/games/original/SEA201208150/info.csv +0 -2
  495. brlib-0.3.0/tests/expected/games/original/SEA201208150/pitching.csv +0 -6
  496. brlib-0.3.0/tests/expected/games/original/SEA201208150/teams.json +0 -1
  497. brlib-0.3.0/tests/expected/games/original/SEA201208150/ump_info.csv +0 -5
  498. brlib-0.3.0/tests/expected/games/original/SEA201804190/batting.csv +0 -24
  499. brlib-0.3.0/tests/expected/games/original/SEA201804190/fielding.csv +0 -30
  500. brlib-0.3.0/tests/expected/games/original/SEA201804190/info.csv +0 -2
  501. brlib-0.3.0/tests/expected/games/original/SEA201804190/pitching.csv +0 -11
  502. brlib-0.3.0/tests/expected/games/original/SEA201804190/teams.json +0 -1
  503. brlib-0.3.0/tests/expected/games/original/SEA201804190/ump_info.csv +0 -5
  504. brlib-0.3.0/tests/expected/games/original/SEA201905270/batting.csv +0 -21
  505. brlib-0.3.0/tests/expected/games/original/SEA201905270/fielding.csv +0 -27
  506. brlib-0.3.0/tests/expected/games/original/SEA201905270/info.csv +0 -2
  507. brlib-0.3.0/tests/expected/games/original/SEA201905270/pitching.csv +0 -11
  508. brlib-0.3.0/tests/expected/games/original/SEA201905270/teams.json +0 -1
  509. brlib-0.3.0/tests/expected/games/original/SEA201905270/ump_info.csv +0 -5
  510. brlib-0.3.0/tests/expected/games/original/SEA202210150/batting.csv +0 -26
  511. brlib-0.3.0/tests/expected/games/original/SEA202210150/fielding.csv +0 -40
  512. brlib-0.3.0/tests/expected/games/original/SEA202210150/info.csv +0 -2
  513. brlib-0.3.0/tests/expected/games/original/SEA202210150/pitching.csv +0 -21
  514. brlib-0.3.0/tests/expected/games/original/SEA202210150/teams.json +0 -1
  515. brlib-0.3.0/tests/expected/games/original/SEA202210150/ump_info.csv +0 -7
  516. brlib-0.3.0/tests/expected/games/original/SLN190710051/batting.csv +0 -22
  517. brlib-0.3.0/tests/expected/games/original/SLN190710051/fielding.csv +0 -22
  518. brlib-0.3.0/tests/expected/games/original/SLN190710051/info.csv +0 -2
  519. brlib-0.3.0/tests/expected/games/original/SLN190710051/pitching.csv +0 -5
  520. brlib-0.3.0/tests/expected/games/original/SLN190710051/teams.json +0 -1
  521. brlib-0.3.0/tests/expected/games/original/SLN190710051/ump_info.csv +0 -2
  522. brlib-0.3.0/tests/expected/games/records.csv +0 -20
  523. brlib-0.3.0/tests/expected/games/updated/1961-allstar-game-1/batting.csv +0 -46
  524. brlib-0.3.0/tests/expected/games/updated/1961-allstar-game-1/fielding.csv +0 -41
  525. brlib-0.3.0/tests/expected/games/updated/1961-allstar-game-1/info.csv +0 -2
  526. brlib-0.3.0/tests/expected/games/updated/1961-allstar-game-1/pitching.csv +0 -15
  527. brlib-0.3.0/tests/expected/games/updated/2025-allstar-game/batting.csv +0 -42
  528. brlib-0.3.0/tests/expected/games/updated/2025-allstar-game/fielding.csv +0 -60
  529. brlib-0.3.0/tests/expected/games/updated/2025-allstar-game/info.csv +0 -2
  530. brlib-0.3.0/tests/expected/games/updated/2025-allstar-game/pitching.csv +0 -27
  531. brlib-0.3.0/tests/expected/games/updated/ANA202305090/batting.csv +0 -24
  532. brlib-0.3.0/tests/expected/games/updated/ANA202305090/fielding.csv +0 -25
  533. brlib-0.3.0/tests/expected/games/updated/ANA202305090/info.csv +0 -2
  534. brlib-0.3.0/tests/expected/games/updated/ANA202305090/pitching.csv +0 -7
  535. brlib-0.3.0/tests/expected/games/updated/BOS201708250/batting.csv +0 -27
  536. brlib-0.3.0/tests/expected/games/updated/BOS201708250/fielding.csv +0 -32
  537. brlib-0.3.0/tests/expected/games/updated/BOS201708250/info.csv +0 -2
  538. brlib-0.3.0/tests/expected/games/updated/BOS201708250/pitching.csv +0 -11
  539. brlib-0.3.0/tests/expected/games/updated/FLO199407290/batting.csv +0 -36
  540. brlib-0.3.0/tests/expected/games/updated/FLO199407290/fielding.csv +0 -32
  541. brlib-0.3.0/tests/expected/games/updated/FLO199407290/info.csv +0 -2
  542. brlib-0.3.0/tests/expected/games/updated/FLO199407290/pitching.csv +0 -12
  543. brlib-0.3.0/tests/expected/games/updated/MLA190105301/batting.csv +0 -21
  544. brlib-0.3.0/tests/expected/games/updated/MLA190105301/fielding.csv +0 -21
  545. brlib-0.3.0/tests/expected/games/updated/MLA190105301/info.csv +0 -2
  546. brlib-0.3.0/tests/expected/games/updated/MLA190105301/pitching.csv +0 -5
  547. brlib-0.3.0/tests/expected/games/updated/NYN200908230/batting.csv +0 -31
  548. brlib-0.3.0/tests/expected/games/updated/NYN200908230/fielding.csv +0 -28
  549. brlib-0.3.0/tests/expected/games/updated/NYN200908230/info.csv +0 -2
  550. brlib-0.3.0/tests/expected/games/updated/NYN200908230/pitching.csv +0 -12
  551. brlib-0.3.0/tests/expected/games/updated/PHI202211020/batting.csv +0 -22
  552. brlib-0.3.0/tests/expected/games/updated/PHI202211020/fielding.csv +0 -30
  553. brlib-0.3.0/tests/expected/games/updated/PHI202211020/info.csv +0 -2
  554. brlib-0.3.0/tests/expected/games/updated/PHI202211020/pitching.csv +0 -13
  555. brlib-0.3.0/tests/expected/games/updated/PIT192010023/batting.csv +0 -22
  556. brlib-0.3.0/tests/expected/games/updated/PIT192010023/fielding.csv +0 -22
  557. brlib-0.3.0/tests/expected/games/updated/PIT192010023/info.csv +0 -2
  558. brlib-0.3.0/tests/expected/games/updated/PIT192010023/pitching.csv +0 -5
  559. brlib-0.3.0/tests/expected/games/updated/SEA197805231/batting.csv +0 -24
  560. brlib-0.3.0/tests/expected/games/updated/SEA197805231/fielding.csv +0 -24
  561. brlib-0.3.0/tests/expected/games/updated/SEA197805231/info.csv +0 -2
  562. brlib-0.3.0/tests/expected/games/updated/SEA197805231/pitching.csv +0 -6
  563. brlib-0.3.0/tests/expected/games/updated/SEA201208150/batting.csv +0 -23
  564. brlib-0.3.0/tests/expected/games/updated/SEA201208150/fielding.csv +0 -22
  565. brlib-0.3.0/tests/expected/games/updated/SEA201208150/info.csv +0 -2
  566. brlib-0.3.0/tests/expected/games/updated/SEA201208150/pitching.csv +0 -6
  567. brlib-0.3.0/tests/expected/games/updated/SEA201804190/batting.csv +0 -24
  568. brlib-0.3.0/tests/expected/games/updated/SEA201804190/fielding.csv +0 -30
  569. brlib-0.3.0/tests/expected/games/updated/SEA201804190/info.csv +0 -2
  570. brlib-0.3.0/tests/expected/games/updated/SEA201804190/pitching.csv +0 -11
  571. brlib-0.3.0/tests/expected/games/updated/SEA201905270/batting.csv +0 -21
  572. brlib-0.3.0/tests/expected/games/updated/SEA201905270/fielding.csv +0 -27
  573. brlib-0.3.0/tests/expected/games/updated/SEA201905270/info.csv +0 -2
  574. brlib-0.3.0/tests/expected/games/updated/SEA201905270/pitching.csv +0 -11
  575. brlib-0.3.0/tests/expected/games/updated/SEA202210150/batting.csv +0 -26
  576. brlib-0.3.0/tests/expected/games/updated/SEA202210150/fielding.csv +0 -40
  577. brlib-0.3.0/tests/expected/games/updated/SEA202210150/info.csv +0 -2
  578. brlib-0.3.0/tests/expected/games/updated/SEA202210150/pitching.csv +0 -21
  579. brlib-0.3.0/tests/expected/games/updated/SLN190710051/batting.csv +0 -22
  580. brlib-0.3.0/tests/expected/games/updated/SLN190710051/fielding.csv +0 -22
  581. brlib-0.3.0/tests/expected/games/updated/SLN190710051/info.csv +0 -2
  582. brlib-0.3.0/tests/expected/games/updated/SLN190710051/pitching.csv +0 -5
  583. brlib-0.3.0/tests/expected/players/original/aloumo01/batting.csv +0 -40
  584. brlib-0.3.0/tests/expected/players/original/aloumo01/fielding.csv +0 -80
  585. brlib-0.3.0/tests/expected/players/original/aloumo01/info.csv +0 -2
  586. brlib-0.3.0/tests/expected/players/original/aloumo01/pitching.csv +0 -1
  587. brlib-0.3.0/tests/expected/players/original/aloumo01/teams.json +0 -1
  588. brlib-0.3.0/tests/expected/players/original/bendech01/batting.csv +0 -33
  589. brlib-0.3.0/tests/expected/players/original/bendech01/fielding.csv +0 -43
  590. brlib-0.3.0/tests/expected/players/original/bendech01/info.csv +0 -2
  591. brlib-0.3.0/tests/expected/players/original/bendech01/pitching.csv +0 -33
  592. brlib-0.3.0/tests/expected/players/original/bendech01/teams.json +0 -1
  593. brlib-0.3.0/tests/expected/players/original/colli05/batting.csv +0 -4
  594. brlib-0.3.0/tests/expected/players/original/colli05/fielding.csv +0 -3
  595. brlib-0.3.0/tests/expected/players/original/colli05/info.csv +0 -2
  596. brlib-0.3.0/tests/expected/players/original/colli05/pitching.csv +0 -1
  597. brlib-0.3.0/tests/expected/players/original/colli05/teams.json +0 -1
  598. brlib-0.3.0/tests/expected/players/original/cormirh01/batting.csv +0 -31
  599. brlib-0.3.0/tests/expected/players/original/cormirh01/fielding.csv +0 -23
  600. brlib-0.3.0/tests/expected/players/original/cormirh01/info.csv +0 -2
  601. brlib-0.3.0/tests/expected/players/original/cormirh01/pitching.csv +0 -32
  602. brlib-0.3.0/tests/expected/players/original/cormirh01/teams.json +0 -1
  603. brlib-0.3.0/tests/expected/players/original/gibsojo99/batting.csv +0 -34
  604. brlib-0.3.0/tests/expected/players/original/gibsojo99/fielding.csv +0 -66
  605. brlib-0.3.0/tests/expected/players/original/gibsojo99/info.csv +0 -2
  606. brlib-0.3.0/tests/expected/players/original/gibsojo99/pitching.csv +0 -4
  607. brlib-0.3.0/tests/expected/players/original/gibsojo99/teams.json +0 -1
  608. brlib-0.3.0/tests/expected/players/original/hallaro01/batting.csv +0 -25
  609. brlib-0.3.0/tests/expected/players/original/hallaro01/fielding.csv +0 -21
  610. brlib-0.3.0/tests/expected/players/original/hallaro01/info.csv +0 -2
  611. brlib-0.3.0/tests/expected/players/original/hallaro01/pitching.csv +0 -27
  612. brlib-0.3.0/tests/expected/players/original/hallaro01/teams.json +0 -1
  613. brlib-0.3.0/tests/expected/players/original/jacksre01/batting.csv +0 -46
  614. brlib-0.3.0/tests/expected/players/original/jacksre01/fielding.csv +0 -94
  615. brlib-0.3.0/tests/expected/players/original/jacksre01/info.csv +0 -2
  616. brlib-0.3.0/tests/expected/players/original/jacksre01/pitching.csv +0 -1
  617. brlib-0.3.0/tests/expected/players/original/jacksre01/teams.json +0 -1
  618. brlib-0.3.0/tests/expected/players/original/kigerma01/batting.csv +0 -4
  619. brlib-0.3.0/tests/expected/players/original/kigerma01/fielding.csv +0 -1
  620. brlib-0.3.0/tests/expected/players/original/kigerma01/info.csv +0 -2
  621. brlib-0.3.0/tests/expected/players/original/kigerma01/pitching.csv +0 -1
  622. brlib-0.3.0/tests/expected/players/original/kigerma01/teams.json +0 -1
  623. brlib-0.3.0/tests/expected/players/original/pressry01/batting.csv +0 -27
  624. brlib-0.3.0/tests/expected/players/original/pressry01/fielding.csv +0 -25
  625. brlib-0.3.0/tests/expected/players/original/pressry01/info.csv +0 -2
  626. brlib-0.3.0/tests/expected/players/original/pressry01/pitching.csv +0 -34
  627. brlib-0.3.0/tests/expected/players/original/pressry01/teams.json +0 -1
  628. brlib-0.3.0/tests/expected/players/original/vogtst01/batting.csv +0 -29
  629. brlib-0.3.0/tests/expected/players/original/vogtst01/fielding.csv +0 -52
  630. brlib-0.3.0/tests/expected/players/original/vogtst01/info.csv +0 -2
  631. brlib-0.3.0/tests/expected/players/original/vogtst01/pitching.csv +0 -1
  632. brlib-0.3.0/tests/expected/players/original/vogtst01/teams.json +0 -1
  633. brlib-0.3.0/tests/expected/players/updated/aloumo01/info.csv +0 -2
  634. brlib-0.3.0/tests/expected/players/updated/aloumo01/pitching.csv +0 -1
  635. brlib-0.3.0/tests/expected/players/updated/bendech01/info.csv +0 -2
  636. brlib-0.3.0/tests/expected/players/updated/bendech01/pitching.csv +0 -33
  637. brlib-0.3.0/tests/expected/players/updated/colli05/info.csv +0 -2
  638. brlib-0.3.0/tests/expected/players/updated/colli05/pitching.csv +0 -1
  639. brlib-0.3.0/tests/expected/players/updated/cormirh01/info.csv +0 -2
  640. brlib-0.3.0/tests/expected/players/updated/cormirh01/pitching.csv +0 -32
  641. brlib-0.3.0/tests/expected/players/updated/gibsojo99/info.csv +0 -2
  642. brlib-0.3.0/tests/expected/players/updated/gibsojo99/pitching.csv +0 -4
  643. brlib-0.3.0/tests/expected/players/updated/hallaro01/info.csv +0 -2
  644. brlib-0.3.0/tests/expected/players/updated/hallaro01/pitching.csv +0 -27
  645. brlib-0.3.0/tests/expected/players/updated/jacksre01/info.csv +0 -2
  646. brlib-0.3.0/tests/expected/players/updated/jacksre01/pitching.csv +0 -1
  647. brlib-0.3.0/tests/expected/players/updated/kigerma01/info.csv +0 -2
  648. brlib-0.3.0/tests/expected/players/updated/kigerma01/pitching.csv +0 -1
  649. brlib-0.3.0/tests/expected/players/updated/pressry01/info.csv +0 -2
  650. brlib-0.3.0/tests/expected/players/updated/pressry01/pitching.csv +0 -34
  651. brlib-0.3.0/tests/expected/players/updated/vogtst01/info.csv +0 -2
  652. brlib-0.3.0/tests/expected/players/updated/vogtst01/pitching.csv +0 -1
  653. brlib-0.3.0/tests/expected/teams/original/BBB1924/batting.csv +0 -26
  654. brlib-0.3.0/tests/expected/teams/original/BBB1924/fielding.csv +0 -22
  655. brlib-0.3.0/tests/expected/teams/original/BBB1924/info.csv +0 -2
  656. brlib-0.3.0/tests/expected/teams/original/BBB1924/pitching.csv +0 -10
  657. brlib-0.3.0/tests/expected/teams/original/BBB1924/players.json +0 -1
  658. brlib-0.3.0/tests/expected/teams/original/BEG1939/batting.csv +0 -45
  659. brlib-0.3.0/tests/expected/teams/original/BEG1939/fielding.csv +0 -37
  660. brlib-0.3.0/tests/expected/teams/original/BEG1939/info.csv +0 -2
  661. brlib-0.3.0/tests/expected/teams/original/BEG1939/pitching.csv +0 -17
  662. brlib-0.3.0/tests/expected/teams/original/BEG1939/players.json +0 -1
  663. brlib-0.3.0/tests/expected/teams/original/CHC2020/batting.csv +0 -49
  664. brlib-0.3.0/tests/expected/teams/original/CHC2020/fielding.csv +0 -69
  665. brlib-0.3.0/tests/expected/teams/original/CHC2020/info.csv +0 -2
  666. brlib-0.3.0/tests/expected/teams/original/CHC2020/pitching.csv +0 -36
  667. brlib-0.3.0/tests/expected/teams/original/COT1932/info.csv +0 -2
  668. brlib-0.3.0/tests/expected/teams/original/HOU2022/batting.csv +0 -52
  669. brlib-0.3.0/tests/expected/teams/original/HOU2022/fielding.csv +0 -75
  670. brlib-0.3.0/tests/expected/teams/original/HOU2022/info.csv +0 -2
  671. brlib-0.3.0/tests/expected/teams/original/HOU2022/pitching.csv +0 -37
  672. brlib-0.3.0/tests/expected/teams/original/LAA2012/batting.csv +0 -39
  673. brlib-0.3.0/tests/expected/teams/original/LAA2012/fielding.csv +0 -45
  674. brlib-0.3.0/tests/expected/teams/original/LAA2012/info.csv +0 -2
  675. brlib-0.3.0/tests/expected/teams/original/LAA2012/pitching.csv +0 -25
  676. brlib-0.3.0/tests/expected/teams/original/SEA2012/batting.csv +0 -38
  677. brlib-0.3.0/tests/expected/teams/original/SEA2012/fielding.csv +0 -39
  678. brlib-0.3.0/tests/expected/teams/original/SEA2012/info.csv +0 -2
  679. brlib-0.3.0/tests/expected/teams/original/SEA2012/pitching.csv +0 -20
  680. brlib-0.3.0/tests/expected/teams/original/WSH1904/batting.csv +0 -31
  681. brlib-0.3.0/tests/expected/teams/original/WSH1904/fielding.csv +0 -29
  682. brlib-0.3.0/tests/expected/teams/original/WSH1904/info.csv +0 -2
  683. brlib-0.3.0/tests/expected/teams/original/WSH1904/pitching.csv +0 -11
  684. brlib-0.3.0/tests/expected/teams/records.csv +0 -9
  685. brlib-0.3.0/tests/expected/teams/updated/BBB1924/batting.csv +0 -26
  686. brlib-0.3.0/tests/expected/teams/updated/BBB1924/fielding.csv +0 -22
  687. brlib-0.3.0/tests/expected/teams/updated/BBB1924/info.csv +0 -2
  688. brlib-0.3.0/tests/expected/teams/updated/BBB1924/pitching.csv +0 -10
  689. brlib-0.3.0/tests/expected/teams/updated/BEG1939/batting.csv +0 -45
  690. brlib-0.3.0/tests/expected/teams/updated/BEG1939/fielding.csv +0 -37
  691. brlib-0.3.0/tests/expected/teams/updated/BEG1939/info.csv +0 -2
  692. brlib-0.3.0/tests/expected/teams/updated/BEG1939/pitching.csv +0 -17
  693. brlib-0.3.0/tests/expected/teams/updated/CHC2020/batting.csv +0 -49
  694. brlib-0.3.0/tests/expected/teams/updated/CHC2020/fielding.csv +0 -69
  695. brlib-0.3.0/tests/expected/teams/updated/CHC2020/info.csv +0 -2
  696. brlib-0.3.0/tests/expected/teams/updated/CHC2020/pitching.csv +0 -36
  697. brlib-0.3.0/tests/expected/teams/updated/COT1932/info.csv +0 -2
  698. brlib-0.3.0/tests/expected/teams/updated/HOU2022/batting.csv +0 -52
  699. brlib-0.3.0/tests/expected/teams/updated/HOU2022/fielding.csv +0 -75
  700. brlib-0.3.0/tests/expected/teams/updated/HOU2022/info.csv +0 -2
  701. brlib-0.3.0/tests/expected/teams/updated/HOU2022/pitching.csv +0 -37
  702. brlib-0.3.0/tests/expected/teams/updated/LAA2012/batting.csv +0 -39
  703. brlib-0.3.0/tests/expected/teams/updated/LAA2012/fielding.csv +0 -45
  704. brlib-0.3.0/tests/expected/teams/updated/LAA2012/info.csv +0 -2
  705. brlib-0.3.0/tests/expected/teams/updated/LAA2012/pitching.csv +0 -25
  706. brlib-0.3.0/tests/expected/teams/updated/SEA2012/batting.csv +0 -38
  707. brlib-0.3.0/tests/expected/teams/updated/SEA2012/fielding.csv +0 -39
  708. brlib-0.3.0/tests/expected/teams/updated/SEA2012/info.csv +0 -2
  709. brlib-0.3.0/tests/expected/teams/updated/SEA2012/pitching.csv +0 -20
  710. brlib-0.3.0/tests/expected/teams/updated/WSH1904/batting.csv +0 -31
  711. brlib-0.3.0/tests/expected/teams/updated/WSH1904/fielding.csv +0 -29
  712. brlib-0.3.0/tests/expected/teams/updated/WSH1904/info.csv +0 -2
  713. brlib-0.3.0/tests/expected/teams/updated/WSH1904/pitching.csv +0 -11
  714. brlib-0.3.0/tests/get_expected.py +0 -45
  715. brlib-0.3.0/tests/test_all_players.py +0 -36
  716. brlib-0.3.0/tests/test_find_asg.py +0 -41
  717. brlib-0.3.0/tests/test_find_games.py +0 -112
  718. brlib-0.3.0/tests/test_find_teams.py +0 -76
  719. brlib-0.3.0/tests/test_game.py +0 -148
  720. brlib-0.3.0/tests/test_game_set.py +0 -89
  721. brlib-0.3.0/tests/test_player.py +0 -90
  722. brlib-0.3.0/tests/test_player_set.py +0 -54
  723. brlib-0.3.0/tests/test_team.py +0 -92
  724. brlib-0.3.0/tests/test_team_set.py +0 -65
  725. {brlib-0.3.0 → brlib-0.5.0}/.github/workflows/publish.yml +0 -0
  726. {brlib-0.3.0 → brlib-0.5.0}/LICENSE.txt +0 -0
  727. {brlib-0.3.0 → brlib-0.5.0}/src/brlib/_helpers/__init__.py +0 -0
  728. {brlib-0.3.0 → brlib-0.5.0}/src/brlib/_helpers/singleton.py +0 -0
  729. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/linescore.csv +0 -0
  730. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/team_info.csv +0 -0
  731. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/1961-allstar-game-1/teams.json +0 -0
  732. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/linescore.csv +0 -0
  733. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/players.json +0 -0
  734. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/team_info.csv +0 -0
  735. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/2025-allstar-game/teams.json +0 -0
  736. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/linescore.csv +0 -0
  737. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/players.json +0 -0
  738. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/ANA202305090/team_info.csv +0 -0
  739. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/linescore.csv +0 -0
  740. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/players.json +0 -0
  741. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/BOS201708250/team_info.csv +0 -0
  742. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/linescore.csv +0 -0
  743. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/players.json +0 -0
  744. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/FLO199407290/team_info.csv +0 -0
  745. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/linescore.csv +0 -0
  746. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/players.json +0 -0
  747. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/MLA190105301/team_info.csv +0 -0
  748. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/linescore.csv +0 -0
  749. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/players.json +0 -0
  750. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/NYN200908230/team_info.csv +0 -0
  751. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/linescore.csv +0 -0
  752. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/players.json +0 -0
  753. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/PHI202211020/team_info.csv +0 -0
  754. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/linescore.csv +0 -0
  755. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/players.json +0 -0
  756. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/PIT192010023/team_info.csv +0 -0
  757. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/linescore.csv +0 -0
  758. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/players.json +0 -0
  759. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA197805231/team_info.csv +0 -0
  760. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/linescore.csv +0 -0
  761. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/players.json +0 -0
  762. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201208150/team_info.csv +0 -0
  763. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/linescore.csv +0 -0
  764. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/players.json +0 -0
  765. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201804190/team_info.csv +0 -0
  766. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/linescore.csv +0 -0
  767. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/players.json +0 -0
  768. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA201905270/team_info.csv +0 -0
  769. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/linescore.csv +0 -0
  770. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/players.json +0 -0
  771. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SEA202210150/team_info.csv +0 -0
  772. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/linescore.csv +0 -0
  773. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/players.json +0 -0
  774. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/original/SLN190710051/team_info.csv +0 -0
  775. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/1961-allstar-game-1/linescore.csv +0 -0
  776. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/1961-allstar-game-1/team_info.csv +0 -0
  777. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/2025-allstar-game/linescore.csv +0 -0
  778. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/2025-allstar-game/team_info.csv +0 -0
  779. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/ANA202305090/linescore.csv +0 -0
  780. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/ANA202305090/team_info.csv +0 -0
  781. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/BOS201708250/linescore.csv +0 -0
  782. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/BOS201708250/team_info.csv +0 -0
  783. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/FLO199407290/linescore.csv +0 -0
  784. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/FLO199407290/team_info.csv +0 -0
  785. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/MLA190105301/linescore.csv +0 -0
  786. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/MLA190105301/team_info.csv +0 -0
  787. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/NYN200908230/linescore.csv +0 -0
  788. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/NYN200908230/team_info.csv +0 -0
  789. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/PHI202211020/linescore.csv +0 -0
  790. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/PHI202211020/team_info.csv +0 -0
  791. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/PIT192010023/linescore.csv +0 -0
  792. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/PIT192010023/team_info.csv +0 -0
  793. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA197805231/linescore.csv +0 -0
  794. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA197805231/team_info.csv +0 -0
  795. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201208150/linescore.csv +0 -0
  796. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201208150/team_info.csv +0 -0
  797. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201804190/linescore.csv +0 -0
  798. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201804190/team_info.csv +0 -0
  799. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201905270/linescore.csv +0 -0
  800. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA201905270/team_info.csv +0 -0
  801. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA202210150/linescore.csv +0 -0
  802. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SEA202210150/team_info.csv +0 -0
  803. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SLN190710051/linescore.csv +0 -0
  804. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/games/updated/SLN190710051/team_info.csv +0 -0
  805. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/bling.csv +0 -0
  806. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/aloumo01/relatives.json +0 -0
  807. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/bendech01/bling.csv +0 -0
  808. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/bendech01/relatives.json +0 -0
  809. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/colli05/bling.csv +0 -0
  810. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/colli05/relatives.json +0 -0
  811. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/bling.csv +0 -0
  812. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/cormirh01/relatives.json +0 -0
  813. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/gibsojo99/bling.csv +0 -0
  814. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/gibsojo99/relatives.json +0 -0
  815. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/bling.csv +0 -0
  816. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/hallaro01/relatives.json +0 -0
  817. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/bling.csv +0 -0
  818. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/jacksre01/relatives.json +0 -0
  819. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/bling.csv +0 -0
  820. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/kigerma01/relatives.json +0 -0
  821. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/bling.csv +0 -0
  822. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/pressry01/relatives.json +0 -0
  823. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/vogtst01/bling.csv +0 -0
  824. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/players/original/vogtst01/relatives.json +0 -0
  825. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/CHC2020/players.json +0 -0
  826. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/batting.csv +0 -0
  827. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/fielding.csv +0 -0
  828. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/pitching.csv +0 -0
  829. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/COT1932/players.json +0 -0
  830. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/HOU2022/players.json +0 -0
  831. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/LAA2012/players.json +0 -0
  832. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/SEA2012/players.json +0 -0
  833. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/original/WSH1904/players.json +0 -0
  834. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/updated/COT1932/batting.csv +0 -0
  835. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/updated/COT1932/fielding.csv +0 -0
  836. {brlib-0.3.0 → brlib-0.5.0}/tests/expected/teams/updated/COT1932/pitching.csv +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"
@@ -0,0 +1,47 @@
1
+ name: Full Tests
2
+
3
+ on:
4
+ # to be run manually before releases
5
+ workflow_dispatch:
6
+
7
+ jobs:
8
+ pytest:
9
+ runs-on: ${{ matrix.os }}
10
+
11
+ strategy:
12
+ matrix:
13
+ os: [ubuntu-latest, windows-latest, macos-latest]
14
+ python-version: ["3.10", "3.14"]
15
+ resolution: ['highest']
16
+ include:
17
+ - os: ubuntu-latest
18
+ python-version: "3.10"
19
+ resolution: 'lowest-direct'
20
+ - os: windows-latest
21
+ python-version: "3.10"
22
+ resolution: 'lowest-direct'
23
+ - os: macos-latest
24
+ # there's no lxml wheel for 3.10 on ARM64 macOS
25
+ python-version: "3.11"
26
+ resolution: 'lowest-direct'
27
+
28
+ steps:
29
+ - name: Checkout code
30
+ uses: actions/checkout@v6
31
+
32
+ - name: Install uv
33
+ uses: astral-sh/setup-uv@v7
34
+ with:
35
+ enable-cache: true
36
+
37
+ - name: Install Python ${{ matrix.python-version }}
38
+ run: uv python install ${{ matrix.python-version }}
39
+
40
+ - name: Create virtual environment
41
+ run: uv venv
42
+
43
+ - name: Install brlib
44
+ run: uv sync --resolution ${{ matrix.resolution }} --group dev
45
+
46
+ - name: Run pytest with coverage
47
+ run: uv run pytest --cov=. --cov-report=term-missing
@@ -0,0 +1,49 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '**'
7
+ schedule:
8
+ # run at 12 UTC, hopefully after BR's daily in-season updates
9
+ # run weekly (on Saturday), because anything more would be overkill
10
+ - cron: '0 12 * * 6'
11
+
12
+ jobs:
13
+ pytest:
14
+ runs-on: ${{ matrix.os }}
15
+
16
+ strategy:
17
+ matrix:
18
+ os: [ubuntu-latest, windows-latest]
19
+ python-version: ["3.10", "3.14"]
20
+ exclude:
21
+ - os: windows-latest
22
+ python-version: "3.10"
23
+
24
+ steps:
25
+ - name: Checkout code
26
+ uses: actions/checkout@v6
27
+
28
+ - name: Install uv
29
+ uses: astral-sh/setup-uv@v7
30
+ with:
31
+ enable-cache: true
32
+
33
+ - name: Install Python ${{ matrix.python-version }}
34
+ run: uv python install ${{ matrix.python-version }}
35
+
36
+ - name: Create virtual environment
37
+ run: uv venv
38
+
39
+ - name: Install brlib
40
+ run: uv sync --resolution highest --group dev
41
+
42
+ - name: Check import sorting with isort
43
+ run: uv run isort --check-only .
44
+
45
+ - name: Check formatting with Black
46
+ run: uv run black --check .
47
+
48
+ - name: Run pytest with coverage
49
+ run: uv run pytest --cov=. --cov-report=term-missing
brlib-0.5.0/PKG-INFO ADDED
@@ -0,0 +1,94 @@
1
+ Metadata-Version: 2.4
2
+ Name: brlib
3
+ Version: 0.5.0
4
+ Summary: A library for collecting baseball statistics from Baseball Reference
5
+ Project-URL: Documentation, https://github.com/john-bieren/brlib/wiki
6
+ Project-URL: GitHub, https://github.com/john-bieren/brlib
7
+ Project-URL: Issues, https://github.com/john-bieren/brlib/issues
8
+ Project-URL: Release Notes, https://github.com/john-bieren/brlib/releases
9
+ Author-email: John Bieren <jbieren64@gmail.com>
10
+ License-Expression: MIT
11
+ License-File: LICENSE.txt
12
+ Keywords: baseball,baseball reference,baseball stats,mlb,mlb stats
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Programming Language :: Python :: 3.14
26
+ Classifier: Programming Language :: Python :: Implementation :: CPython
27
+ Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
28
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
29
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
+ Requires-Python: >=3.10
31
+ Requires-Dist: beautifulsoup4<4.15.0,>=4.12.0
32
+ Requires-Dist: curl-cffi<0.16.0,>=0.11.1
33
+ Requires-Dist: lxml<7.0.0,>=5.0.0
34
+ Requires-Dist: pandas<3.0.0,>=2.2.0
35
+ Requires-Dist: platformdirs<5.0.0,>=4.0.0
36
+ Requires-Dist: tqdm<5.0.0,>=4.66.0
37
+ Description-Content-Type: text/markdown
38
+
39
+ # brlib
40
+
41
+ [![Tests](https://github.com/john-bieren/brlib/actions/workflows/test.yml/badge.svg)](https://github.com/john-bieren/brlib/actions/workflows/test.yml)
42
+ [![PyPI Latest Release](https://img.shields.io/pypi/v/brlib?label=PyPI&logo=pypi&logoColor=ffe873&color=0073b7)](https://pypi.org/project/brlib)
43
+ [![Python Versions](https://img.shields.io/pypi/pyversions/brlib?label=Python%20Versions)](https://pypi.org/project/brlib)
44
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
45
+ [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
46
+
47
+ A library for collecting baseball statistics from
48
+ [Baseball Reference](https://www.baseball-reference.com).
49
+
50
+ > [!IMPORTANT]
51
+ > brlib is in beta, breaking changes are possible until the release of version 1.
52
+
53
+ ## Key Features
54
+
55
+ * `Game`, `Player`, and `Team` classes give you easy access to all associated data in one place,
56
+ with attributes for stat tables and other information.
57
+ * Aggregate these into `GameSet`, `PlayerSet`, or `TeamSet` classes, which have similar attributes,
58
+ for easy analysis of larger samples.
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).
62
+
63
+ Learn more by reading the documentation on the [wiki](https://github.com/john-bieren/brlib/wiki).
64
+
65
+ ## Install
66
+
67
+ brlib can be installed using pip:
68
+
69
+ ```
70
+ pip install brlib
71
+ ```
72
+
73
+ Or by cloning this repo:
74
+
75
+ ```
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
83
+ ```
84
+
85
+ Once installed, you can import brlib into your Python scripts:
86
+
87
+ ```python
88
+ import brlib as br
89
+ ```
90
+
91
+ ## Data Use
92
+
93
+ Since brlib gathers data from Baseball Reference, your use of this data is subject to their
94
+ [data use policy](https://www.sports-reference.com/data_use.html).
brlib-0.5.0/README.md ADDED
@@ -0,0 +1,56 @@
1
+ # brlib
2
+
3
+ [![Tests](https://github.com/john-bieren/brlib/actions/workflows/test.yml/badge.svg)](https://github.com/john-bieren/brlib/actions/workflows/test.yml)
4
+ [![PyPI Latest Release](https://img.shields.io/pypi/v/brlib?label=PyPI&logo=pypi&logoColor=ffe873&color=0073b7)](https://pypi.org/project/brlib)
5
+ [![Python Versions](https://img.shields.io/pypi/pyversions/brlib?label=Python%20Versions)](https://pypi.org/project/brlib)
6
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
7
+ [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
8
+
9
+ A library for collecting baseball statistics from
10
+ [Baseball Reference](https://www.baseball-reference.com).
11
+
12
+ > [!IMPORTANT]
13
+ > brlib is in beta, breaking changes are possible until the release of version 1.
14
+
15
+ ## Key Features
16
+
17
+ * `Game`, `Player`, and `Team` classes give you easy access to all associated data in one place,
18
+ with attributes for stat tables and other information.
19
+ * Aggregate these into `GameSet`, `PlayerSet`, or `TeamSet` classes, which have similar attributes,
20
+ for easy analysis of larger samples.
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).
24
+
25
+ Learn more by reading the documentation on the [wiki](https://github.com/john-bieren/brlib/wiki).
26
+
27
+ ## Install
28
+
29
+ brlib can be installed using pip:
30
+
31
+ ```
32
+ pip install brlib
33
+ ```
34
+
35
+ Or by cloning this repo:
36
+
37
+ ```
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
45
+ ```
46
+
47
+ Once installed, you can import brlib into your Python scripts:
48
+
49
+ ```python
50
+ import brlib as br
51
+ ```
52
+
53
+ ## Data Use
54
+
55
+ Since brlib gathers data from Baseball Reference, your use of this data is subject to their
56
+ [data use policy](https://www.sports-reference.com/data_use.html).
@@ -0,0 +1,74 @@
1
+ [build-system]
2
+ requires = ["hatchling >= 1.26"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "brlib"
7
+ description = "A library for collecting baseball statistics from Baseball Reference"
8
+ authors = [{ name = "John Bieren", email = "jbieren64@gmail.com" }]
9
+ dynamic = ["version"]
10
+ requires-python = ">=3.10"
11
+ dependencies = [
12
+ "beautifulsoup4>=4.12.0,<4.15.0",
13
+ "curl-cffi>=0.11.1,<0.16.0",
14
+ "lxml>=5.0.0,<7.0.0",
15
+ "pandas>=2.2.0,<3.0.0",
16
+ "platformdirs>=4.0.0,<5.0.0",
17
+ "tqdm>=4.66.0,<5.0.0",
18
+ ]
19
+ readme = "README.md"
20
+ license = "MIT"
21
+ license-files = ["LICENSE.txt"]
22
+ classifiers = [
23
+ "Development Status :: 4 - Beta",
24
+ "Intended Audience :: Developers",
25
+ "Intended Audience :: Science/Research",
26
+ "License :: OSI Approved :: MIT License",
27
+ "Operating System :: OS Independent",
28
+ "Programming Language :: Python",
29
+ "Programming Language :: Python :: 3",
30
+ "Programming Language :: Python :: 3 :: Only",
31
+ "Programming Language :: Python :: 3.10",
32
+ "Programming Language :: Python :: 3.11",
33
+ "Programming Language :: Python :: 3.12",
34
+ "Programming Language :: Python :: 3.13",
35
+ "Programming Language :: Python :: 3.14",
36
+ "Programming Language :: Python :: Implementation :: CPython",
37
+ "Topic :: Internet :: WWW/HTTP :: Indexing/Search",
38
+ "Topic :: Scientific/Engineering :: Information Analysis",
39
+ "Topic :: Software Development :: Libraries :: Python Modules",
40
+ ]
41
+ keywords = ["baseball reference", "baseball", "baseball stats", "mlb", "mlb stats"]
42
+
43
+ [project.urls]
44
+ Documentation = "https://github.com/john-bieren/brlib/wiki"
45
+ GitHub = "https://github.com/john-bieren/brlib"
46
+ Issues = "https://github.com/john-bieren/brlib/issues"
47
+ "Release Notes" = "https://github.com/john-bieren/brlib/releases"
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
+
57
+ [tool.hatch.version]
58
+ path = "src/brlib/__init__.py"
59
+
60
+ [tool.pytest.ini_options]
61
+ testpaths = ["tests"]
62
+ pythonpath = ["src"]
63
+
64
+ [tool.black]
65
+ line-length = 100
66
+ target-version = ["py310", "py311", "py312", "py313", "py314"]
67
+
68
+ [tool.isort]
69
+ profile = "black"
70
+ line_length = 100
71
+ known_first_party = ["brlib"]
72
+
73
+ [tool.uv]
74
+ package = true
@@ -0,0 +1,124 @@
1
+ #!/usr/bin/env python3
2
+
3
+ """
4
+ Refreshes the expected data for games, players, and teams to match their current outputs. This is
5
+ meant to automate the process of adapting to stat adjustments and other changes on Baseball
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
+ """
9
+
10
+ import json
11
+ from pathlib import Path
12
+
13
+ from tqdm import tqdm
14
+
15
+ import brlib as br
16
+ from tests.case_ids import game_test_cases, player_test_cases, team_test_cases
17
+
18
+
19
+ def main() -> None:
20
+ """Refreshes the expected data for games, players, and teams to match their current outputs."""
21
+ expected_dir = Path(__file__).parent.parent / "tests" / "expected"
22
+ br.options.add_no_hitters = False
23
+ br.options.update_team_names = False
24
+ br.options.update_venue_names = False
25
+
26
+ tqdm.write("Refreshing expected game data")
27
+ refresh_games(expected_dir / "games")
28
+
29
+ tqdm.write("Refreshing expected player data")
30
+ refresh_players(expected_dir / "players")
31
+
32
+ tqdm.write("Refreshing expected team data")
33
+ refresh_teams(expected_dir / "teams")
34
+
35
+
36
+ def refresh_games(games_dir: Path) -> None:
37
+ """Refreshes expected data for games in `games_dir`."""
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
+
43
+ # refresh original data
44
+ game = br.Game(game_id)
45
+ game.info.to_csv(original_dir / "info.csv", index=False)
46
+ game.batting.to_csv(original_dir / "batting.csv", index=False)
47
+ game.pitching.to_csv(original_dir / "pitching.csv", index=False)
48
+ game.fielding.to_csv(original_dir / "fielding.csv", index=False)
49
+ game.team_info.to_csv(original_dir / "team_info.csv", index=False)
50
+ game.ump_info.to_csv(original_dir / "ump_info.csv", index=False)
51
+ game.linescore.to_csv(original_dir / "linescore.csv", index=False)
52
+ (original_dir / "players.json").write_text(json.dumps(game.players))
53
+ (original_dir / "teams.json").write_text(json.dumps(game.teams))
54
+
55
+ # refresh updated data
56
+ game.add_no_hitters()
57
+ game.update_team_names()
58
+ game.update_venue_names()
59
+ game.info.to_csv(updated_dir / "info.csv", index=False)
60
+ game.batting.to_csv(updated_dir / "batting.csv", index=False)
61
+ game.pitching.to_csv(updated_dir / "pitching.csv", index=False)
62
+ game.fielding.to_csv(updated_dir / "fielding.csv", index=False)
63
+ game.team_info.to_csv(updated_dir / "team_info.csv", index=False)
64
+ game.linescore.to_csv(updated_dir / "linescore.csv", index=False)
65
+
66
+
67
+ def refresh_players(players_dir: Path) -> None:
68
+ """Refreshes expected data for players in `players_dir`."""
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)
73
+
74
+ # refresh original data
75
+ player = br.Player(player_id)
76
+ player.info.to_csv(original_dir / "info.csv", index=False)
77
+ player.bling.to_csv(original_dir / "bling.csv", index=False)
78
+ player.batting.to_csv(original_dir / "batting.csv", index=False)
79
+ player.pitching.to_csv(original_dir / "pitching.csv", index=False)
80
+ player.fielding.to_csv(original_dir / "fielding.csv", index=False)
81
+ player.salaries.to_csv(original_dir / "salaries.csv", index=False)
82
+ (original_dir / "relatives.json").write_text(json.dumps(player.relatives))
83
+ (original_dir / "teams.json").write_text(json.dumps(player.teams))
84
+
85
+ # refresh updated data
86
+ player.add_no_hitters()
87
+ player.update_team_names()
88
+ player.info.to_csv(updated_dir / "info.csv", index=False)
89
+ player.pitching.to_csv(updated_dir / "pitching.csv", index=False)
90
+ player.salaries.to_csv(updated_dir / "salaries.csv", index=False)
91
+
92
+
93
+ def refresh_teams(teams_dir: Path) -> None:
94
+ """Refreshes expected data for the teams in `teams_dir`."""
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)
100
+
101
+ # refresh original data
102
+ team = br.Team(team_id)
103
+ team.info.to_csv(original_dir / "info.csv", index=False)
104
+ team.batting.to_csv(original_dir / "batting.csv", index=False)
105
+ team.pitching.to_csv(original_dir / "pitching.csv", index=False)
106
+ team.fielding.to_csv(original_dir / "fielding.csv", index=False)
107
+ (original_dir / "players.json").write_text(json.dumps(team.players))
108
+
109
+ # refresh updated data
110
+ team.add_no_hitters()
111
+ team.update_team_names()
112
+ team.update_venue_names()
113
+ team.info.to_csv(updated_dir / "info.csv", index=False)
114
+ team.batting.to_csv(updated_dir / "batting.csv", index=False)
115
+ team.pitching.to_csv(updated_dir / "pitching.csv", index=False)
116
+ team.fielding.to_csv(updated_dir / "fielding.csv", index=False)
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
+
122
+
123
+ if __name__ == "__main__":
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()