sportsball 0.4.13__tar.gz → 0.4.15__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.
- {sportsball-0.4.13/sportsball.egg-info → sportsball-0.4.15}/PKG-INFO +1 -1
- {sportsball-0.4.13 → sportsball-0.4.15}/setup.py +1 -1
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/__init__.py +1 -1
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_player_model.py +1 -2
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/google/google_address_model.py +19 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_player_model.py +6 -4
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/position.py +1 -0
- {sportsball-0.4.13 → sportsball-0.4.15/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/espn/espn_player_model_test.py +41 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/hkjc/hkjc/hkjc_hkjc_player_model_test.py +15 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/LICENSE +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/MANIFEST.in +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/README.md +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/requirements.txt +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/setup.cfg +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/__main__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/args.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/cache.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/address_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/afl_afl_bookie_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/afl_afl_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/afl_afl_odds_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_coach_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/position.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/bet.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/coach_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_coach_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/combined/null_check.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/dividend_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_coach_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/field_type.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_bookie_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_coach_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_dividend_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_odds_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_owner_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/position.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/league.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_player_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/position.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/news_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/decrypt.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/owner_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/player_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/season_type.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sex.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/social_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/species.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsreference/sportsreference_coach_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsreference/sportsreference_game_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/team_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/logger.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/loglevel.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/playwright.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/proxy_session.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/session.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/sportsball.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afl/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afl/afl_afl_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afl/afl_afl_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afltables/afl_afltables_coach_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/combined/combined_team_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/combined/combined_venue_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/google/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/hkjc/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/hkjc/hkjc/hkjc_hkjc_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/oddsportal/decrypt_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/player_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/social_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsreference/sportsreference_coach_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/team_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/x/__init__.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/proxy_session_test.py +0 -0
- {sportsball-0.4.13 → sportsball-0.4.15}/tests/sportsball_test.py +0 -0
@@ -26,7 +26,7 @@ def install_requires() -> typing.List[str]:
|
|
26
26
|
|
27
27
|
setup(
|
28
28
|
name='sportsball',
|
29
|
-
version='0.4.
|
29
|
+
version='0.4.15',
|
30
30
|
description='A library for pulling in and normalising sports stats.',
|
31
31
|
long_description=long_description,
|
32
32
|
long_description_content_type='text/markdown',
|
@@ -50,8 +50,7 @@ def _create_espn_player_model(
|
|
50
50
|
try:
|
51
51
|
birth_date = parse(athlete_dict["dateOfBirth"]).date()
|
52
52
|
except KeyError:
|
53
|
-
logging.
|
54
|
-
raise
|
53
|
+
logging.warning("Failed to get birth date for %s", athlete_response.url)
|
55
54
|
|
56
55
|
birth_place = athlete_dict["birthPlace"]
|
57
56
|
return PlayerModel(
|
@@ -15543,6 +15543,25 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
15543
15543
|
housenumber="",
|
15544
15544
|
country="Spain",
|
15545
15545
|
),
|
15546
|
+
"Corinthians Arena - Sao Paulo": SportsballGeocodeTuple(
|
15547
|
+
city="Sao Paulo",
|
15548
|
+
state="",
|
15549
|
+
postal="",
|
15550
|
+
lat=-23.54525,
|
15551
|
+
lng=-46.474278,
|
15552
|
+
housenumber="",
|
15553
|
+
country="Brazil",
|
15554
|
+
),
|
15555
|
+
"AT&T Stadium, Arlington, TX, USA": ATT_STADIUM,
|
15556
|
+
"Brandon, MS, USA": SportsballGeocodeTuple(
|
15557
|
+
city="Brandon",
|
15558
|
+
state="MS",
|
15559
|
+
postal="",
|
15560
|
+
lat=32.280278,
|
15561
|
+
lng=-89.998333,
|
15562
|
+
housenumber="",
|
15563
|
+
country="USA",
|
15564
|
+
),
|
15546
15565
|
}
|
15547
15566
|
|
15548
15567
|
|
@@ -41,13 +41,12 @@ def _create_hkjc_hkjc_player_model(
|
|
41
41
|
dfs = []
|
42
42
|
try:
|
43
43
|
dfs = pd.read_html(handle)
|
44
|
-
except AttributeError as exc:
|
45
|
-
logging.warning(str(exc))
|
46
44
|
except ValueError:
|
47
45
|
if not is_sire:
|
48
46
|
logging.error(response.text)
|
49
47
|
logging.error(url)
|
50
|
-
|
48
|
+
logging.error(response.url)
|
49
|
+
return None
|
51
50
|
|
52
51
|
soup = BeautifulSoup(response.text, "lxml")
|
53
52
|
for noscript in soup.find_all("noscript"):
|
@@ -64,7 +63,9 @@ def _create_hkjc_hkjc_player_model(
|
|
64
63
|
age = None
|
65
64
|
birth_address = None
|
66
65
|
owner = None
|
67
|
-
if o.path.endswith("/Horse/Horse.aspx")
|
66
|
+
if o.path.endswith("/Horse/Horse.aspx") or o.path.endswith(
|
67
|
+
"/Horse/OtherHorse.aspx"
|
68
|
+
):
|
68
69
|
species = Species.HORSE
|
69
70
|
for count, df in enumerate(dfs):
|
70
71
|
if count == 0:
|
@@ -123,6 +124,7 @@ def _create_hkjc_hkjc_player_model(
|
|
123
124
|
logging.error(dfs)
|
124
125
|
logging.error(o.path)
|
125
126
|
logging.error(url)
|
127
|
+
logging.error(response.url)
|
126
128
|
raise ValueError("name is null")
|
127
129
|
|
128
130
|
return PlayerModel(
|
@@ -54,3 +54,44 @@ class TestESPNPlayerModel(unittest.TestCase):
|
|
54
54
|
)
|
55
55
|
|
56
56
|
self.assertEqual(player_model.identifier, identifier)
|
57
|
+
|
58
|
+
def test_no_birth_date(self):
|
59
|
+
dt = datetime.datetime(2023, 9, 15, 0, 15)
|
60
|
+
identifier = "a"
|
61
|
+
statistics_url = "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/events/401671855/competitions/401671855/competitors/5/roster/16837/statistics/0?lang=en®ion=us"
|
62
|
+
athletes_url = "http://sports.core.api.espn.com/v2/sports/football/leagues/college-football/seasons/2024/athletes/102597?lang=en®ion=us"
|
63
|
+
position_url = "http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/positions/32?lang=en®ion=us"
|
64
|
+
with requests_mock.Mocker() as m:
|
65
|
+
with open(os.path.join(self.dir, "16837_statistics.json"), "rb") as f:
|
66
|
+
m.get(statistics_url, content=f.read())
|
67
|
+
with open(os.path.join(self.dir, "102597_athletes.json"), "rb") as f:
|
68
|
+
m.get(athletes_url, content=f.read())
|
69
|
+
with open(os.path.join(self.dir, "32_positions.json"), "rb") as f:
|
70
|
+
m.get(position_url, content=f.read())
|
71
|
+
player_model = create_espn_player_model(
|
72
|
+
session=self._session,
|
73
|
+
player={
|
74
|
+
"playerId": identifier,
|
75
|
+
"period": 0,
|
76
|
+
"active": False,
|
77
|
+
"starter": True,
|
78
|
+
"forPlayerId": 0,
|
79
|
+
"jersey": "93",
|
80
|
+
"valid": True,
|
81
|
+
"athlete": {
|
82
|
+
"$ref": athletes_url,
|
83
|
+
},
|
84
|
+
"position": {
|
85
|
+
"$ref": position_url,
|
86
|
+
},
|
87
|
+
"statistics": {
|
88
|
+
"$ref": statistics_url,
|
89
|
+
},
|
90
|
+
"didNotPlay": False,
|
91
|
+
"displayName": "S. Harris",
|
92
|
+
},
|
93
|
+
dt=dt,
|
94
|
+
positions_validator={"DT": "DT"},
|
95
|
+
)
|
96
|
+
|
97
|
+
self.assertIsNone(player_model.birth_date)
|
@@ -28,3 +28,18 @@ class TestHKJCHKJCPlayerModel(unittest.TestCase):
|
|
28
28
|
weight=None,
|
29
29
|
)
|
30
30
|
self.assertEqual(player_model.name, "Nyquist")
|
31
|
+
|
32
|
+
def test_null_horse(self):
|
33
|
+
with requests_mock.Mocker() as m:
|
34
|
+
url = "https://racing.hkjc.com/racing/information/English/Horse/OtherHorse.aspx?HorseId=HK_2018_C348"
|
35
|
+
with open(os.path.join(self.dir, "horse_HK_2018_C348.html"), "rb") as f:
|
36
|
+
m.get(url, content=f.read())
|
37
|
+
player_model = create_hkjc_hkjc_player_model(
|
38
|
+
session=self._session,
|
39
|
+
url=url,
|
40
|
+
jersey=None,
|
41
|
+
handicap_weight=None,
|
42
|
+
starting_position=None,
|
43
|
+
weight=None,
|
44
|
+
)
|
45
|
+
self.assertIsNone(player_model)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_coach_model.py
RENAMED
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_game_model.py
RENAMED
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_player_model.py
RENAMED
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_team_model.py
RENAMED
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/afltables/afl_afltables_venue_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/afl/combined/afl_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/hkjc/hkjc/hkjc_hkjc_dividend_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/combined/nba_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_league_model.py
RENAMED
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_player_model.py
RENAMED
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/nbacom/nba_nbacom_venue_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/combined/nfl_combined_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_bookie_model.py
RENAMED
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.4.13 → sportsball-0.4.15}/sportsball/data/oddsportal/oddsportal_venue_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|