brlib 0.2.0__tar.gz → 0.4.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 (639) hide show
  1. brlib-0.4.0/.github/workflows/full-test.yml +47 -0
  2. {brlib-0.2.0 → brlib-0.4.0}/.github/workflows/publish.yml +9 -9
  3. brlib-0.4.0/.github/workflows/test.yml +49 -0
  4. brlib-0.4.0/PKG-INFO +91 -0
  5. {brlib-0.2.0 → brlib-0.4.0}/README.md +14 -8
  6. {brlib-0.2.0 → brlib-0.4.0}/pyproject.toml +37 -13
  7. brlib-0.4.0/scripts/refresh_tests.py +125 -0
  8. brlib-0.4.0/scripts/refresh_wiki.py +60 -0
  9. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/__init__.py +11 -4
  10. brlib-0.4.0/src/brlib/_helpers/__init__.py +4 -0
  11. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/_helpers/abbreviations_manager.py +88 -68
  12. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/_helpers/constants.py +255 -112
  13. brlib-0.4.0/src/brlib/_helpers/inputs.py +181 -0
  14. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/_helpers/no_hitter_dicts.py +116 -71
  15. brlib-0.4.0/src/brlib/_helpers/requests_manager.py +72 -0
  16. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/_helpers/singleton.py +2 -2
  17. brlib-0.4.0/src/brlib/_helpers/typechecking.py +75 -0
  18. brlib-0.4.0/src/brlib/_helpers/utils.py +118 -0
  19. brlib-0.2.0/src/brlib/all_major_leaguers.py → brlib-0.4.0/src/brlib/all_players.py +10 -11
  20. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/find_asg.py +26 -19
  21. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/find_games.py +86 -65
  22. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/find_teams.py +39 -29
  23. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/game.py +409 -384
  24. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/game_set.py +108 -118
  25. brlib-0.4.0/src/brlib/get_games.py +120 -0
  26. brlib-0.4.0/src/brlib/get_players.py +112 -0
  27. brlib-0.4.0/src/brlib/get_teams.py +119 -0
  28. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/options.py +63 -65
  29. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/player.py +244 -180
  30. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/player_set.py +57 -45
  31. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/team.py +173 -128
  32. {brlib-0.2.0 → brlib-0.4.0}/src/brlib/team_set.py +85 -64
  33. brlib-0.4.0/tests/_helpers/test_abbreviations_manager.py +93 -0
  34. brlib-0.4.0/tests/_helpers/test_inputs.py +136 -0
  35. {brlib-0.2.0 → brlib-0.4.0}/tests/_helpers/test_no_hitter_dicts.py +32 -24
  36. brlib-0.4.0/tests/_helpers/test_typechecking.py +23 -0
  37. {brlib-0.2.0 → brlib-0.4.0}/tests/_helpers/test_utils.py +9 -28
  38. brlib-0.4.0/tests/conftest.py +233 -0
  39. brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/batting.csv +46 -0
  40. brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/fielding.csv +41 -0
  41. brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/info.csv +2 -0
  42. brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/pitching.csv +15 -0
  43. brlib-0.4.0/tests/expected/games/original/2025-allstar-game/batting.csv +42 -0
  44. brlib-0.4.0/tests/expected/games/original/2025-allstar-game/fielding.csv +60 -0
  45. brlib-0.4.0/tests/expected/games/original/2025-allstar-game/info.csv +2 -0
  46. brlib-0.4.0/tests/expected/games/original/2025-allstar-game/pitching.csv +27 -0
  47. brlib-0.4.0/tests/expected/games/original/2025-allstar-game/team_info.csv +3 -0
  48. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/ANA202305090/batting.csv +24 -24
  49. brlib-0.4.0/tests/expected/games/original/ANA202305090/fielding.csv +25 -0
  50. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/ANA202305090/info.csv +2 -2
  51. brlib-0.4.0/tests/expected/games/original/ANA202305090/pitching.csv +7 -0
  52. brlib-0.4.0/tests/expected/games/original/ANA202305090/teams.json +1 -0
  53. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/BOS201708250/batting.csv +27 -27
  54. brlib-0.4.0/tests/expected/games/original/BOS201708250/fielding.csv +32 -0
  55. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/BOS201708250/info.csv +2 -2
  56. brlib-0.4.0/tests/expected/games/original/BOS201708250/pitching.csv +11 -0
  57. brlib-0.4.0/tests/expected/games/original/BOS201708250/teams.json +1 -0
  58. brlib-0.4.0/tests/expected/games/original/CHN196207291/batting.csv +28 -0
  59. brlib-0.4.0/tests/expected/games/original/CHN196207291/fielding.csv +26 -0
  60. brlib-0.4.0/tests/expected/games/original/CHN196207291/info.csv +2 -0
  61. brlib-0.4.0/tests/expected/games/original/CHN196207291/linescore.csv +3 -0
  62. brlib-0.4.0/tests/expected/games/original/CHN196207291/pitching.csv +9 -0
  63. brlib-0.4.0/tests/expected/games/original/CHN196207291/players.json +1 -0
  64. brlib-0.4.0/tests/expected/games/original/CHN196207291/team_info.csv +3 -0
  65. brlib-0.4.0/tests/expected/games/original/CHN196207291/teams.json +1 -0
  66. brlib-0.4.0/tests/expected/games/original/CHN196207291/ump_info.csv +5 -0
  67. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/FLO199407290/batting.csv +36 -36
  68. brlib-0.4.0/tests/expected/games/original/FLO199407290/fielding.csv +32 -0
  69. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/info.csv +2 -2
  70. brlib-0.4.0/tests/expected/games/original/FLO199407290/pitching.csv +12 -0
  71. brlib-0.4.0/tests/expected/games/original/FLO199407290/teams.json +1 -0
  72. brlib-0.4.0/tests/expected/games/original/MLA190105301/batting.csv +21 -0
  73. brlib-0.4.0/tests/expected/games/original/MLA190105301/fielding.csv +21 -0
  74. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/info.csv +2 -2
  75. brlib-0.4.0/tests/expected/games/original/MLA190105301/pitching.csv +5 -0
  76. brlib-0.4.0/tests/expected/games/original/MLA190105301/teams.json +1 -0
  77. brlib-0.4.0/tests/expected/games/original/NYN200908230/batting.csv +31 -0
  78. brlib-0.4.0/tests/expected/games/original/NYN200908230/fielding.csv +28 -0
  79. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/info.csv +2 -2
  80. brlib-0.4.0/tests/expected/games/original/NYN200908230/pitching.csv +12 -0
  81. brlib-0.4.0/tests/expected/games/original/NYN200908230/teams.json +1 -0
  82. brlib-0.4.0/tests/expected/games/original/PHI202211020/batting.csv +22 -0
  83. brlib-0.4.0/tests/expected/games/original/PHI202211020/fielding.csv +30 -0
  84. brlib-0.4.0/tests/expected/games/original/PHI202211020/info.csv +2 -0
  85. brlib-0.4.0/tests/expected/games/original/PHI202211020/pitching.csv +13 -0
  86. brlib-0.4.0/tests/expected/games/original/PHI202211020/teams.json +1 -0
  87. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/PIT192010023/batting.csv +22 -22
  88. brlib-0.4.0/tests/expected/games/original/PIT192010023/fielding.csv +22 -0
  89. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/PIT192010023/info.csv +2 -2
  90. brlib-0.4.0/tests/expected/games/original/PIT192010023/pitching.csv +5 -0
  91. brlib-0.4.0/tests/expected/games/original/PIT192010023/teams.json +1 -0
  92. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/batting.csv +24 -24
  93. brlib-0.4.0/tests/expected/games/original/SEA197805231/fielding.csv +24 -0
  94. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/info.csv +2 -2
  95. brlib-0.4.0/tests/expected/games/original/SEA197805231/pitching.csv +6 -0
  96. brlib-0.4.0/tests/expected/games/original/SEA197805231/teams.json +1 -0
  97. brlib-0.4.0/tests/expected/games/original/SEA201106250/batting.csv +27 -0
  98. brlib-0.4.0/tests/expected/games/original/SEA201106250/fielding.csv +25 -0
  99. brlib-0.4.0/tests/expected/games/original/SEA201106250/info.csv +2 -0
  100. brlib-0.4.0/tests/expected/games/original/SEA201106250/linescore.csv +3 -0
  101. brlib-0.4.0/tests/expected/games/original/SEA201106250/pitching.csv +9 -0
  102. brlib-0.4.0/tests/expected/games/original/SEA201106250/players.json +1 -0
  103. brlib-0.4.0/tests/expected/games/original/SEA201106250/team_info.csv +3 -0
  104. brlib-0.4.0/tests/expected/games/original/SEA201106250/teams.json +1 -0
  105. brlib-0.4.0/tests/expected/games/original/SEA201106250/ump_info.csv +5 -0
  106. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/batting.csv +23 -23
  107. brlib-0.4.0/tests/expected/games/original/SEA201208150/fielding.csv +22 -0
  108. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/info.csv +2 -2
  109. brlib-0.4.0/tests/expected/games/original/SEA201208150/pitching.csv +6 -0
  110. brlib-0.4.0/tests/expected/games/original/SEA201208150/teams.json +1 -0
  111. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/SEA201804190/batting.csv +24 -24
  112. brlib-0.4.0/tests/expected/games/original/SEA201804190/fielding.csv +30 -0
  113. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/info.csv +2 -2
  114. brlib-0.4.0/tests/expected/games/original/SEA201804190/pitching.csv +11 -0
  115. brlib-0.4.0/tests/expected/games/original/SEA201804190/teams.json +1 -0
  116. {brlib-0.2.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/SEA201905270/batting.csv +21 -21
  117. brlib-0.4.0/tests/expected/games/original/SEA201905270/fielding.csv +27 -0
  118. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/info.csv +2 -2
  119. brlib-0.4.0/tests/expected/games/original/SEA201905270/pitching.csv +11 -0
  120. brlib-0.4.0/tests/expected/games/original/SEA201905270/teams.json +1 -0
  121. brlib-0.4.0/tests/expected/games/original/SEA202210150/batting.csv +26 -0
  122. brlib-0.4.0/tests/expected/games/original/SEA202210150/fielding.csv +40 -0
  123. brlib-0.4.0/tests/expected/games/original/SEA202210150/info.csv +2 -0
  124. brlib-0.4.0/tests/expected/games/original/SEA202210150/pitching.csv +21 -0
  125. brlib-0.4.0/tests/expected/games/original/SEA202210150/teams.json +1 -0
  126. brlib-0.4.0/tests/expected/games/original/SLN190710051/batting.csv +22 -0
  127. brlib-0.4.0/tests/expected/games/original/SLN190710051/fielding.csv +22 -0
  128. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/info.csv +2 -2
  129. brlib-0.4.0/tests/expected/games/original/SLN190710051/pitching.csv +5 -0
  130. brlib-0.4.0/tests/expected/games/original/SLN190710051/teams.json +1 -0
  131. brlib-0.4.0/tests/expected/games/records.csv +20 -0
  132. brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/batting.csv +46 -0
  133. brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/fielding.csv +41 -0
  134. brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/info.csv +2 -0
  135. brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/pitching.csv +15 -0
  136. brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/batting.csv +42 -0
  137. brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/fielding.csv +60 -0
  138. brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/info.csv +2 -0
  139. brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/pitching.csv +27 -0
  140. brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/team_info.csv +3 -0
  141. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/ANA202305090/batting.csv +24 -24
  142. brlib-0.4.0/tests/expected/games/updated/ANA202305090/fielding.csv +25 -0
  143. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/ANA202305090/info.csv +2 -2
  144. brlib-0.4.0/tests/expected/games/updated/ANA202305090/pitching.csv +7 -0
  145. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/BOS201708250/batting.csv +27 -27
  146. brlib-0.4.0/tests/expected/games/updated/BOS201708250/fielding.csv +32 -0
  147. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/BOS201708250/info.csv +2 -2
  148. brlib-0.4.0/tests/expected/games/updated/BOS201708250/pitching.csv +11 -0
  149. brlib-0.4.0/tests/expected/games/updated/CHN196207291/batting.csv +28 -0
  150. brlib-0.4.0/tests/expected/games/updated/CHN196207291/fielding.csv +26 -0
  151. brlib-0.4.0/tests/expected/games/updated/CHN196207291/info.csv +2 -0
  152. brlib-0.4.0/tests/expected/games/updated/CHN196207291/linescore.csv +3 -0
  153. brlib-0.4.0/tests/expected/games/updated/CHN196207291/pitching.csv +9 -0
  154. brlib-0.4.0/tests/expected/games/updated/CHN196207291/team_info.csv +3 -0
  155. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/FLO199407290/batting.csv +36 -36
  156. brlib-0.4.0/tests/expected/games/updated/FLO199407290/fielding.csv +32 -0
  157. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/FLO199407290/info.csv +2 -2
  158. brlib-0.4.0/tests/expected/games/updated/FLO199407290/pitching.csv +12 -0
  159. brlib-0.4.0/tests/expected/games/updated/MLA190105301/batting.csv +21 -0
  160. brlib-0.4.0/tests/expected/games/updated/MLA190105301/fielding.csv +21 -0
  161. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/MLA190105301/info.csv +2 -2
  162. brlib-0.4.0/tests/expected/games/updated/MLA190105301/pitching.csv +5 -0
  163. brlib-0.4.0/tests/expected/games/updated/NYN200908230/batting.csv +31 -0
  164. brlib-0.4.0/tests/expected/games/updated/NYN200908230/fielding.csv +28 -0
  165. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/NYN200908230/info.csv +2 -2
  166. brlib-0.4.0/tests/expected/games/updated/NYN200908230/pitching.csv +12 -0
  167. brlib-0.4.0/tests/expected/games/updated/PHI202211020/batting.csv +22 -0
  168. brlib-0.4.0/tests/expected/games/updated/PHI202211020/fielding.csv +30 -0
  169. brlib-0.4.0/tests/expected/games/updated/PHI202211020/info.csv +2 -0
  170. brlib-0.4.0/tests/expected/games/updated/PHI202211020/pitching.csv +13 -0
  171. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/PIT192010023/batting.csv +22 -22
  172. brlib-0.4.0/tests/expected/games/updated/PIT192010023/fielding.csv +22 -0
  173. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/PIT192010023/info.csv +2 -2
  174. brlib-0.4.0/tests/expected/games/updated/PIT192010023/pitching.csv +5 -0
  175. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/batting.csv +24 -24
  176. brlib-0.4.0/tests/expected/games/updated/SEA197805231/fielding.csv +24 -0
  177. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/info.csv +2 -2
  178. brlib-0.4.0/tests/expected/games/updated/SEA197805231/pitching.csv +6 -0
  179. brlib-0.4.0/tests/expected/games/updated/SEA201106250/batting.csv +27 -0
  180. brlib-0.4.0/tests/expected/games/updated/SEA201106250/fielding.csv +25 -0
  181. brlib-0.4.0/tests/expected/games/updated/SEA201106250/info.csv +2 -0
  182. brlib-0.4.0/tests/expected/games/updated/SEA201106250/linescore.csv +3 -0
  183. brlib-0.4.0/tests/expected/games/updated/SEA201106250/pitching.csv +9 -0
  184. brlib-0.4.0/tests/expected/games/updated/SEA201106250/team_info.csv +3 -0
  185. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201208150/batting.csv +23 -23
  186. brlib-0.4.0/tests/expected/games/updated/SEA201208150/fielding.csv +22 -0
  187. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201208150/info.csv +2 -2
  188. brlib-0.4.0/tests/expected/games/updated/SEA201208150/pitching.csv +6 -0
  189. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/SEA201804190/batting.csv +24 -24
  190. brlib-0.4.0/tests/expected/games/updated/SEA201804190/fielding.csv +30 -0
  191. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201804190/info.csv +2 -2
  192. brlib-0.4.0/tests/expected/games/updated/SEA201804190/pitching.csv +11 -0
  193. {brlib-0.2.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/SEA201905270/batting.csv +21 -21
  194. brlib-0.4.0/tests/expected/games/updated/SEA201905270/fielding.csv +27 -0
  195. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201905270/info.csv +2 -2
  196. brlib-0.4.0/tests/expected/games/updated/SEA201905270/pitching.csv +11 -0
  197. brlib-0.4.0/tests/expected/games/updated/SEA202210150/batting.csv +26 -0
  198. brlib-0.4.0/tests/expected/games/updated/SEA202210150/fielding.csv +40 -0
  199. brlib-0.4.0/tests/expected/games/updated/SEA202210150/info.csv +2 -0
  200. brlib-0.4.0/tests/expected/games/updated/SEA202210150/pitching.csv +21 -0
  201. brlib-0.4.0/tests/expected/games/updated/SLN190710051/batting.csv +22 -0
  202. brlib-0.4.0/tests/expected/games/updated/SLN190710051/fielding.csv +22 -0
  203. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SLN190710051/info.csv +2 -2
  204. brlib-0.4.0/tests/expected/games/updated/SLN190710051/pitching.csv +5 -0
  205. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/batting.csv +5 -5
  206. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/fielding.csv +39 -39
  207. brlib-0.4.0/tests/expected/players/original/aloumo01/info.csv +2 -0
  208. brlib-0.4.0/tests/expected/players/original/aloumo01/teams.json +1 -0
  209. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/batting.csv +4 -4
  210. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/fielding.csv +2 -2
  211. brlib-0.4.0/tests/expected/players/original/bendech01/info.csv +2 -0
  212. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/pitching.csv +18 -18
  213. brlib-0.4.0/tests/expected/players/original/bendech01/teams.json +1 -0
  214. brlib-0.4.0/tests/expected/players/original/colli05/info.csv +2 -0
  215. brlib-0.4.0/tests/expected/players/original/colli05/teams.json +1 -0
  216. brlib-0.4.0/tests/expected/players/original/cormirh01/batting.csv +31 -0
  217. brlib-0.4.0/tests/expected/players/original/cormirh01/bling.csv +2 -0
  218. brlib-0.4.0/tests/expected/players/original/cormirh01/fielding.csv +23 -0
  219. brlib-0.4.0/tests/expected/players/original/cormirh01/info.csv +2 -0
  220. brlib-0.4.0/tests/expected/players/original/cormirh01/pitching.csv +32 -0
  221. brlib-0.4.0/tests/expected/players/original/cormirh01/teams.json +1 -0
  222. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/fielding.csv +15 -15
  223. brlib-0.4.0/tests/expected/players/original/gibsojo99/info.csv +2 -0
  224. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/pitching.csv +2 -2
  225. brlib-0.4.0/tests/expected/players/original/gibsojo99/teams.json +1 -0
  226. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/batting.csv +3 -3
  227. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/fielding.csv +10 -10
  228. brlib-0.4.0/tests/expected/players/original/hallaro01/info.csv +2 -0
  229. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/pitching.csv +17 -17
  230. brlib-0.4.0/tests/expected/players/original/hallaro01/teams.json +1 -0
  231. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/batting.csv +12 -12
  232. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/fielding.csv +41 -41
  233. brlib-0.4.0/tests/expected/players/original/jacksre01/info.csv +2 -0
  234. brlib-0.4.0/tests/expected/players/original/jacksre01/teams.json +1 -0
  235. brlib-0.4.0/tests/expected/players/original/kigerma01/info.csv +2 -0
  236. brlib-0.4.0/tests/expected/players/original/kigerma01/teams.json +1 -0
  237. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/pressry01/fielding.csv +18 -18
  238. brlib-0.4.0/tests/expected/players/original/pressry01/info.csv +2 -0
  239. brlib-0.4.0/tests/expected/players/original/pressry01/pitching.csv +34 -0
  240. brlib-0.4.0/tests/expected/players/original/pressry01/teams.json +1 -0
  241. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/batting.csv +2 -2
  242. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/fielding.csv +17 -17
  243. brlib-0.4.0/tests/expected/players/original/vogtst01/info.csv +2 -0
  244. brlib-0.4.0/tests/expected/players/original/vogtst01/relatives.json +1 -0
  245. brlib-0.4.0/tests/expected/players/original/vogtst01/teams.json +1 -0
  246. brlib-0.4.0/tests/expected/players/updated/aloumo01/info.csv +2 -0
  247. brlib-0.4.0/tests/expected/players/updated/bendech01/info.csv +2 -0
  248. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/bendech01/pitching.csv +18 -18
  249. brlib-0.4.0/tests/expected/players/updated/colli05/info.csv +2 -0
  250. brlib-0.4.0/tests/expected/players/updated/cormirh01/info.csv +2 -0
  251. brlib-0.4.0/tests/expected/players/updated/cormirh01/pitching.csv +32 -0
  252. brlib-0.4.0/tests/expected/players/updated/gibsojo99/info.csv +2 -0
  253. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/gibsojo99/pitching.csv +2 -2
  254. brlib-0.4.0/tests/expected/players/updated/hallaro01/info.csv +2 -0
  255. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/hallaro01/pitching.csv +17 -17
  256. brlib-0.4.0/tests/expected/players/updated/jacksre01/info.csv +2 -0
  257. brlib-0.4.0/tests/expected/players/updated/kigerma01/info.csv +2 -0
  258. brlib-0.4.0/tests/expected/players/updated/pressry01/info.csv +2 -0
  259. brlib-0.4.0/tests/expected/players/updated/pressry01/pitching.csv +34 -0
  260. brlib-0.4.0/tests/expected/players/updated/vogtst01/info.csv +2 -0
  261. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/fielding.csv +6 -6
  262. brlib-0.4.0/tests/expected/teams/original/BBB1924/info.csv +2 -0
  263. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/pitching.csv +6 -6
  264. brlib-0.4.0/tests/expected/teams/original/BEG1939/info.csv +2 -0
  265. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/pitching.csv +10 -10
  266. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/CHC2020/fielding.csv +33 -33
  267. brlib-0.4.0/tests/expected/teams/original/CHC2020/info.csv +2 -0
  268. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/CHC2020/pitching.csv +24 -24
  269. brlib-0.4.0/tests/expected/teams/original/COT1932/info.csv +2 -0
  270. {brlib-0.2.0/tests/expected/teams/updated → brlib-0.4.0/tests/expected/teams/original}/HOU2022/fielding.csv +34 -34
  271. brlib-0.4.0/tests/expected/teams/original/HOU2022/info.csv +2 -0
  272. brlib-0.4.0/tests/expected/teams/original/HOU2022/pitching.csv +37 -0
  273. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/fielding.csv +27 -27
  274. brlib-0.4.0/tests/expected/teams/original/LAA2012/info.csv +2 -0
  275. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/pitching.csv +15 -15
  276. brlib-0.4.0/tests/expected/teams/original/MIN2019/batting.csv +67 -0
  277. brlib-0.4.0/tests/expected/teams/original/MIN2019/fielding.csv +76 -0
  278. brlib-0.4.0/tests/expected/teams/original/MIN2019/info.csv +2 -0
  279. brlib-0.4.0/tests/expected/teams/original/MIN2019/pitching.csv +46 -0
  280. brlib-0.4.0/tests/expected/teams/original/MIN2019/players.json +1 -0
  281. {brlib-0.2.0/tests/expected/teams/updated → brlib-0.4.0/tests/expected/teams/original}/SEA2012/fielding.csv +29 -29
  282. brlib-0.4.0/tests/expected/teams/original/SEA2012/info.csv +2 -0
  283. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/SEA2012/pitching.csv +13 -13
  284. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/WSH1904/fielding.csv +1 -1
  285. brlib-0.4.0/tests/expected/teams/original/WSH1904/info.csv +2 -0
  286. brlib-0.4.0/tests/expected/teams/original/WSH1904/pitching.csv +11 -0
  287. brlib-0.4.0/tests/expected/teams/records.csv +9 -0
  288. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/BBB1924/fielding.csv +6 -6
  289. brlib-0.4.0/tests/expected/teams/updated/BBB1924/info.csv +2 -0
  290. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/BBB1924/pitching.csv +6 -6
  291. brlib-0.4.0/tests/expected/teams/updated/BEG1939/info.csv +2 -0
  292. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/BEG1939/pitching.csv +10 -10
  293. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/CHC2020/fielding.csv +33 -33
  294. brlib-0.4.0/tests/expected/teams/updated/CHC2020/info.csv +2 -0
  295. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/CHC2020/pitching.csv +24 -24
  296. brlib-0.4.0/tests/expected/teams/updated/COT1932/info.csv +2 -0
  297. {brlib-0.2.0/tests/expected/teams/original → brlib-0.4.0/tests/expected/teams/updated}/HOU2022/fielding.csv +34 -34
  298. brlib-0.4.0/tests/expected/teams/updated/HOU2022/info.csv +2 -0
  299. brlib-0.4.0/tests/expected/teams/updated/HOU2022/pitching.csv +37 -0
  300. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/LAA2012/fielding.csv +27 -27
  301. brlib-0.4.0/tests/expected/teams/updated/LAA2012/info.csv +2 -0
  302. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/LAA2012/pitching.csv +15 -15
  303. brlib-0.4.0/tests/expected/teams/updated/MIN2019/batting.csv +67 -0
  304. brlib-0.4.0/tests/expected/teams/updated/MIN2019/fielding.csv +76 -0
  305. brlib-0.4.0/tests/expected/teams/updated/MIN2019/info.csv +2 -0
  306. brlib-0.4.0/tests/expected/teams/updated/MIN2019/pitching.csv +46 -0
  307. {brlib-0.2.0/tests/expected/teams/original → brlib-0.4.0/tests/expected/teams/updated}/SEA2012/fielding.csv +29 -29
  308. brlib-0.4.0/tests/expected/teams/updated/SEA2012/info.csv +2 -0
  309. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/SEA2012/pitching.csv +13 -13
  310. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/WSH1904/fielding.csv +1 -1
  311. brlib-0.4.0/tests/expected/teams/updated/WSH1904/info.csv +2 -0
  312. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/WSH1904/pitching.csv +8 -8
  313. brlib-0.4.0/tests/get_expected.py +43 -0
  314. brlib-0.4.0/tests/test_all_players.py +36 -0
  315. brlib-0.4.0/tests/test_find_asg.py +41 -0
  316. brlib-0.4.0/tests/test_find_games.py +111 -0
  317. brlib-0.4.0/tests/test_find_teams.py +76 -0
  318. brlib-0.4.0/tests/test_game.py +147 -0
  319. brlib-0.4.0/tests/test_game_set.py +89 -0
  320. brlib-0.4.0/tests/test_player.py +89 -0
  321. brlib-0.4.0/tests/test_player_set.py +54 -0
  322. brlib-0.4.0/tests/test_team.py +90 -0
  323. brlib-0.4.0/tests/test_team_set.py +63 -0
  324. brlib-0.4.0/uv.lock +840 -0
  325. brlib-0.2.0/.github/workflows/test.yml +0 -34
  326. brlib-0.2.0/PKG-INFO +0 -75
  327. brlib-0.2.0/src/brlib/_helpers/__init__.py +0 -0
  328. brlib-0.2.0/src/brlib/_helpers/inputs.py +0 -148
  329. brlib-0.2.0/src/brlib/_helpers/requests_manager.py +0 -62
  330. brlib-0.2.0/src/brlib/_helpers/utils.py +0 -184
  331. brlib-0.2.0/src/brlib/get_games.py +0 -74
  332. brlib-0.2.0/src/brlib/get_players.py +0 -70
  333. brlib-0.2.0/src/brlib/get_teams.py +0 -70
  334. brlib-0.2.0/tests/_helpers/test_abbreviations_manager.py +0 -53
  335. brlib-0.2.0/tests/conftest.py +0 -138
  336. brlib-0.2.0/tests/expected/games/original/1961-allstar-game-1/batting.csv +0 -46
  337. brlib-0.2.0/tests/expected/games/original/1961-allstar-game-1/fielding.csv +0 -41
  338. brlib-0.2.0/tests/expected/games/original/1961-allstar-game-1/info.csv +0 -2
  339. brlib-0.2.0/tests/expected/games/original/1961-allstar-game-1/pitching.csv +0 -15
  340. brlib-0.2.0/tests/expected/games/original/2025-allstar-game/batting.csv +0 -42
  341. brlib-0.2.0/tests/expected/games/original/2025-allstar-game/fielding.csv +0 -60
  342. brlib-0.2.0/tests/expected/games/original/2025-allstar-game/info.csv +0 -2
  343. brlib-0.2.0/tests/expected/games/original/2025-allstar-game/pitching.csv +0 -27
  344. brlib-0.2.0/tests/expected/games/original/2025-allstar-game/team_info.csv +0 -3
  345. brlib-0.2.0/tests/expected/games/original/ANA202305090/fielding.csv +0 -25
  346. brlib-0.2.0/tests/expected/games/original/ANA202305090/pitching.csv +0 -7
  347. brlib-0.2.0/tests/expected/games/original/ANA202305090/teams.json +0 -1
  348. brlib-0.2.0/tests/expected/games/original/BOS201708250/fielding.csv +0 -32
  349. brlib-0.2.0/tests/expected/games/original/BOS201708250/pitching.csv +0 -11
  350. brlib-0.2.0/tests/expected/games/original/BOS201708250/teams.json +0 -1
  351. brlib-0.2.0/tests/expected/games/original/FLO199407290/fielding.csv +0 -32
  352. brlib-0.2.0/tests/expected/games/original/FLO199407290/pitching.csv +0 -12
  353. brlib-0.2.0/tests/expected/games/original/FLO199407290/teams.json +0 -1
  354. brlib-0.2.0/tests/expected/games/original/MLA190105301/batting.csv +0 -21
  355. brlib-0.2.0/tests/expected/games/original/MLA190105301/fielding.csv +0 -21
  356. brlib-0.2.0/tests/expected/games/original/MLA190105301/pitching.csv +0 -5
  357. brlib-0.2.0/tests/expected/games/original/MLA190105301/teams.json +0 -1
  358. brlib-0.2.0/tests/expected/games/original/NYN200908230/batting.csv +0 -31
  359. brlib-0.2.0/tests/expected/games/original/NYN200908230/fielding.csv +0 -28
  360. brlib-0.2.0/tests/expected/games/original/NYN200908230/pitching.csv +0 -12
  361. brlib-0.2.0/tests/expected/games/original/NYN200908230/teams.json +0 -1
  362. brlib-0.2.0/tests/expected/games/original/PHI202211020/batting.csv +0 -22
  363. brlib-0.2.0/tests/expected/games/original/PHI202211020/fielding.csv +0 -30
  364. brlib-0.2.0/tests/expected/games/original/PHI202211020/info.csv +0 -2
  365. brlib-0.2.0/tests/expected/games/original/PHI202211020/pitching.csv +0 -13
  366. brlib-0.2.0/tests/expected/games/original/PHI202211020/teams.json +0 -1
  367. brlib-0.2.0/tests/expected/games/original/PIT192010023/fielding.csv +0 -22
  368. brlib-0.2.0/tests/expected/games/original/PIT192010023/pitching.csv +0 -5
  369. brlib-0.2.0/tests/expected/games/original/PIT192010023/teams.json +0 -1
  370. brlib-0.2.0/tests/expected/games/original/SEA197805231/fielding.csv +0 -24
  371. brlib-0.2.0/tests/expected/games/original/SEA197805231/pitching.csv +0 -6
  372. brlib-0.2.0/tests/expected/games/original/SEA197805231/teams.json +0 -1
  373. brlib-0.2.0/tests/expected/games/original/SEA201208150/fielding.csv +0 -22
  374. brlib-0.2.0/tests/expected/games/original/SEA201208150/pitching.csv +0 -6
  375. brlib-0.2.0/tests/expected/games/original/SEA201208150/teams.json +0 -1
  376. brlib-0.2.0/tests/expected/games/original/SEA201804190/fielding.csv +0 -30
  377. brlib-0.2.0/tests/expected/games/original/SEA201804190/pitching.csv +0 -11
  378. brlib-0.2.0/tests/expected/games/original/SEA201804190/teams.json +0 -1
  379. brlib-0.2.0/tests/expected/games/original/SEA201905270/fielding.csv +0 -27
  380. brlib-0.2.0/tests/expected/games/original/SEA201905270/pitching.csv +0 -11
  381. brlib-0.2.0/tests/expected/games/original/SEA201905270/teams.json +0 -1
  382. brlib-0.2.0/tests/expected/games/original/SEA202210150/batting.csv +0 -26
  383. brlib-0.2.0/tests/expected/games/original/SEA202210150/fielding.csv +0 -40
  384. brlib-0.2.0/tests/expected/games/original/SEA202210150/info.csv +0 -2
  385. brlib-0.2.0/tests/expected/games/original/SEA202210150/pitching.csv +0 -21
  386. brlib-0.2.0/tests/expected/games/original/SEA202210150/teams.json +0 -1
  387. brlib-0.2.0/tests/expected/games/original/SLN190710051/batting.csv +0 -22
  388. brlib-0.2.0/tests/expected/games/original/SLN190710051/fielding.csv +0 -22
  389. brlib-0.2.0/tests/expected/games/original/SLN190710051/pitching.csv +0 -5
  390. brlib-0.2.0/tests/expected/games/original/SLN190710051/teams.json +0 -1
  391. brlib-0.2.0/tests/expected/games/updated/1961-allstar-game-1/batting.csv +0 -46
  392. brlib-0.2.0/tests/expected/games/updated/1961-allstar-game-1/fielding.csv +0 -41
  393. brlib-0.2.0/tests/expected/games/updated/1961-allstar-game-1/info.csv +0 -2
  394. brlib-0.2.0/tests/expected/games/updated/1961-allstar-game-1/pitching.csv +0 -15
  395. brlib-0.2.0/tests/expected/games/updated/2025-allstar-game/batting.csv +0 -42
  396. brlib-0.2.0/tests/expected/games/updated/2025-allstar-game/fielding.csv +0 -60
  397. brlib-0.2.0/tests/expected/games/updated/2025-allstar-game/info.csv +0 -2
  398. brlib-0.2.0/tests/expected/games/updated/2025-allstar-game/pitching.csv +0 -27
  399. brlib-0.2.0/tests/expected/games/updated/2025-allstar-game/team_info.csv +0 -3
  400. brlib-0.2.0/tests/expected/games/updated/ANA202305090/fielding.csv +0 -25
  401. brlib-0.2.0/tests/expected/games/updated/ANA202305090/pitching.csv +0 -7
  402. brlib-0.2.0/tests/expected/games/updated/BOS201708250/fielding.csv +0 -32
  403. brlib-0.2.0/tests/expected/games/updated/BOS201708250/pitching.csv +0 -11
  404. brlib-0.2.0/tests/expected/games/updated/FLO199407290/fielding.csv +0 -32
  405. brlib-0.2.0/tests/expected/games/updated/FLO199407290/pitching.csv +0 -12
  406. brlib-0.2.0/tests/expected/games/updated/MLA190105301/batting.csv +0 -21
  407. brlib-0.2.0/tests/expected/games/updated/MLA190105301/fielding.csv +0 -21
  408. brlib-0.2.0/tests/expected/games/updated/MLA190105301/pitching.csv +0 -5
  409. brlib-0.2.0/tests/expected/games/updated/NYN200908230/batting.csv +0 -31
  410. brlib-0.2.0/tests/expected/games/updated/NYN200908230/fielding.csv +0 -28
  411. brlib-0.2.0/tests/expected/games/updated/NYN200908230/pitching.csv +0 -12
  412. brlib-0.2.0/tests/expected/games/updated/PHI202211020/batting.csv +0 -22
  413. brlib-0.2.0/tests/expected/games/updated/PHI202211020/fielding.csv +0 -30
  414. brlib-0.2.0/tests/expected/games/updated/PHI202211020/info.csv +0 -2
  415. brlib-0.2.0/tests/expected/games/updated/PHI202211020/pitching.csv +0 -13
  416. brlib-0.2.0/tests/expected/games/updated/PIT192010023/fielding.csv +0 -22
  417. brlib-0.2.0/tests/expected/games/updated/PIT192010023/pitching.csv +0 -5
  418. brlib-0.2.0/tests/expected/games/updated/SEA197805231/fielding.csv +0 -24
  419. brlib-0.2.0/tests/expected/games/updated/SEA197805231/pitching.csv +0 -6
  420. brlib-0.2.0/tests/expected/games/updated/SEA201208150/fielding.csv +0 -22
  421. brlib-0.2.0/tests/expected/games/updated/SEA201208150/pitching.csv +0 -6
  422. brlib-0.2.0/tests/expected/games/updated/SEA201804190/fielding.csv +0 -30
  423. brlib-0.2.0/tests/expected/games/updated/SEA201804190/pitching.csv +0 -11
  424. brlib-0.2.0/tests/expected/games/updated/SEA201905270/fielding.csv +0 -27
  425. brlib-0.2.0/tests/expected/games/updated/SEA201905270/pitching.csv +0 -11
  426. brlib-0.2.0/tests/expected/games/updated/SEA202210150/batting.csv +0 -26
  427. brlib-0.2.0/tests/expected/games/updated/SEA202210150/fielding.csv +0 -40
  428. brlib-0.2.0/tests/expected/games/updated/SEA202210150/info.csv +0 -2
  429. brlib-0.2.0/tests/expected/games/updated/SEA202210150/pitching.csv +0 -21
  430. brlib-0.2.0/tests/expected/games/updated/SLN190710051/batting.csv +0 -22
  431. brlib-0.2.0/tests/expected/games/updated/SLN190710051/fielding.csv +0 -22
  432. brlib-0.2.0/tests/expected/games/updated/SLN190710051/pitching.csv +0 -5
  433. brlib-0.2.0/tests/expected/players/original/aloumo01/info.csv +0 -2
  434. brlib-0.2.0/tests/expected/players/original/aloumo01/teams.json +0 -1
  435. brlib-0.2.0/tests/expected/players/original/bendech01/info.csv +0 -2
  436. brlib-0.2.0/tests/expected/players/original/bendech01/teams.json +0 -1
  437. brlib-0.2.0/tests/expected/players/original/colli05/info.csv +0 -2
  438. brlib-0.2.0/tests/expected/players/original/colli05/teams.json +0 -1
  439. brlib-0.2.0/tests/expected/players/original/gibsojo99/info.csv +0 -2
  440. brlib-0.2.0/tests/expected/players/original/gibsojo99/teams.json +0 -1
  441. brlib-0.2.0/tests/expected/players/original/hallaro01/info.csv +0 -2
  442. brlib-0.2.0/tests/expected/players/original/hallaro01/teams.json +0 -1
  443. brlib-0.2.0/tests/expected/players/original/jacksre01/info.csv +0 -2
  444. brlib-0.2.0/tests/expected/players/original/jacksre01/teams.json +0 -1
  445. brlib-0.2.0/tests/expected/players/original/kigerma01/info.csv +0 -2
  446. brlib-0.2.0/tests/expected/players/original/kigerma01/teams.json +0 -1
  447. brlib-0.2.0/tests/expected/players/original/pressry01/info.csv +0 -2
  448. brlib-0.2.0/tests/expected/players/original/pressry01/pitching.csv +0 -34
  449. brlib-0.2.0/tests/expected/players/original/pressry01/teams.json +0 -1
  450. brlib-0.2.0/tests/expected/players/original/vogtst01/info.csv +0 -2
  451. brlib-0.2.0/tests/expected/players/original/vogtst01/teams.json +0 -1
  452. brlib-0.2.0/tests/expected/players/updated/aloumo01/info.csv +0 -2
  453. brlib-0.2.0/tests/expected/players/updated/bendech01/info.csv +0 -2
  454. brlib-0.2.0/tests/expected/players/updated/colli05/info.csv +0 -2
  455. brlib-0.2.0/tests/expected/players/updated/gibsojo99/info.csv +0 -2
  456. brlib-0.2.0/tests/expected/players/updated/hallaro01/info.csv +0 -2
  457. brlib-0.2.0/tests/expected/players/updated/jacksre01/info.csv +0 -2
  458. brlib-0.2.0/tests/expected/players/updated/kigerma01/info.csv +0 -2
  459. brlib-0.2.0/tests/expected/players/updated/pressry01/info.csv +0 -2
  460. brlib-0.2.0/tests/expected/players/updated/pressry01/pitching.csv +0 -34
  461. brlib-0.2.0/tests/expected/players/updated/vogtst01/info.csv +0 -2
  462. brlib-0.2.0/tests/expected/teams/original/BBB1924/info.csv +0 -2
  463. brlib-0.2.0/tests/expected/teams/original/BEG1939/info.csv +0 -2
  464. brlib-0.2.0/tests/expected/teams/original/CHC2020/info.csv +0 -2
  465. brlib-0.2.0/tests/expected/teams/original/COT1932/info.csv +0 -2
  466. brlib-0.2.0/tests/expected/teams/original/HOU2022/info.csv +0 -2
  467. brlib-0.2.0/tests/expected/teams/original/HOU2022/pitching.csv +0 -37
  468. brlib-0.2.0/tests/expected/teams/original/LAA2012/info.csv +0 -2
  469. brlib-0.2.0/tests/expected/teams/original/SEA2012/info.csv +0 -2
  470. brlib-0.2.0/tests/expected/teams/original/WSH1904/info.csv +0 -2
  471. brlib-0.2.0/tests/expected/teams/original/WSH1904/pitching.csv +0 -11
  472. brlib-0.2.0/tests/expected/teams/updated/BBB1924/info.csv +0 -2
  473. brlib-0.2.0/tests/expected/teams/updated/BEG1939/info.csv +0 -2
  474. brlib-0.2.0/tests/expected/teams/updated/CHC2020/info.csv +0 -2
  475. brlib-0.2.0/tests/expected/teams/updated/COT1932/info.csv +0 -2
  476. brlib-0.2.0/tests/expected/teams/updated/HOU2022/info.csv +0 -2
  477. brlib-0.2.0/tests/expected/teams/updated/HOU2022/pitching.csv +0 -37
  478. brlib-0.2.0/tests/expected/teams/updated/LAA2012/info.csv +0 -2
  479. brlib-0.2.0/tests/expected/teams/updated/SEA2012/info.csv +0 -2
  480. brlib-0.2.0/tests/expected/teams/updated/WSH1904/info.csv +0 -2
  481. brlib-0.2.0/tests/test_all_major_leaguers.py +0 -23
  482. brlib-0.2.0/tests/test_game.py +0 -119
  483. brlib-0.2.0/tests/test_player.py +0 -79
  484. brlib-0.2.0/tests/test_team.py +0 -75
  485. {brlib-0.2.0 → brlib-0.4.0}/LICENSE.txt +0 -0
  486. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/linescore.csv +0 -0
  487. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/players.json +0 -0
  488. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/team_info.csv +0 -0
  489. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/teams.json +0 -0
  490. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/ump_info.csv +0 -0
  491. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/linescore.csv +0 -0
  492. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/players.json +0 -0
  493. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/teams.json +0 -0
  494. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/ump_info.csv +0 -0
  495. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/linescore.csv +0 -0
  496. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/players.json +0 -0
  497. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/team_info.csv +0 -0
  498. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/ump_info.csv +0 -0
  499. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/linescore.csv +0 -0
  500. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/players.json +0 -0
  501. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/team_info.csv +0 -0
  502. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/ump_info.csv +0 -0
  503. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/linescore.csv +0 -0
  504. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/players.json +0 -0
  505. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/team_info.csv +0 -0
  506. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/ump_info.csv +0 -0
  507. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/linescore.csv +0 -0
  508. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/players.json +0 -0
  509. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/team_info.csv +0 -0
  510. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/ump_info.csv +0 -0
  511. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/linescore.csv +0 -0
  512. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/players.json +0 -0
  513. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/team_info.csv +0 -0
  514. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/ump_info.csv +0 -0
  515. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/linescore.csv +0 -0
  516. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/players.json +0 -0
  517. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/team_info.csv +0 -0
  518. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/ump_info.csv +0 -0
  519. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/linescore.csv +0 -0
  520. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/players.json +0 -0
  521. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/team_info.csv +0 -0
  522. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/ump_info.csv +0 -0
  523. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/linescore.csv +0 -0
  524. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/players.json +0 -0
  525. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/team_info.csv +0 -0
  526. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/ump_info.csv +0 -0
  527. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/linescore.csv +0 -0
  528. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/players.json +0 -0
  529. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/team_info.csv +0 -0
  530. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/ump_info.csv +0 -0
  531. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/linescore.csv +0 -0
  532. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/players.json +0 -0
  533. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/team_info.csv +0 -0
  534. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/ump_info.csv +0 -0
  535. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/linescore.csv +0 -0
  536. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/players.json +0 -0
  537. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/team_info.csv +0 -0
  538. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/ump_info.csv +0 -0
  539. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/linescore.csv +0 -0
  540. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/players.json +0 -0
  541. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/team_info.csv +0 -0
  542. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/ump_info.csv +0 -0
  543. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/linescore.csv +0 -0
  544. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/players.json +0 -0
  545. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/team_info.csv +0 -0
  546. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/ump_info.csv +0 -0
  547. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/1961-allstar-game-1/linescore.csv +0 -0
  548. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/1961-allstar-game-1/team_info.csv +0 -0
  549. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/2025-allstar-game/linescore.csv +0 -0
  550. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/ANA202305090/linescore.csv +0 -0
  551. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/ANA202305090/team_info.csv +0 -0
  552. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/BOS201708250/linescore.csv +0 -0
  553. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/BOS201708250/team_info.csv +0 -0
  554. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/FLO199407290/linescore.csv +0 -0
  555. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/FLO199407290/team_info.csv +0 -0
  556. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/MLA190105301/linescore.csv +0 -0
  557. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/MLA190105301/team_info.csv +0 -0
  558. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/NYN200908230/linescore.csv +0 -0
  559. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/NYN200908230/team_info.csv +0 -0
  560. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/PHI202211020/linescore.csv +0 -0
  561. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/PHI202211020/team_info.csv +0 -0
  562. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/PIT192010023/linescore.csv +0 -0
  563. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/PIT192010023/team_info.csv +0 -0
  564. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/linescore.csv +0 -0
  565. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/team_info.csv +0 -0
  566. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201208150/linescore.csv +0 -0
  567. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201208150/team_info.csv +0 -0
  568. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201804190/linescore.csv +0 -0
  569. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201804190/team_info.csv +0 -0
  570. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201905270/linescore.csv +0 -0
  571. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201905270/team_info.csv +0 -0
  572. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA202210150/linescore.csv +0 -0
  573. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SEA202210150/team_info.csv +0 -0
  574. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SLN190710051/linescore.csv +0 -0
  575. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/games/updated/SLN190710051/team_info.csv +0 -0
  576. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/bling.csv +0 -0
  577. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/pitching.csv +0 -0
  578. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/relatives.json +0 -0
  579. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/bling.csv +0 -0
  580. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/relatives.json +0 -0
  581. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/colli05/batting.csv +0 -0
  582. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/colli05/bling.csv +0 -0
  583. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/colli05/fielding.csv +0 -0
  584. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/colli05/pitching.csv +0 -0
  585. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/colli05/relatives.json +0 -0
  586. {brlib-0.2.0/tests/expected/players/original/gibsojo99 → brlib-0.4.0/tests/expected/players/original/cormirh01}/relatives.json +0 -0
  587. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/batting.csv +0 -0
  588. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/bling.csv +0 -0
  589. {brlib-0.2.0/tests/expected/players/original/hallaro01 → brlib-0.4.0/tests/expected/players/original/gibsojo99}/relatives.json +0 -0
  590. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/bling.csv +0 -0
  591. {brlib-0.2.0/tests/expected/players/original/kigerma01 → brlib-0.4.0/tests/expected/players/original/hallaro01}/relatives.json +0 -0
  592. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/bling.csv +0 -0
  593. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/pitching.csv +0 -0
  594. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/relatives.json +0 -0
  595. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/batting.csv +0 -0
  596. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/bling.csv +0 -0
  597. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/fielding.csv +0 -0
  598. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/pitching.csv +0 -0
  599. {brlib-0.2.0/tests/expected/players/original/pressry01 → brlib-0.4.0/tests/expected/players/original/kigerma01}/relatives.json +0 -0
  600. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/pressry01/batting.csv +0 -0
  601. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/pressry01/bling.csv +0 -0
  602. {brlib-0.2.0/tests/expected/players/original/vogtst01 → brlib-0.4.0/tests/expected/players/original/pressry01}/relatives.json +0 -0
  603. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/bling.csv +0 -0
  604. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/pitching.csv +0 -0
  605. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/aloumo01/pitching.csv +0 -0
  606. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/colli05/pitching.csv +0 -0
  607. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/jacksre01/pitching.csv +0 -0
  608. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/kigerma01/pitching.csv +0 -0
  609. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/players/updated/vogtst01/pitching.csv +0 -0
  610. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/batting.csv +0 -0
  611. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/players.json +0 -0
  612. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/batting.csv +0 -0
  613. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/fielding.csv +0 -0
  614. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/players.json +0 -0
  615. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/CHC2020/batting.csv +0 -0
  616. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/CHC2020/players.json +0 -0
  617. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/batting.csv +0 -0
  618. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/fielding.csv +0 -0
  619. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/pitching.csv +0 -0
  620. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/players.json +0 -0
  621. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/HOU2022/batting.csv +0 -0
  622. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/HOU2022/players.json +0 -0
  623. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/batting.csv +0 -0
  624. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/players.json +0 -0
  625. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/SEA2012/batting.csv +0 -0
  626. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/SEA2012/players.json +0 -0
  627. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/WSH1904/batting.csv +0 -0
  628. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/original/WSH1904/players.json +0 -0
  629. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/BBB1924/batting.csv +0 -0
  630. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/BEG1939/batting.csv +0 -0
  631. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/BEG1939/fielding.csv +0 -0
  632. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/CHC2020/batting.csv +0 -0
  633. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/COT1932/batting.csv +0 -0
  634. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/COT1932/fielding.csv +0 -0
  635. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/COT1932/pitching.csv +0 -0
  636. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/HOU2022/batting.csv +0 -0
  637. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/LAA2012/batting.csv +0 -0
  638. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/SEA2012/batting.csv +0 -0
  639. {brlib-0.2.0 → brlib-0.4.0}/tests/expected/teams/updated/WSH1904/batting.csv +0 -0
@@ -0,0 +1,47 @@
1
+ name: Full Tests
2
+
3
+ on:
4
+ # to be run 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.11", "3.12", "3.13", "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 3.10 wheel for lxml 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 pip install --resolution ${{ matrix.resolution }} -e .[dev]
45
+
46
+ - name: Run pytest
47
+ run: uv run pytest
@@ -16,7 +16,7 @@ jobs:
16
16
  - name: Set up Python
17
17
  uses: actions/setup-python@v6
18
18
  with:
19
- python-version: "3.x"
19
+ python-version: "3.14"
20
20
 
21
21
  - name: Install pypa/build
22
22
  run: python3 -m pip install build --user
@@ -25,7 +25,7 @@ jobs:
25
25
  run: python3 -m build
26
26
 
27
27
  - name: Store the distribution packages
28
- uses: actions/upload-artifact@v5
28
+ uses: actions/upload-artifact@v6
29
29
  with:
30
30
  name: python-package-distributions
31
31
  path: dist/
@@ -41,10 +41,10 @@ jobs:
41
41
  id-token: write
42
42
 
43
43
  steps:
44
- - name: Download the dists
45
- uses: actions/download-artifact@v6
46
- with:
47
- name: python-package-distributions
48
- path: dist/
49
- - name: Publish distribution
50
- uses: pypa/gh-action-pypi-publish@release/v1
44
+ - name: Download the dists
45
+ uses: actions/download-artifact@v6
46
+ with:
47
+ name: python-package-distributions
48
+ path: dist/
49
+ - name: Publish distribution
50
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -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, 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 pip install --resolution highest -e .[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
49
+ run: uv run pytest
brlib-0.4.0/PKG-INFO ADDED
@@ -0,0 +1,91 @@
1
+ Metadata-Version: 2.4
2
+ Name: brlib
3
+ Version: 0.4.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.15.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
+ 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
+ Description-Content-Type: text/markdown
42
+
43
+ # brlib
44
+
45
+ [![Tests](https://github.com/john-bieren/brlib/actions/workflows/test.yml/badge.svg)](https://github.com/john-bieren/brlib/actions/workflows/test.yml)
46
+ [![PyPI Latest Release](https://img.shields.io/pypi/v/brlib?label=PyPI&logo=pypi&logoColor=ffe873&color=0073b7)](https://pypi.org/project/brlib)
47
+ [![Python Versions](https://img.shields.io/pypi/pyversions/brlib?label=Python%20Versions)](https://pypi.org/project/brlib)
48
+ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
49
+ [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
50
+
51
+ A library for collecting baseball statistics from
52
+ [Baseball Reference](https://www.baseball-reference.com).
53
+
54
+ > [!IMPORTANT]
55
+ > brlib is in beta, breaking changes are possible until the release of version 1.
56
+
57
+ ## Key Features
58
+
59
+ * `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.
61
+ * Aggregate these into `GameSet`, `PlayerSet`, or `TeamSet` classes, which have similar attributes,
62
+ 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).
65
+
66
+ Learn more by reading the documentation on the [wiki](https://github.com/john-bieren/brlib/wiki).
67
+
68
+ ## Install
69
+
70
+ brlib can be installed using pip:
71
+
72
+ ```
73
+ pip install brlib
74
+ ```
75
+
76
+ or by cloning this repo, in which case you'll want to install the development dependencies as well:
77
+
78
+ ```
79
+ pip install -e .[dev]
80
+ ```
81
+
82
+ Once installed, you can import brlib into your Python scripts:
83
+
84
+ ```python
85
+ import brlib as br
86
+ ```
87
+
88
+ ## Data Use
89
+
90
+ Since brlib gathers data from Baseball Reference, your use of this data is subject to their
91
+ [data use policy](https://www.sports-reference.com/data_use.html).
@@ -2,17 +2,24 @@
2
2
 
3
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
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/)
5
8
 
6
- A library for collecting baseball statistics from [Baseball Reference](https://www.baseball-reference.com).
9
+ A library for collecting baseball statistics from
10
+ [Baseball Reference](https://www.baseball-reference.com).
7
11
 
8
12
  > [!IMPORTANT]
9
13
  > brlib is in beta, breaking changes are possible until the release of version 1.
10
14
 
11
15
  ## Key Features
12
16
 
13
- * `Game`, `Player`, and `Team` classes give you easy access to all associated data in one place, with attributes for stats tables, information, and more.
14
- * Aggregate these into `GameSet`, `PlayerSet`, or `TeamSet` classes, which have similar attributes, for easy analysis of larger samples.
15
- * Quickly search for games, players, and teams of interest, and gather their stats without violating the [rate limit](https://www.sports-reference.com/429.html).
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.
19
+ * Aggregate these into `GameSet`, `PlayerSet`, or `TeamSet` classes, which have similar attributes,
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).
16
23
 
17
24
  Learn more by reading the documentation on the [wiki](https://github.com/john-bieren/brlib/wiki).
18
25
 
@@ -24,11 +31,9 @@ brlib can be installed using pip:
24
31
  pip install brlib
25
32
  ```
26
33
 
27
- or from this repo, in which case you'll want to install the development dependencies as well:
34
+ or by cloning this repo, in which case you'll want to install the development dependencies as well:
28
35
 
29
36
  ```
30
- git clone https://github.com/john-bieren/brlib.git
31
- cd brlib
32
37
  pip install -e .[dev]
33
38
  ```
34
39
 
@@ -40,4 +45,5 @@ import brlib as br
40
45
 
41
46
  ## Data Use
42
47
 
43
- Since brlib gathers data from Baseball Reference, your use of this data is subject to their [data use policy](https://www.sports-reference.com/data_use.html).
48
+ Since brlib gathers data from Baseball Reference, your use of this data is subject to their
49
+ [data use policy](https://www.sports-reference.com/data_use.html).
@@ -7,14 +7,14 @@ name = "brlib"
7
7
  description = "A library for collecting baseball statistics from Baseball Reference"
8
8
  authors = [{ name = "John Bieren", email = "jbieren64@gmail.com" }]
9
9
  dynamic = ["version"]
10
- requires-python = ">=3.12"
10
+ requires-python = ">=3.10"
11
11
  dependencies = [
12
- "pandas>=2.3.0,<3.0.0",
13
- "beautifulsoup4>=4.14.0,<5.0.0",
14
- "tqdm>=4.67.1,<5.0.0",
15
- "curl-cffi>=0.13.0,<1.0.0",
16
- "lxml>=6.0.2,<7.0.0",
17
- "platformdirs>=4.5.0,<5.0.0"
12
+ "beautifulsoup4>=4.12.0,<4.15.0",
13
+ "curl-cffi>=0.11.1,<0.15.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
18
  ]
19
19
  readme = "README.md"
20
20
  license = "MIT"
@@ -22,24 +22,36 @@ license-files = ["LICENSE.txt"]
22
22
  classifiers = [
23
23
  "Development Status :: 4 - Beta",
24
24
  "Intended Audience :: Developers",
25
- "Topic :: Software Development :: Libraries :: Python Modules",
25
+ "Intended Audience :: Science/Research",
26
+ "License :: OSI Approved :: MIT License",
27
+ "Operating System :: OS Independent",
26
28
  "Programming Language :: Python",
27
29
  "Programming Language :: Python :: 3",
30
+ "Programming Language :: Python :: 3 :: Only",
31
+ "Programming Language :: Python :: 3.10",
32
+ "Programming Language :: Python :: 3.11",
28
33
  "Programming Language :: Python :: 3.12",
29
34
  "Programming Language :: Python :: 3.13",
30
35
  "Programming Language :: Python :: 3.14",
31
- "Operating System :: OS Independent",
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",
32
40
  ]
33
- keywords = ["baseball reference", "baseball", "baseball stats", "mlb"]
41
+ keywords = ["baseball reference", "baseball", "baseball stats", "mlb", "mlb stats"]
34
42
 
35
43
  [project.optional-dependencies]
36
- dev = ["pytest>=9.0.0"]
44
+ dev = [
45
+ "black==26.3.0",
46
+ "isort==8.0.1",
47
+ "pytest>=7.0.0,<10.0.0",
48
+ ]
37
49
 
38
50
  [project.urls]
39
- Homepage = "https://github.com/john-bieren/brlib"
40
51
  Documentation = "https://github.com/john-bieren/brlib/wiki"
41
- Repository = "https://github.com/john-bieren/brlib.git"
52
+ GitHub = "https://github.com/john-bieren/brlib"
42
53
  Issues = "https://github.com/john-bieren/brlib/issues"
54
+ "Release Notes" = "https://github.com/john-bieren/brlib/releases"
43
55
 
44
56
  [tool.hatch.version]
45
57
  path = "src/brlib/__init__.py"
@@ -47,3 +59,15 @@ path = "src/brlib/__init__.py"
47
59
  [tool.pytest.ini_options]
48
60
  testpaths = ["tests"]
49
61
  pythonpath = ["src"]
62
+
63
+ [tool.black]
64
+ line-length = 100
65
+ target-version = ["py310", "py311", "py312", "py313", "py314"]
66
+
67
+ [tool.isort]
68
+ profile = "black"
69
+ line_length = 100
70
+ known_first_party = ["brlib"]
71
+
72
+ [tool.uv]
73
+ package = true
@@ -0,0 +1,125 @@
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. 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.
8
+ """
9
+
10
+ import json
11
+ from pathlib import Path
12
+
13
+ from tqdm import tqdm
14
+
15
+ import brlib as br
16
+
17
+
18
+ def main():
19
+ """Refreshes the expected data for games, players, and teams to match their current outputs."""
20
+ expected_dir = Path(__file__).parent.parent / "tests" / "expected"
21
+ br.options.add_no_hitters = False
22
+ br.options.update_team_names = False
23
+ br.options.update_venue_names = False
24
+
25
+ tqdm.write("Refreshing expected game data")
26
+ refresh_games(expected_dir / "games")
27
+
28
+ tqdm.write("Refreshing expected player data")
29
+ refresh_players(expected_dir / "players")
30
+
31
+ tqdm.write("Refreshing expected team data")
32
+ refresh_teams(expected_dir / "teams")
33
+
34
+
35
+ def refresh_games(games_dir: Path) -> None:
36
+ """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
42
+
43
+ # refresh original data
44
+ game = br.Game(game_dir.name)
45
+ original_dir = games_dir / "original" / game_dir.name
46
+ game.info.to_csv(original_dir / "info.csv", index=False)
47
+ game.batting.to_csv(original_dir / "batting.csv", index=False)
48
+ game.pitching.to_csv(original_dir / "pitching.csv", index=False)
49
+ game.fielding.to_csv(original_dir / "fielding.csv", index=False)
50
+ game.team_info.to_csv(original_dir / "team_info.csv", index=False)
51
+ game.ump_info.to_csv(original_dir / "ump_info.csv", index=False)
52
+ game.linescore.to_csv(original_dir / "linescore.csv", index=False)
53
+ (original_dir / "players.json").write_text(json.dumps(game.players))
54
+ (original_dir / "teams.json").write_text(json.dumps(game.teams))
55
+
56
+ # refresh updated data
57
+ game.add_no_hitters()
58
+ game.update_team_names()
59
+ game.update_venue_names()
60
+ updated_dir = games_dir / "updated" / game_dir.name
61
+ game.info.to_csv(updated_dir / "info.csv", index=False)
62
+ game.batting.to_csv(updated_dir / "batting.csv", index=False)
63
+ game.pitching.to_csv(updated_dir / "pitching.csv", index=False)
64
+ game.fielding.to_csv(updated_dir / "fielding.csv", index=False)
65
+ game.team_info.to_csv(updated_dir / "team_info.csv", index=False)
66
+ game.linescore.to_csv(updated_dir / "linescore.csv", index=False)
67
+
68
+
69
+ def refresh_players(players_dir: Path) -> None:
70
+ """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
76
+
77
+ # refresh original data
78
+ player = br.Player(player_dir.name)
79
+ original_dir = players_dir / "original" / player_dir.name
80
+ player.info.to_csv(original_dir / "info.csv", index=False)
81
+ player.bling.to_csv(original_dir / "bling.csv", index=False)
82
+ player.batting.to_csv(original_dir / "batting.csv", index=False)
83
+ player.pitching.to_csv(original_dir / "pitching.csv", index=False)
84
+ player.fielding.to_csv(original_dir / "fielding.csv", index=False)
85
+ (original_dir / "relatives.json").write_text(json.dumps(player.relatives))
86
+ (original_dir / "teams.json").write_text(json.dumps(player.teams))
87
+
88
+ # refresh updated data
89
+ player.add_no_hitters()
90
+ player.update_team_names()
91
+ updated_dir = players_dir / "updated" / player_dir.name
92
+ player.info.to_csv(updated_dir / "info.csv", index=False)
93
+ player.pitching.to_csv(updated_dir / "pitching.csv", index=False)
94
+
95
+
96
+ def refresh_teams(teams_dir: Path) -> None:
97
+ """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
103
+
104
+ # refresh original data
105
+ team = br.Team(team_dir.name)
106
+ original_dir = teams_dir / "original" / team_dir.name
107
+ team.info.to_csv(original_dir / "info.csv", index=False)
108
+ team.batting.to_csv(original_dir / "batting.csv", index=False)
109
+ team.pitching.to_csv(original_dir / "pitching.csv", index=False)
110
+ team.fielding.to_csv(original_dir / "fielding.csv", index=False)
111
+ (original_dir / "players.json").write_text(json.dumps(team.players))
112
+
113
+ # refresh updated data
114
+ team.add_no_hitters()
115
+ team.update_team_names()
116
+ team.update_venue_names()
117
+ updated_dir = teams_dir / "updated" / team_dir.name
118
+ team.info.to_csv(updated_dir / "info.csv", index=False)
119
+ team.batting.to_csv(updated_dir / "batting.csv", index=False)
120
+ team.pitching.to_csv(updated_dir / "pitching.csv", index=False)
121
+ team.fielding.to_csv(updated_dir / "fielding.csv", index=False)
122
+
123
+
124
+ if __name__ == "__main__":
125
+ main()
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env python3
2
+
3
+ """
4
+ Copies public member docstrings into Markdown files in an adjacent "wiki" directory,
5
+ presumably a clone of brlib's GitHub wiki repo. This is used to refresh the wiki's contents.
6
+ """
7
+
8
+ import inspect
9
+ from pathlib import Path
10
+
11
+ from tqdm import tqdm
12
+
13
+ import brlib
14
+
15
+
16
+ def main() -> None:
17
+ """
18
+ Copies public member docstrings into Markdown files in an adjacent "wiki" directory,
19
+ presumably a clone of brlib's GitHub wiki repo. This is used to refresh the wiki's contents.
20
+ """
21
+ tqdm.write("Refreshing wiki files")
22
+ wiki_dir = Path(__file__).parent.parent / "wiki"
23
+ public_members = {
24
+ name: mem for name, mem in inspect.getmembers(brlib) if not name.startswith("_")
25
+ }
26
+
27
+ for member_name, member in tqdm(public_members.items(), unit="files"):
28
+ if inspect.ismodule(member):
29
+ continue
30
+ file_path = wiki_dir / f"{member_name}.md"
31
+ file_path.write_text(clean_docstring(member.__doc__), encoding="UTF-8")
32
+
33
+ # for classes or variables which are the instantiation of a singleton class
34
+ if not inspect.isfunction(member):
35
+ # create files for each of the class's public methods
36
+ methods = inspect.getmembers(member, predicate=is_function_or_method)
37
+ public_methods = {name: mem for name, mem in methods if not name.startswith("_")}
38
+ for method_name, method in public_methods.items():
39
+ file_path = wiki_dir / f"{member_name}.{method_name}.md"
40
+ file_path.write_text(clean_docstring(method.__doc__), encoding="UTF-8")
41
+
42
+
43
+ def clean_docstring(docstring: str) -> str:
44
+ """Reformat whitespace in `docstring`."""
45
+ # remove leading newline
46
+ if docstring.startswith("\n"):
47
+ docstring = docstring[1:]
48
+ return docstring
49
+
50
+
51
+ def is_function_or_method(member: object) -> bool:
52
+ """
53
+ Checks whether `inspect.isfunction` or `inspect.ismethod` is `True`. `isfunction` finds methods
54
+ if `member` is a class, and `ismethod` finds methods if `member` is a class instance.
55
+ """
56
+ return inspect.isfunction(member) or inspect.ismethod(member)
57
+
58
+
59
+ if __name__ == "__main__":
60
+ main()
@@ -1,4 +1,11 @@
1
- from .all_major_leaguers import all_major_leaguers
1
+ """
2
+ A library for collecting baseball statistics from [Baseball
3
+ Reference](https://www.baseball-reference.com).
4
+
5
+ Documentation can be found on the [wiki](https://github.com/john-bieren/brlib/wiki).
6
+ """
7
+
8
+ from .all_players import all_players
2
9
  from .find_asg import find_asg
3
10
  from .find_games import find_games
4
11
  from .find_teams import find_teams
@@ -13,10 +20,10 @@ from .player_set import PlayerSet
13
20
  from .team import Team
14
21
  from .team_set import TeamSet
15
22
 
16
- __version__ = "0.2.0"
23
+ __version__ = "0.4.0"
17
24
 
18
25
  __all__ = [
19
- "all_major_leaguers",
26
+ "all_players",
20
27
  "find_asg",
21
28
  "find_games",
22
29
  "find_teams",
@@ -29,5 +36,5 @@ __all__ = [
29
36
  "Player",
30
37
  "PlayerSet",
31
38
  "Team",
32
- "TeamSet"
39
+ "TeamSet",
33
40
  ]
@@ -0,0 +1,4 @@
1
+ """
2
+ Functions, classes, and constants internal to the codebase.
3
+ External use of this module is strongly discouraged, and its API may change without notice.
4
+ """