brlib 0.3.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.
- {brlib-0.3.0 → brlib-0.4.0}/PKG-INFO +6 -7
- {brlib-0.3.0 → brlib-0.4.0}/README.md +1 -3
- {brlib-0.3.0 → brlib-0.4.0}/pyproject.toml +8 -4
- brlib-0.4.0/scripts/refresh_tests.py +125 -0
- brlib-0.3.0/scripts/wiki.py → brlib-0.4.0/scripts/refresh_wiki.py +5 -2
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/__init__.py +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/abbreviations_manager.py +27 -9
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/constants.py +28 -42
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/inputs.py +60 -45
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/no_hitter_dicts.py +18 -14
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/requests_manager.py +1 -1
- brlib-0.4.0/src/brlib/_helpers/typechecking.py +75 -0
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/utils.py +17 -77
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/find_asg.py +12 -12
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/find_games.py +28 -28
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/find_teams.py +19 -19
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/game.py +121 -196
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/game_set.py +44 -76
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/get_games.py +12 -18
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/get_players.py +2 -2
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/get_teams.py +12 -14
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/options.py +2 -2
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/player.py +28 -30
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/player_set.py +4 -6
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/team.py +38 -43
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/team_set.py +15 -17
- {brlib-0.3.0 → brlib-0.4.0}/tests/_helpers/test_abbreviations_manager.py +38 -7
- {brlib-0.3.0 → brlib-0.4.0}/tests/_helpers/test_inputs.py +36 -32
- {brlib-0.3.0 → brlib-0.4.0}/tests/_helpers/test_no_hitter_dicts.py +10 -12
- brlib-0.4.0/tests/_helpers/test_typechecking.py +23 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/_helpers/test_utils.py +1 -22
- {brlib-0.3.0 → brlib-0.4.0}/tests/conftest.py +53 -23
- brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/batting.csv +46 -0
- brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/fielding.csv +41 -0
- brlib-0.4.0/tests/expected/games/original/1961-allstar-game-1/pitching.csv +15 -0
- brlib-0.4.0/tests/expected/games/original/2025-allstar-game/batting.csv +42 -0
- brlib-0.4.0/tests/expected/games/original/2025-allstar-game/fielding.csv +60 -0
- brlib-0.4.0/tests/expected/games/original/2025-allstar-game/pitching.csv +27 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/batting.csv +24 -24
- brlib-0.4.0/tests/expected/games/original/ANA202305090/fielding.csv +25 -0
- brlib-0.4.0/tests/expected/games/original/ANA202305090/pitching.csv +7 -0
- brlib-0.4.0/tests/expected/games/original/ANA202305090/teams.json +1 -0
- {brlib-0.3.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/BOS201708250/batting.csv +27 -27
- brlib-0.4.0/tests/expected/games/original/BOS201708250/fielding.csv +32 -0
- brlib-0.4.0/tests/expected/games/original/BOS201708250/pitching.csv +11 -0
- brlib-0.4.0/tests/expected/games/original/BOS201708250/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/batting.csv +28 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/fielding.csv +26 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/linescore.csv +3 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/pitching.csv +9 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/players.json +1 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/team_info.csv +3 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/CHN196207291/ump_info.csv +5 -0
- {brlib-0.3.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/FLO199407290/batting.csv +36 -36
- brlib-0.4.0/tests/expected/games/original/FLO199407290/fielding.csv +32 -0
- brlib-0.4.0/tests/expected/games/original/FLO199407290/pitching.csv +12 -0
- brlib-0.4.0/tests/expected/games/original/FLO199407290/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/MLA190105301/batting.csv +21 -0
- brlib-0.4.0/tests/expected/games/original/MLA190105301/fielding.csv +21 -0
- brlib-0.4.0/tests/expected/games/original/MLA190105301/pitching.csv +5 -0
- brlib-0.4.0/tests/expected/games/original/MLA190105301/teams.json +1 -0
- {brlib-0.3.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/NYN200908230/batting.csv +31 -31
- brlib-0.4.0/tests/expected/games/original/NYN200908230/fielding.csv +28 -0
- brlib-0.4.0/tests/expected/games/original/NYN200908230/pitching.csv +12 -0
- brlib-0.4.0/tests/expected/games/original/NYN200908230/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/PHI202211020/batting.csv +22 -0
- brlib-0.4.0/tests/expected/games/original/PHI202211020/fielding.csv +30 -0
- brlib-0.4.0/tests/expected/games/original/PHI202211020/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/original/PHI202211020/pitching.csv +13 -0
- brlib-0.4.0/tests/expected/games/original/PHI202211020/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/batting.csv +22 -22
- brlib-0.4.0/tests/expected/games/original/PIT192010023/fielding.csv +22 -0
- brlib-0.4.0/tests/expected/games/original/PIT192010023/pitching.csv +5 -0
- brlib-0.4.0/tests/expected/games/original/PIT192010023/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/batting.csv +24 -24
- brlib-0.4.0/tests/expected/games/original/SEA197805231/fielding.csv +24 -0
- brlib-0.4.0/tests/expected/games/original/SEA197805231/pitching.csv +6 -0
- brlib-0.4.0/tests/expected/games/original/SEA197805231/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/batting.csv +27 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/fielding.csv +25 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/linescore.csv +3 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/pitching.csv +9 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/players.json +1 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/team_info.csv +3 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/SEA201106250/ump_info.csv +5 -0
- {brlib-0.3.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/SEA201208150/batting.csv +23 -23
- brlib-0.4.0/tests/expected/games/original/SEA201208150/fielding.csv +22 -0
- brlib-0.4.0/tests/expected/games/original/SEA201208150/pitching.csv +6 -0
- brlib-0.4.0/tests/expected/games/original/SEA201208150/teams.json +1 -0
- {brlib-0.3.0/tests/expected/games/updated → brlib-0.4.0/tests/expected/games/original}/SEA201804190/batting.csv +24 -24
- brlib-0.4.0/tests/expected/games/original/SEA201804190/fielding.csv +30 -0
- brlib-0.4.0/tests/expected/games/original/SEA201804190/pitching.csv +11 -0
- brlib-0.4.0/tests/expected/games/original/SEA201804190/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/batting.csv +21 -21
- brlib-0.4.0/tests/expected/games/original/SEA201905270/fielding.csv +27 -0
- brlib-0.4.0/tests/expected/games/original/SEA201905270/pitching.csv +11 -0
- brlib-0.4.0/tests/expected/games/original/SEA201905270/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/SEA202210150/batting.csv +26 -0
- brlib-0.4.0/tests/expected/games/original/SEA202210150/fielding.csv +40 -0
- brlib-0.4.0/tests/expected/games/original/SEA202210150/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/original/SEA202210150/pitching.csv +21 -0
- brlib-0.4.0/tests/expected/games/original/SEA202210150/teams.json +1 -0
- brlib-0.4.0/tests/expected/games/original/SLN190710051/batting.csv +22 -0
- brlib-0.4.0/tests/expected/games/original/SLN190710051/fielding.csv +22 -0
- brlib-0.4.0/tests/expected/games/original/SLN190710051/pitching.csv +5 -0
- brlib-0.4.0/tests/expected/games/original/SLN190710051/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/records.csv +4 -4
- brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/batting.csv +46 -0
- brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/fielding.csv +41 -0
- brlib-0.4.0/tests/expected/games/updated/1961-allstar-game-1/pitching.csv +15 -0
- brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/batting.csv +42 -0
- brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/fielding.csv +60 -0
- brlib-0.4.0/tests/expected/games/updated/2025-allstar-game/pitching.csv +27 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/ANA202305090/batting.csv +24 -24
- brlib-0.4.0/tests/expected/games/updated/ANA202305090/fielding.csv +25 -0
- brlib-0.4.0/tests/expected/games/updated/ANA202305090/pitching.csv +7 -0
- {brlib-0.3.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/BOS201708250/batting.csv +27 -27
- brlib-0.4.0/tests/expected/games/updated/BOS201708250/fielding.csv +32 -0
- brlib-0.4.0/tests/expected/games/updated/BOS201708250/pitching.csv +11 -0
- brlib-0.4.0/tests/expected/games/updated/CHN196207291/batting.csv +28 -0
- brlib-0.4.0/tests/expected/games/updated/CHN196207291/fielding.csv +26 -0
- brlib-0.4.0/tests/expected/games/updated/CHN196207291/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/updated/CHN196207291/linescore.csv +3 -0
- brlib-0.4.0/tests/expected/games/updated/CHN196207291/pitching.csv +9 -0
- brlib-0.4.0/tests/expected/games/updated/CHN196207291/team_info.csv +3 -0
- {brlib-0.3.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/FLO199407290/batting.csv +36 -36
- brlib-0.4.0/tests/expected/games/updated/FLO199407290/fielding.csv +32 -0
- brlib-0.4.0/tests/expected/games/updated/FLO199407290/pitching.csv +12 -0
- brlib-0.4.0/tests/expected/games/updated/MLA190105301/batting.csv +21 -0
- brlib-0.4.0/tests/expected/games/updated/MLA190105301/fielding.csv +21 -0
- brlib-0.4.0/tests/expected/games/updated/MLA190105301/pitching.csv +5 -0
- {brlib-0.3.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/NYN200908230/batting.csv +31 -31
- brlib-0.4.0/tests/expected/games/updated/NYN200908230/fielding.csv +28 -0
- brlib-0.4.0/tests/expected/games/updated/NYN200908230/pitching.csv +12 -0
- brlib-0.4.0/tests/expected/games/updated/PHI202211020/batting.csv +22 -0
- brlib-0.4.0/tests/expected/games/updated/PHI202211020/fielding.csv +30 -0
- brlib-0.4.0/tests/expected/games/updated/PHI202211020/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/updated/PHI202211020/pitching.csv +13 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/PIT192010023/batting.csv +22 -22
- brlib-0.4.0/tests/expected/games/updated/PIT192010023/fielding.csv +22 -0
- brlib-0.4.0/tests/expected/games/updated/PIT192010023/pitching.csv +5 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/batting.csv +24 -24
- brlib-0.4.0/tests/expected/games/updated/SEA197805231/fielding.csv +24 -0
- brlib-0.4.0/tests/expected/games/updated/SEA197805231/pitching.csv +6 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201106250/batting.csv +27 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201106250/fielding.csv +25 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201106250/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201106250/linescore.csv +3 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201106250/pitching.csv +9 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201106250/team_info.csv +3 -0
- {brlib-0.3.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/SEA201208150/batting.csv +23 -23
- brlib-0.4.0/tests/expected/games/updated/SEA201208150/fielding.csv +22 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201208150/pitching.csv +6 -0
- {brlib-0.3.0/tests/expected/games/original → brlib-0.4.0/tests/expected/games/updated}/SEA201804190/batting.csv +24 -24
- brlib-0.4.0/tests/expected/games/updated/SEA201804190/fielding.csv +30 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201804190/pitching.csv +11 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201905270/batting.csv +21 -21
- brlib-0.4.0/tests/expected/games/updated/SEA201905270/fielding.csv +27 -0
- brlib-0.4.0/tests/expected/games/updated/SEA201905270/pitching.csv +11 -0
- brlib-0.4.0/tests/expected/games/updated/SEA202210150/batting.csv +26 -0
- brlib-0.4.0/tests/expected/games/updated/SEA202210150/fielding.csv +40 -0
- brlib-0.4.0/tests/expected/games/updated/SEA202210150/info.csv +2 -0
- brlib-0.4.0/tests/expected/games/updated/SEA202210150/pitching.csv +21 -0
- brlib-0.4.0/tests/expected/games/updated/SLN190710051/batting.csv +22 -0
- brlib-0.4.0/tests/expected/games/updated/SLN190710051/fielding.csv +22 -0
- brlib-0.4.0/tests/expected/games/updated/SLN190710051/pitching.csv +5 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/batting.csv +5 -5
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/fielding.csv +39 -39
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/info.csv +1 -1
- brlib-0.4.0/tests/expected/players/original/aloumo01/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/batting.csv +4 -4
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/fielding.csv +2 -2
- {brlib-0.3.0/tests/expected/players/updated → brlib-0.4.0/tests/expected/players/original}/bendech01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/pitching.csv +18 -18
- brlib-0.4.0/tests/expected/players/original/bendech01/teams.json +1 -0
- brlib-0.4.0/tests/expected/players/original/colli05/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/cormirh01/fielding.csv +14 -14
- {brlib-0.3.0/tests/expected/players/updated → brlib-0.4.0/tests/expected/players/original}/cormirh01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/cormirh01/pitching.csv +18 -18
- brlib-0.4.0/tests/expected/players/original/cormirh01/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/fielding.csv +15 -15
- {brlib-0.3.0/tests/expected/players/updated → brlib-0.4.0/tests/expected/players/original}/gibsojo99/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/pitching.csv +2 -2
- brlib-0.4.0/tests/expected/players/original/gibsojo99/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/batting.csv +3 -3
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/fielding.csv +10 -10
- {brlib-0.3.0/tests/expected/players/updated → brlib-0.4.0/tests/expected/players/original}/hallaro01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/pitching.csv +17 -17
- brlib-0.4.0/tests/expected/players/original/hallaro01/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/batting.csv +12 -12
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/fielding.csv +41 -41
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/info.csv +1 -1
- brlib-0.4.0/tests/expected/players/original/jacksre01/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/info.csv +1 -1
- brlib-0.4.0/tests/expected/players/original/kigerma01/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/pressry01/fielding.csv +18 -18
- {brlib-0.3.0/tests/expected/players/updated → brlib-0.4.0/tests/expected/players/original}/pressry01/info.csv +1 -1
- brlib-0.4.0/tests/expected/players/original/pressry01/pitching.csv +34 -0
- brlib-0.4.0/tests/expected/players/original/pressry01/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/batting.csv +2 -2
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/fielding.csv +17 -17
- {brlib-0.3.0/tests/expected/players/updated → brlib-0.4.0/tests/expected/players/original}/vogtst01/info.csv +1 -1
- brlib-0.4.0/tests/expected/players/original/vogtst01/teams.json +1 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/aloumo01/info.csv +1 -1
- {brlib-0.3.0/tests/expected/players/original → brlib-0.4.0/tests/expected/players/updated}/bendech01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/bendech01/pitching.csv +18 -18
- {brlib-0.3.0/tests/expected/players/original → brlib-0.4.0/tests/expected/players/updated}/cormirh01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/cormirh01/pitching.csv +18 -18
- {brlib-0.3.0/tests/expected/players/original → brlib-0.4.0/tests/expected/players/updated}/gibsojo99/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/gibsojo99/pitching.csv +2 -2
- {brlib-0.3.0/tests/expected/players/original → brlib-0.4.0/tests/expected/players/updated}/hallaro01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/hallaro01/pitching.csv +17 -17
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/jacksre01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/kigerma01/info.csv +1 -1
- {brlib-0.3.0/tests/expected/players/original → brlib-0.4.0/tests/expected/players/updated}/pressry01/info.csv +1 -1
- brlib-0.4.0/tests/expected/players/updated/pressry01/pitching.csv +34 -0
- {brlib-0.3.0/tests/expected/players/original → brlib-0.4.0/tests/expected/players/updated}/vogtst01/info.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/fielding.csv +6 -6
- brlib-0.4.0/tests/expected/teams/original/BBB1924/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/pitching.csv +6 -6
- brlib-0.4.0/tests/expected/teams/original/BEG1939/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/pitching.csv +10 -10
- {brlib-0.3.0/tests/expected/teams/updated → brlib-0.4.0/tests/expected/teams/original}/CHC2020/fielding.csv +33 -33
- brlib-0.4.0/tests/expected/teams/original/CHC2020/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/CHC2020/pitching.csv +24 -24
- brlib-0.4.0/tests/expected/teams/original/COT1932/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/HOU2022/fielding.csv +34 -34
- brlib-0.4.0/tests/expected/teams/original/HOU2022/info.csv +2 -0
- brlib-0.4.0/tests/expected/teams/original/HOU2022/pitching.csv +37 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/fielding.csv +27 -27
- brlib-0.4.0/tests/expected/teams/original/LAA2012/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/pitching.csv +15 -15
- brlib-0.4.0/tests/expected/teams/original/MIN2019/batting.csv +67 -0
- brlib-0.4.0/tests/expected/teams/original/MIN2019/fielding.csv +76 -0
- brlib-0.4.0/tests/expected/teams/original/MIN2019/info.csv +2 -0
- brlib-0.4.0/tests/expected/teams/original/MIN2019/pitching.csv +46 -0
- brlib-0.4.0/tests/expected/teams/original/MIN2019/players.json +1 -0
- {brlib-0.3.0/tests/expected/teams/updated → brlib-0.4.0/tests/expected/teams/original}/SEA2012/fielding.csv +29 -29
- brlib-0.4.0/tests/expected/teams/original/SEA2012/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/SEA2012/pitching.csv +13 -13
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/WSH1904/fielding.csv +1 -1
- brlib-0.4.0/tests/expected/teams/original/WSH1904/info.csv +2 -0
- brlib-0.4.0/tests/expected/teams/original/WSH1904/pitching.csv +11 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/records.csv +1 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/BBB1924/fielding.csv +6 -6
- brlib-0.4.0/tests/expected/teams/updated/BBB1924/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/BBB1924/pitching.csv +6 -6
- brlib-0.4.0/tests/expected/teams/updated/BEG1939/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/BEG1939/pitching.csv +10 -10
- {brlib-0.3.0/tests/expected/teams/original → brlib-0.4.0/tests/expected/teams/updated}/CHC2020/fielding.csv +33 -33
- brlib-0.4.0/tests/expected/teams/updated/CHC2020/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/CHC2020/pitching.csv +24 -24
- brlib-0.4.0/tests/expected/teams/updated/COT1932/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/HOU2022/fielding.csv +34 -34
- brlib-0.4.0/tests/expected/teams/updated/HOU2022/info.csv +2 -0
- brlib-0.4.0/tests/expected/teams/updated/HOU2022/pitching.csv +37 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/LAA2012/fielding.csv +27 -27
- brlib-0.4.0/tests/expected/teams/updated/LAA2012/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/LAA2012/pitching.csv +15 -15
- brlib-0.4.0/tests/expected/teams/updated/MIN2019/batting.csv +67 -0
- brlib-0.4.0/tests/expected/teams/updated/MIN2019/fielding.csv +76 -0
- brlib-0.4.0/tests/expected/teams/updated/MIN2019/info.csv +2 -0
- brlib-0.4.0/tests/expected/teams/updated/MIN2019/pitching.csv +46 -0
- {brlib-0.3.0/tests/expected/teams/original → brlib-0.4.0/tests/expected/teams/updated}/SEA2012/fielding.csv +29 -29
- brlib-0.4.0/tests/expected/teams/updated/SEA2012/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/SEA2012/pitching.csv +13 -13
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/WSH1904/fielding.csv +1 -1
- brlib-0.4.0/tests/expected/teams/updated/WSH1904/info.csv +2 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/WSH1904/pitching.csv +8 -8
- {brlib-0.3.0 → brlib-0.4.0}/tests/get_expected.py +2 -4
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_find_asg.py +14 -14
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_find_games.py +30 -31
- brlib-0.4.0/tests/test_find_teams.py +76 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_game.py +0 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_player.py +0 -1
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_team.py +2 -4
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_team_set.py +4 -6
- brlib-0.4.0/uv.lock +840 -0
- brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/batting.csv +0 -46
- brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/fielding.csv +0 -41
- brlib-0.3.0/tests/expected/games/original/1961-allstar-game-1/pitching.csv +0 -15
- brlib-0.3.0/tests/expected/games/original/2025-allstar-game/batting.csv +0 -42
- brlib-0.3.0/tests/expected/games/original/2025-allstar-game/fielding.csv +0 -60
- brlib-0.3.0/tests/expected/games/original/2025-allstar-game/pitching.csv +0 -27
- brlib-0.3.0/tests/expected/games/original/ANA202305090/fielding.csv +0 -25
- brlib-0.3.0/tests/expected/games/original/ANA202305090/pitching.csv +0 -7
- brlib-0.3.0/tests/expected/games/original/ANA202305090/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/BOS201708250/fielding.csv +0 -32
- brlib-0.3.0/tests/expected/games/original/BOS201708250/pitching.csv +0 -11
- brlib-0.3.0/tests/expected/games/original/BOS201708250/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/FLO199407290/fielding.csv +0 -32
- brlib-0.3.0/tests/expected/games/original/FLO199407290/pitching.csv +0 -12
- brlib-0.3.0/tests/expected/games/original/FLO199407290/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/MLA190105301/batting.csv +0 -21
- brlib-0.3.0/tests/expected/games/original/MLA190105301/fielding.csv +0 -21
- brlib-0.3.0/tests/expected/games/original/MLA190105301/pitching.csv +0 -5
- brlib-0.3.0/tests/expected/games/original/MLA190105301/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/NYN200908230/fielding.csv +0 -28
- brlib-0.3.0/tests/expected/games/original/NYN200908230/pitching.csv +0 -12
- brlib-0.3.0/tests/expected/games/original/NYN200908230/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/PHI202211020/batting.csv +0 -22
- brlib-0.3.0/tests/expected/games/original/PHI202211020/fielding.csv +0 -30
- brlib-0.3.0/tests/expected/games/original/PHI202211020/info.csv +0 -2
- brlib-0.3.0/tests/expected/games/original/PHI202211020/pitching.csv +0 -13
- brlib-0.3.0/tests/expected/games/original/PHI202211020/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/PIT192010023/fielding.csv +0 -22
- brlib-0.3.0/tests/expected/games/original/PIT192010023/pitching.csv +0 -5
- brlib-0.3.0/tests/expected/games/original/PIT192010023/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/SEA197805231/fielding.csv +0 -24
- brlib-0.3.0/tests/expected/games/original/SEA197805231/pitching.csv +0 -6
- brlib-0.3.0/tests/expected/games/original/SEA197805231/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/SEA201208150/fielding.csv +0 -22
- brlib-0.3.0/tests/expected/games/original/SEA201208150/pitching.csv +0 -6
- brlib-0.3.0/tests/expected/games/original/SEA201208150/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/SEA201804190/fielding.csv +0 -30
- brlib-0.3.0/tests/expected/games/original/SEA201804190/pitching.csv +0 -11
- brlib-0.3.0/tests/expected/games/original/SEA201804190/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/SEA201905270/fielding.csv +0 -27
- brlib-0.3.0/tests/expected/games/original/SEA201905270/pitching.csv +0 -11
- brlib-0.3.0/tests/expected/games/original/SEA201905270/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/SEA202210150/batting.csv +0 -26
- brlib-0.3.0/tests/expected/games/original/SEA202210150/fielding.csv +0 -40
- brlib-0.3.0/tests/expected/games/original/SEA202210150/info.csv +0 -2
- brlib-0.3.0/tests/expected/games/original/SEA202210150/pitching.csv +0 -21
- brlib-0.3.0/tests/expected/games/original/SEA202210150/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/original/SLN190710051/batting.csv +0 -22
- brlib-0.3.0/tests/expected/games/original/SLN190710051/fielding.csv +0 -22
- brlib-0.3.0/tests/expected/games/original/SLN190710051/pitching.csv +0 -5
- brlib-0.3.0/tests/expected/games/original/SLN190710051/teams.json +0 -1
- brlib-0.3.0/tests/expected/games/updated/1961-allstar-game-1/batting.csv +0 -46
- brlib-0.3.0/tests/expected/games/updated/1961-allstar-game-1/fielding.csv +0 -41
- brlib-0.3.0/tests/expected/games/updated/1961-allstar-game-1/pitching.csv +0 -15
- brlib-0.3.0/tests/expected/games/updated/2025-allstar-game/batting.csv +0 -42
- brlib-0.3.0/tests/expected/games/updated/2025-allstar-game/fielding.csv +0 -60
- brlib-0.3.0/tests/expected/games/updated/2025-allstar-game/pitching.csv +0 -27
- brlib-0.3.0/tests/expected/games/updated/ANA202305090/fielding.csv +0 -25
- brlib-0.3.0/tests/expected/games/updated/ANA202305090/pitching.csv +0 -7
- brlib-0.3.0/tests/expected/games/updated/BOS201708250/fielding.csv +0 -32
- brlib-0.3.0/tests/expected/games/updated/BOS201708250/pitching.csv +0 -11
- brlib-0.3.0/tests/expected/games/updated/FLO199407290/fielding.csv +0 -32
- brlib-0.3.0/tests/expected/games/updated/FLO199407290/pitching.csv +0 -12
- brlib-0.3.0/tests/expected/games/updated/MLA190105301/batting.csv +0 -21
- brlib-0.3.0/tests/expected/games/updated/MLA190105301/fielding.csv +0 -21
- brlib-0.3.0/tests/expected/games/updated/MLA190105301/pitching.csv +0 -5
- brlib-0.3.0/tests/expected/games/updated/NYN200908230/fielding.csv +0 -28
- brlib-0.3.0/tests/expected/games/updated/NYN200908230/pitching.csv +0 -12
- brlib-0.3.0/tests/expected/games/updated/PHI202211020/batting.csv +0 -22
- brlib-0.3.0/tests/expected/games/updated/PHI202211020/fielding.csv +0 -30
- brlib-0.3.0/tests/expected/games/updated/PHI202211020/info.csv +0 -2
- brlib-0.3.0/tests/expected/games/updated/PHI202211020/pitching.csv +0 -13
- brlib-0.3.0/tests/expected/games/updated/PIT192010023/fielding.csv +0 -22
- brlib-0.3.0/tests/expected/games/updated/PIT192010023/pitching.csv +0 -5
- brlib-0.3.0/tests/expected/games/updated/SEA197805231/fielding.csv +0 -24
- brlib-0.3.0/tests/expected/games/updated/SEA197805231/pitching.csv +0 -6
- brlib-0.3.0/tests/expected/games/updated/SEA201208150/fielding.csv +0 -22
- brlib-0.3.0/tests/expected/games/updated/SEA201208150/pitching.csv +0 -6
- brlib-0.3.0/tests/expected/games/updated/SEA201804190/fielding.csv +0 -30
- brlib-0.3.0/tests/expected/games/updated/SEA201804190/pitching.csv +0 -11
- brlib-0.3.0/tests/expected/games/updated/SEA201905270/fielding.csv +0 -27
- brlib-0.3.0/tests/expected/games/updated/SEA201905270/pitching.csv +0 -11
- brlib-0.3.0/tests/expected/games/updated/SEA202210150/batting.csv +0 -26
- brlib-0.3.0/tests/expected/games/updated/SEA202210150/fielding.csv +0 -40
- brlib-0.3.0/tests/expected/games/updated/SEA202210150/info.csv +0 -2
- brlib-0.3.0/tests/expected/games/updated/SEA202210150/pitching.csv +0 -21
- brlib-0.3.0/tests/expected/games/updated/SLN190710051/batting.csv +0 -22
- brlib-0.3.0/tests/expected/games/updated/SLN190710051/fielding.csv +0 -22
- brlib-0.3.0/tests/expected/games/updated/SLN190710051/pitching.csv +0 -5
- brlib-0.3.0/tests/expected/players/original/aloumo01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/bendech01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/colli05/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/cormirh01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/gibsojo99/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/hallaro01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/jacksre01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/kigerma01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/pressry01/pitching.csv +0 -34
- brlib-0.3.0/tests/expected/players/original/pressry01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/original/vogtst01/teams.json +0 -1
- brlib-0.3.0/tests/expected/players/updated/pressry01/pitching.csv +0 -34
- brlib-0.3.0/tests/expected/teams/original/BBB1924/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/BEG1939/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/CHC2020/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/COT1932/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/HOU2022/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/HOU2022/pitching.csv +0 -37
- brlib-0.3.0/tests/expected/teams/original/LAA2012/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/SEA2012/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/WSH1904/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/original/WSH1904/pitching.csv +0 -11
- brlib-0.3.0/tests/expected/teams/updated/BBB1924/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/updated/BEG1939/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/updated/CHC2020/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/updated/COT1932/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/updated/HOU2022/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/updated/HOU2022/pitching.csv +0 -37
- brlib-0.3.0/tests/expected/teams/updated/LAA2012/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/updated/SEA2012/info.csv +0 -2
- brlib-0.3.0/tests/expected/teams/updated/WSH1904/info.csv +0 -2
- brlib-0.3.0/tests/test_find_teams.py +0 -76
- {brlib-0.3.0 → brlib-0.4.0}/.github/workflows/full-test.yml +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/.github/workflows/publish.yml +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/.github/workflows/test.yml +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/LICENSE.txt +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/__init__.py +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/_helpers/singleton.py +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/src/brlib/all_players.py +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/teams.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/1961-allstar-game-1/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/teams.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/2025-allstar-game/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/ANA202305090/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/BOS201708250/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/FLO199407290/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/MLA190105301/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/NYN200908230/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PHI202211020/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/PIT192010023/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA197805231/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201208150/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201804190/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA201905270/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SEA202210150/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/original/SLN190710051/ump_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/1961-allstar-game-1/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/1961-allstar-game-1/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/1961-allstar-game-1/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/2025-allstar-game/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/2025-allstar-game/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/2025-allstar-game/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/ANA202305090/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/ANA202305090/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/ANA202305090/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/BOS201708250/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/BOS201708250/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/BOS201708250/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/FLO199407290/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/FLO199407290/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/FLO199407290/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/MLA190105301/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/MLA190105301/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/MLA190105301/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/NYN200908230/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/NYN200908230/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/NYN200908230/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/PHI202211020/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/PHI202211020/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/PIT192010023/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/PIT192010023/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/PIT192010023/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA197805231/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201208150/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201208150/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201208150/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201804190/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201804190/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201804190/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201905270/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201905270/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA201905270/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA202210150/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SEA202210150/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SLN190710051/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SLN190710051/linescore.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/games/updated/SLN190710051/team_info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/aloumo01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/bendech01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/colli05/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/colli05/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/colli05/fielding.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/colli05/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/colli05/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/colli05/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/cormirh01/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/cormirh01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/cormirh01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/gibsojo99/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/hallaro01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/jacksre01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/fielding.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/kigerma01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/pressry01/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/pressry01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/pressry01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/bling.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/original/vogtst01/relatives.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/aloumo01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/colli05/info.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/colli05/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/jacksre01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/kigerma01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/players/updated/vogtst01/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BBB1924/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/fielding.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/BEG1939/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/CHC2020/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/CHC2020/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/fielding.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/COT1932/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/HOU2022/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/HOU2022/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/LAA2012/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/SEA2012/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/SEA2012/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/WSH1904/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/original/WSH1904/players.json +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/BBB1924/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/BEG1939/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/BEG1939/fielding.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/CHC2020/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/COT1932/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/COT1932/fielding.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/COT1932/pitching.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/HOU2022/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/LAA2012/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/SEA2012/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/expected/teams/updated/WSH1904/batting.csv +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_all_players.py +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_game_set.py +0 -0
- {brlib-0.3.0 → brlib-0.4.0}/tests/test_player_set.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: brlib
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: A library for collecting baseball statistics from Baseball Reference
|
|
5
5
|
Project-URL: Documentation, https://github.com/john-bieren/brlib/wiki
|
|
6
6
|
Project-URL: GitHub, https://github.com/john-bieren/brlib
|
|
@@ -23,6 +23,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.13
|
|
25
25
|
Classifier: Programming Language :: Python :: 3.14
|
|
26
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
26
27
|
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
|
|
27
28
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
28
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
@@ -34,9 +35,9 @@ Requires-Dist: pandas<3.0.0,>=2.2.0
|
|
|
34
35
|
Requires-Dist: platformdirs<5.0.0,>=4.0.0
|
|
35
36
|
Requires-Dist: tqdm<5.0.0,>=4.66.0
|
|
36
37
|
Provides-Extra: dev
|
|
37
|
-
Requires-Dist: black==26.
|
|
38
|
-
Requires-Dist: isort==
|
|
39
|
-
Requires-Dist: pytest
|
|
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'
|
|
40
41
|
Description-Content-Type: text/markdown
|
|
41
42
|
|
|
42
43
|
# brlib
|
|
@@ -72,11 +73,9 @@ brlib can be installed using pip:
|
|
|
72
73
|
pip install brlib
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
or
|
|
76
|
+
or by cloning this repo, in which case you'll want to install the development dependencies as well:
|
|
76
77
|
|
|
77
78
|
```
|
|
78
|
-
git clone https://github.com/john-bieren/brlib.git
|
|
79
|
-
cd brlib
|
|
80
79
|
pip install -e .[dev]
|
|
81
80
|
```
|
|
82
81
|
|
|
@@ -31,11 +31,9 @@ brlib can be installed using pip:
|
|
|
31
31
|
pip install brlib
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
or
|
|
34
|
+
or by cloning this repo, in which case you'll want to install the development dependencies as well:
|
|
35
35
|
|
|
36
36
|
```
|
|
37
|
-
git clone https://github.com/john-bieren/brlib.git
|
|
38
|
-
cd brlib
|
|
39
37
|
pip install -e .[dev]
|
|
40
38
|
```
|
|
41
39
|
|
|
@@ -14,7 +14,7 @@ dependencies = [
|
|
|
14
14
|
"lxml>=5.0.0,<7.0.0",
|
|
15
15
|
"pandas>=2.2.0,<3.0.0",
|
|
16
16
|
"platformdirs>=4.0.0,<5.0.0",
|
|
17
|
-
"tqdm>=4.66.0,<5.0.0"
|
|
17
|
+
"tqdm>=4.66.0,<5.0.0",
|
|
18
18
|
]
|
|
19
19
|
readme = "README.md"
|
|
20
20
|
license = "MIT"
|
|
@@ -33,6 +33,7 @@ classifiers = [
|
|
|
33
33
|
"Programming Language :: Python :: 3.12",
|
|
34
34
|
"Programming Language :: Python :: 3.13",
|
|
35
35
|
"Programming Language :: Python :: 3.14",
|
|
36
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
36
37
|
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
|
|
37
38
|
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
38
39
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
@@ -41,9 +42,9 @@ keywords = ["baseball reference", "baseball", "baseball stats", "mlb", "mlb stat
|
|
|
41
42
|
|
|
42
43
|
[project.optional-dependencies]
|
|
43
44
|
dev = [
|
|
44
|
-
"black==26.
|
|
45
|
-
"isort==
|
|
46
|
-
"pytest>=7.0.0"
|
|
45
|
+
"black==26.3.0",
|
|
46
|
+
"isort==8.0.1",
|
|
47
|
+
"pytest>=7.0.0,<10.0.0",
|
|
47
48
|
]
|
|
48
49
|
|
|
49
50
|
[project.urls]
|
|
@@ -67,3 +68,6 @@ target-version = ["py310", "py311", "py312", "py313", "py314"]
|
|
|
67
68
|
profile = "black"
|
|
68
69
|
line_length = 100
|
|
69
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()
|
|
@@ -8,6 +8,8 @@ presumably a clone of brlib's GitHub wiki repo. This is used to refresh the wiki
|
|
|
8
8
|
import inspect
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
|
|
11
|
+
from tqdm import tqdm
|
|
12
|
+
|
|
11
13
|
import brlib
|
|
12
14
|
|
|
13
15
|
|
|
@@ -16,12 +18,13 @@ def main() -> None:
|
|
|
16
18
|
Copies public member docstrings into Markdown files in an adjacent "wiki" directory,
|
|
17
19
|
presumably a clone of brlib's GitHub wiki repo. This is used to refresh the wiki's contents.
|
|
18
20
|
"""
|
|
21
|
+
tqdm.write("Refreshing wiki files")
|
|
19
22
|
wiki_dir = Path(__file__).parent.parent / "wiki"
|
|
20
23
|
public_members = {
|
|
21
24
|
name: mem for name, mem in inspect.getmembers(brlib) if not name.startswith("_")
|
|
22
25
|
}
|
|
23
26
|
|
|
24
|
-
for member_name, member in public_members.items():
|
|
27
|
+
for member_name, member in tqdm(public_members.items(), unit="files"):
|
|
25
28
|
if inspect.ismodule(member):
|
|
26
29
|
continue
|
|
27
30
|
file_path = wiki_dir / f"{member_name}.md"
|
|
@@ -40,7 +43,7 @@ def main() -> None:
|
|
|
40
43
|
def clean_docstring(docstring: str) -> str:
|
|
41
44
|
"""Reformat whitespace in `docstring`."""
|
|
42
45
|
# remove leading newline
|
|
43
|
-
if docstring
|
|
46
|
+
if docstring.startswith("\n"):
|
|
44
47
|
docstring = docstring[1:]
|
|
45
48
|
return docstring
|
|
46
49
|
|
|
@@ -16,7 +16,8 @@ from .constants import (
|
|
|
16
16
|
CURRENT_YEAR,
|
|
17
17
|
CY_BASEBALL,
|
|
18
18
|
FIRST_GAMES_YEAR,
|
|
19
|
-
|
|
19
|
+
SEASON_START_DAY,
|
|
20
|
+
SEASON_START_MONTH,
|
|
20
21
|
TEAM_ALIASES,
|
|
21
22
|
)
|
|
22
23
|
from .requests_manager import req_man
|
|
@@ -26,19 +27,35 @@ from .singleton import Singleton
|
|
|
26
27
|
class AbbreviationsManager(Singleton):
|
|
27
28
|
"""
|
|
28
29
|
A wrapper for a DataFrame which contains information on all historical team and
|
|
29
|
-
franchise abbreviations used by Baseball Reference.
|
|
30
|
-
|
|
30
|
+
franchise abbreviations used by Baseball Reference. Has methods for working with these
|
|
31
|
+
abbreviations. Manages retrieval and caching of the data, loads data on import of brlib.
|
|
31
32
|
"""
|
|
32
33
|
|
|
33
34
|
def __init__(self) -> None:
|
|
34
35
|
self._cache_file = CACHE_DIR / "abv_data_v1.csv"
|
|
36
|
+
self._populated = False
|
|
37
|
+
|
|
35
38
|
self.df = pd.DataFrame()
|
|
36
39
|
|
|
40
|
+
self.populate()
|
|
41
|
+
|
|
42
|
+
def reset(self) -> None:
|
|
43
|
+
"""Re-initializes `AbbreviationsManager`, resulting in `self.df` being reloaded."""
|
|
44
|
+
self.__init__()
|
|
45
|
+
|
|
46
|
+
def populate(self) -> None:
|
|
47
|
+
"""Populates `self.df` from cache or the web if it is not already populated."""
|
|
48
|
+
if self._populated:
|
|
49
|
+
return
|
|
50
|
+
|
|
37
51
|
if self._has_valid_cache:
|
|
38
52
|
self._load()
|
|
39
53
|
else:
|
|
40
54
|
self._get()
|
|
41
55
|
|
|
56
|
+
assert not self.df.empty
|
|
57
|
+
self._populated = True
|
|
58
|
+
|
|
42
59
|
@property
|
|
43
60
|
def _has_valid_cache(self) -> bool:
|
|
44
61
|
"""
|
|
@@ -51,7 +68,7 @@ class AbbreviationsManager(Singleton):
|
|
|
51
68
|
last_save = os.path.getmtime(self._cache_file)
|
|
52
69
|
last_save_time = datetime.fromtimestamp(last_save).astimezone(CACHE_TIMEZONE)
|
|
53
70
|
|
|
54
|
-
cy_refresh_date = f"{CURRENT_YEAR}-{
|
|
71
|
+
cy_refresh_date = f"{CURRENT_YEAR}-{SEASON_START_MONTH}-{SEASON_START_DAY}"
|
|
55
72
|
refresh_time = datetime.strptime(cy_refresh_date, "%Y-%m-%d").astimezone(CACHE_TIMEZONE)
|
|
56
73
|
|
|
57
74
|
current_time = datetime.now(CACHE_TIMEZONE)
|
|
@@ -66,12 +83,11 @@ class AbbreviationsManager(Singleton):
|
|
|
66
83
|
self.df.loc[self.df["Alias"].isna(), "Alias"] = ""
|
|
67
84
|
|
|
68
85
|
def _get(self) -> None:
|
|
69
|
-
"""Gets abbreviations data from Baseball Reference."""
|
|
86
|
+
"""Gets abbreviations data from Baseball Reference, save to cache."""
|
|
70
87
|
write("brlib: gathering team abbreviations")
|
|
71
88
|
page = req_man.get_page("/about/team_IDs.shtml")
|
|
72
89
|
self._gather_abbreviations(page)
|
|
73
90
|
self.df.to_csv(self._cache_file, index=False)
|
|
74
|
-
self.df.rename({"Team ID": "Team", "Franchise ID": "Franchise"}, axis=1, inplace=True)
|
|
75
91
|
|
|
76
92
|
def _gather_abbreviations(self, page: Response) -> None:
|
|
77
93
|
"""Scrapes team_IDs page and create `self.df`."""
|
|
@@ -92,7 +108,7 @@ class AbbreviationsManager(Singleton):
|
|
|
92
108
|
if i == 0:
|
|
93
109
|
record.append("BML")
|
|
94
110
|
else:
|
|
95
|
-
# noinspection PyTypeChecker
|
|
111
|
+
# noinspection PyTypeChecker TODO
|
|
96
112
|
record.append(record[0] in BML_FRANCHISE_ABVS)
|
|
97
113
|
records.append(record)
|
|
98
114
|
|
|
@@ -204,7 +220,8 @@ class AbbreviationsManager(Singleton):
|
|
|
204
220
|
team_row = self._find_correct_teams(abbreviation, season, era_adjustment=False)
|
|
205
221
|
if not team_row.empty:
|
|
206
222
|
alias = team_row["Alias"].values[0]
|
|
207
|
-
|
|
223
|
+
# the Angels have used LAA in two stints, the first stint did not use an alias
|
|
224
|
+
if alias != "" and not (alias == "ANA" and season in range(1961, 1965)):
|
|
208
225
|
return alias
|
|
209
226
|
return abbreviation
|
|
210
227
|
|
|
@@ -223,7 +240,8 @@ class AbbreviationsManager(Singleton):
|
|
|
223
240
|
alias_rows = self.df.loc[self.df["Alias"] == abbreviation]
|
|
224
241
|
years_mask = (alias_rows["First Year"] <= season) & (alias_rows["Last Year"] >= season)
|
|
225
242
|
correct_row = alias_rows.loc[years_mask]
|
|
226
|
-
|
|
243
|
+
# the Angels have used LAA in two stints, the first stint did not use an alias
|
|
244
|
+
if correct_row.empty or (abbreviation == "ANA" and season in range(1961, 1965)):
|
|
227
245
|
return abbreviation
|
|
228
246
|
return correct_row["Team"].values[0]
|
|
229
247
|
|
|
@@ -26,41 +26,36 @@ NO_POSTSEASON_YEARS = {1901, 1902, 1904, 1994}
|
|
|
26
26
|
|
|
27
27
|
# the day after (that's when the stats are posted) the expected earliest/latest possible game dates
|
|
28
28
|
# these dates allow for games that are two days earlier/later than the most extreme past examples
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
SEASON_START_MONTH, SEASON_START_DAY = "03", "17"
|
|
30
|
+
SEASON_END_MONTH, SEASON_END_DAY = "11", "08"
|
|
31
31
|
|
|
32
32
|
# determine if there's been baseball played in the current year
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
CURRENT_MONTH
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
):
|
|
39
|
-
CY_BASEBALL = False
|
|
40
|
-
else:
|
|
41
|
-
CY_BASEBALL = True
|
|
42
|
-
|
|
33
|
+
CY_BASEBALL = (
|
|
34
|
+
CURRENT_MONTH > int(SEASON_START_MONTH)
|
|
35
|
+
or CURRENT_MONTH == int(SEASON_START_MONTH)
|
|
36
|
+
and CURRENT_DAY >= int(SEASON_START_DAY)
|
|
37
|
+
)
|
|
43
38
|
# best safe guess at earliest plausible ASG date
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
CY_ASG = CURRENT_MONTH > 7 or CURRENT_MONTH == 7 and CURRENT_DAY > 7
|
|
39
|
+
CY_ASG = CURRENT_YEAR not in NO_ASG_YEARS and (
|
|
40
|
+
CURRENT_MONTH > 7 or CURRENT_MONTH == 7 and CURRENT_DAY > 7
|
|
41
|
+
)
|
|
48
42
|
|
|
49
43
|
# selected so that hour 0 lines up with when BR should have posted the previous day's results
|
|
50
44
|
CACHE_TIMEZONE = pytz.timezone("US/Aleutian")
|
|
51
45
|
|
|
52
46
|
# pre-compiled regular expressions
|
|
53
|
-
MULTI_TEAM_REGEX = re.compile("
|
|
54
|
-
SEASON_REGEX = re.compile("
|
|
55
|
-
SEASON_RANGE_REGEX = re.compile("
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
PLAYER_ID_REGEX = re.compile("
|
|
47
|
+
MULTI_TEAM_REGEX = re.compile("[1-9]TM")
|
|
48
|
+
SEASON_REGEX = re.compile("[0-9]{4}")
|
|
49
|
+
SEASON_RANGE_REGEX = re.compile("[0-9]{4}-[0-9]{4}")
|
|
50
|
+
DATE_REGEX = re.compile("[0-1]?[0-9][0-3][0-9]")
|
|
51
|
+
DATE_RANGE_REGEX = re.compile("[0-1]?[0-9][0-3][0-9]-[0-1]?[0-9][0-3][0-9]")
|
|
52
|
+
GAME_ID_REGEX = re.compile("[A-Z1-4]{2,3}[0-9]{9}", re.IGNORECASE)
|
|
53
|
+
ASG_ID_REGEX = re.compile("[0-9]{4}-allstar-game(?P<doubleheader>-[12])?", re.IGNORECASE)
|
|
54
|
+
PLAYER_ID_REGEX = re.compile("[a-z.'_]{3,7}[0-9]{2}")
|
|
55
|
+
TEAM_ID_REGEX = re.compile("[A-Z1-4]{2,3}[0-9]{4}", re.IGNORECASE)
|
|
61
56
|
SCHEDULE_TAG_REGEX = re.compile("^all_[0-9]")
|
|
62
57
|
GAME_URL_REGEX = re.compile(
|
|
63
|
-
r"https://www\.baseball-reference\.com/boxes/[A-Z1-
|
|
58
|
+
r"https://www\.baseball-reference\.com/boxes/[A-Z1-4]{2,3}/[A-Z1-4]{2,3}[0-9]{4}[0-1][0-9][0-3][0-9][0-3]\.shtml"
|
|
64
59
|
)
|
|
65
60
|
ALLSTAR_GAME_URL_REGEX = re.compile(
|
|
66
61
|
r"https://www\.baseball-reference\.com/allstar/[1-2][0-9]{3}-allstar-game-?[1-2]?\.shtml"
|
|
@@ -72,12 +67,16 @@ TEAM_URL_REGEX = re.compile(
|
|
|
72
67
|
r"https://www\.baseball-reference\.com/teams/[A-Z1-4]{2,3}/[1-2][0-9]{3}\.shtml"
|
|
73
68
|
)
|
|
74
69
|
SB_ATTEMPT_REGEX = re.compile(
|
|
75
|
-
r"
|
|
70
|
+
r"(?P<base>2nd base|3rd base|Home) (?:off|by) (?P<pitcher>\D+)/(?P<catcher>\D+)(?P<times>[0-9]?)"
|
|
76
71
|
)
|
|
77
72
|
PICKOFF_REGEX = re.compile(
|
|
78
|
-
r"
|
|
73
|
+
r"(?P<base>1st base|2nd base|3rd base|Home) by (?P<pitcher>\D+)(?P<times>[0-9]?)"
|
|
79
74
|
)
|
|
80
75
|
|
|
76
|
+
# exponent used when calculating team Pythagorean W-L%
|
|
77
|
+
# see https://www.sports-reference.com/blog/baseball-reference-faqs/
|
|
78
|
+
PYTHAGOREAN_EXPONENT = 1.83
|
|
79
|
+
|
|
81
80
|
# old names for teams (which have box scores) that didn't relocate
|
|
82
81
|
TEAM_REPLACEMENTS = {
|
|
83
82
|
"Boston Americans": "Boston Red Sox",
|
|
@@ -539,13 +538,8 @@ GAME_BATTING_COLS = (
|
|
|
539
538
|
"2-Out RBI",
|
|
540
539
|
"LOB",
|
|
541
540
|
"RISP",
|
|
542
|
-
"Team",
|
|
543
541
|
"Team ID",
|
|
544
|
-
"Opponent",
|
|
545
542
|
"Opponent Team ID",
|
|
546
|
-
"Team Score",
|
|
547
|
-
"Result for Team",
|
|
548
|
-
"Home/Away",
|
|
549
543
|
"Game ID",
|
|
550
544
|
)
|
|
551
545
|
|
|
@@ -595,13 +589,8 @@ GAME_PITCHING_COLS = (
|
|
|
595
589
|
"NH",
|
|
596
590
|
"PG",
|
|
597
591
|
"CNH",
|
|
598
|
-
"Team",
|
|
599
592
|
"Team ID",
|
|
600
|
-
"Opponent",
|
|
601
593
|
"Opponent Team ID",
|
|
602
|
-
"Team Score",
|
|
603
|
-
"Result for Team",
|
|
604
|
-
"Home/Away",
|
|
605
594
|
"Game ID",
|
|
606
595
|
)
|
|
607
596
|
|
|
@@ -628,13 +617,8 @@ GAME_FIELDING_COLS = (
|
|
|
628
617
|
"1B Pick",
|
|
629
618
|
"2B Pick",
|
|
630
619
|
"3B Pick",
|
|
631
|
-
"Team",
|
|
632
620
|
"Team ID",
|
|
633
|
-
"Opponent",
|
|
634
621
|
"Opponent Team ID",
|
|
635
|
-
"Team Score",
|
|
636
|
-
"Result for Team",
|
|
637
|
-
"Home/Away",
|
|
638
622
|
"Game ID",
|
|
639
623
|
)
|
|
640
624
|
|
|
@@ -943,6 +927,7 @@ TEAM_INFO_COLS = (
|
|
|
943
927
|
"Wins",
|
|
944
928
|
"Losses",
|
|
945
929
|
"Ties",
|
|
930
|
+
"W-L%",
|
|
946
931
|
"Division Finish",
|
|
947
932
|
"Division",
|
|
948
933
|
"Postseason Finish",
|
|
@@ -960,6 +945,7 @@ TEAM_INFO_COLS = (
|
|
|
960
945
|
"One-Year Pitching Park Factor",
|
|
961
946
|
"Pythagorean Wins",
|
|
962
947
|
"Pythagorean Losses",
|
|
948
|
+
"Pythagorean W-L%",
|
|
963
949
|
"Runs",
|
|
964
950
|
"Runs Allowed",
|
|
965
951
|
"Team Gold Glove",
|