sportsball 0.3.23__tar.gz → 0.3.24__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.3.23/sportsball.egg-info → sportsball-0.3.24}/PKG-INFO +1 -1
- {sportsball-0.3.23 → sportsball-0.3.24}/setup.py +1 -1
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/__init__.py +1 -1
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_league_model.py +21 -9
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +10 -4
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/google/google_address_model.py +63 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_league_model.py +20 -9
- {sportsball-0.3.23 → sportsball-0.3.24/sportsball.egg-info}/PKG-INFO +1 -1
- {sportsball-0.3.23 → sportsball-0.3.24}/LICENSE +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/MANIFEST.in +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/README.md +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/requirements.txt +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/setup.cfg +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/__main__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/args.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/cache.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/address_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/combined/afl_combined_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/combined/combined_weather_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/espn_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/espn_player_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/field_type.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/league.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/nba/nba_nba_player_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/news_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/player_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/season_type.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/social_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsreference/sportsreference_game_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/team_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/logger.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/loglevel.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/proxy_session.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/session.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/sportsball.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/google/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/nba/nba_nba_player_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/player_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/social_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/team_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/x/__init__.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/tests/proxy_session_test.py +0 -0
- {sportsball-0.3.23 → sportsball-0.3.24}/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.3.
|
29
|
+
version='0.3.24',
|
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',
|
{sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_league_model.py
RENAMED
@@ -28,7 +28,7 @@ class AFLAFLTablesLeagueModel(LeagueModel):
|
|
28
28
|
super().__init__(League.AFL, session)
|
29
29
|
|
30
30
|
def _produce_games(
|
31
|
-
self, season_url: str, season_type: SeasonType
|
31
|
+
self, season_url: str, season_type: SeasonType, pbar: tqdm.tqdm
|
32
32
|
) -> Iterator[GameModel]:
|
33
33
|
# pylint: disable=too-many-branches,too-many-locals
|
34
34
|
o = urlparse(season_url)
|
@@ -68,7 +68,7 @@ class AFLAFLTablesLeagueModel(LeagueModel):
|
|
68
68
|
if current_dt is None:
|
69
69
|
raise ValueError("current_dt is null.")
|
70
70
|
if not in_finals and season_type == SeasonType.REGULAR:
|
71
|
-
|
71
|
+
game_model = create_afl_afltables_game_model(
|
72
72
|
game_number,
|
73
73
|
self.session,
|
74
74
|
url,
|
@@ -79,14 +79,18 @@ class AFLAFLTablesLeagueModel(LeagueModel):
|
|
79
79
|
season_type,
|
80
80
|
current_dt,
|
81
81
|
)
|
82
|
-
model_week =
|
82
|
+
model_week = game_model.week
|
83
83
|
if model_week is None:
|
84
84
|
raise ValueError("model_week is null")
|
85
85
|
last_round_number = model_week # pyright: ignore
|
86
86
|
if season_type == SeasonType.REGULAR:
|
87
|
-
|
87
|
+
pbar.update(1)
|
88
|
+
pbar.set_description(
|
89
|
+
f"AFLTables {game_model.year} - {season_type} - {game_model.dt}"
|
90
|
+
)
|
91
|
+
yield game_model # pyright: ignore
|
88
92
|
elif in_finals and season_type == SeasonType.POSTSEASON:
|
89
|
-
|
93
|
+
game_model = create_afl_afltables_game_model(
|
90
94
|
game_number,
|
91
95
|
self.session,
|
92
96
|
url,
|
@@ -97,6 +101,11 @@ class AFLAFLTablesLeagueModel(LeagueModel):
|
|
97
101
|
season_type,
|
98
102
|
current_dt,
|
99
103
|
)
|
104
|
+
pbar.update(1)
|
105
|
+
pbar.set_description(
|
106
|
+
f"AFLTables {game_model.year} - {season_type} - {game_model.dt}"
|
107
|
+
)
|
108
|
+
yield game_model
|
100
109
|
game_number += 1
|
101
110
|
urls_duplicates.add(url)
|
102
111
|
ladder_count = None
|
@@ -123,12 +132,15 @@ class AFLAFLTablesLeagueModel(LeagueModel):
|
|
123
132
|
def games(self) -> Iterator[GameModel]:
|
124
133
|
response = self.session.get(_SEASON_URL)
|
125
134
|
soup = BeautifulSoup(response.text, "html.parser")
|
126
|
-
with tqdm.tqdm(
|
135
|
+
with tqdm.tqdm() as pbar:
|
127
136
|
for table in soup.find_all("table"):
|
128
137
|
for tr in table.find_all("tr"):
|
129
138
|
for td in tr.find_all("td"):
|
130
139
|
for a in td.find_all("a"):
|
131
140
|
url = urllib.parse.urljoin(_SEASON_URL, a.get("href"))
|
132
|
-
yield from self._produce_games(
|
133
|
-
|
134
|
-
|
141
|
+
yield from self._produce_games(
|
142
|
+
url, SeasonType.REGULAR, pbar
|
143
|
+
)
|
144
|
+
yield from self._produce_games(
|
145
|
+
url, SeasonType.POSTSEASON, pbar
|
146
|
+
)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
"""Aussportsbetting league model."""
|
2
2
|
|
3
|
+
# pylint: disable=line-too-long
|
3
4
|
from io import BytesIO
|
4
5
|
from typing import Any, Iterator
|
5
6
|
|
@@ -95,7 +96,12 @@ class AusSportsBettingLeagueModel(LeagueModel):
|
|
95
96
|
ws = workbook.active
|
96
97
|
if ws is None:
|
97
98
|
raise ValueError("ws is null.")
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
99
|
+
with tqdm.tqdm() as pbar:
|
100
|
+
for row in ws.iter_rows():
|
101
|
+
game_model = self._row_to_game(row)
|
102
|
+
if game_model is not None:
|
103
|
+
pbar.update(1)
|
104
|
+
pbar.set_description(
|
105
|
+
f"AusSportsBetting {game_model.year} - {game_model.season_type} - {game_model.dt}"
|
106
|
+
)
|
107
|
+
yield game_model
|
@@ -7095,6 +7095,69 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
7095
7095
|
housenumber="",
|
7096
7096
|
country="USA",
|
7097
7097
|
),
|
7098
|
+
"Salt Lake City, Utah": SportsballGeocodeTuple(
|
7099
|
+
city="Salt Lake City",
|
7100
|
+
state="UT",
|
7101
|
+
postal="",
|
7102
|
+
lat=40.760833,
|
7103
|
+
lng=-111.891111,
|
7104
|
+
housenumber="",
|
7105
|
+
country="USA",
|
7106
|
+
),
|
7107
|
+
"Ferrell Center, Waco, Texas": SportsballGeocodeTuple(
|
7108
|
+
city="Waco",
|
7109
|
+
state="TX",
|
7110
|
+
postal="76706",
|
7111
|
+
lat=31.547903,
|
7112
|
+
lng=-97.105969,
|
7113
|
+
housenumber="1900",
|
7114
|
+
country="USA",
|
7115
|
+
),
|
7116
|
+
"Princeton, New Jersey": SportsballGeocodeTuple(
|
7117
|
+
city="Princeton",
|
7118
|
+
state="NJ",
|
7119
|
+
postal="",
|
7120
|
+
lat=40.358244,
|
7121
|
+
lng=-74.666728,
|
7122
|
+
housenumber="",
|
7123
|
+
country="USA",
|
7124
|
+
),
|
7125
|
+
"Nashville, Tennessee": SportsballGeocodeTuple(
|
7126
|
+
city="Nashville",
|
7127
|
+
state="TN",
|
7128
|
+
postal="",
|
7129
|
+
lat=36.162222,
|
7130
|
+
lng=-86.774444,
|
7131
|
+
housenumber="",
|
7132
|
+
country="USA",
|
7133
|
+
),
|
7134
|
+
"Fort Worth, Texas": SportsballGeocodeTuple(
|
7135
|
+
city="Fort Worth",
|
7136
|
+
state="TX",
|
7137
|
+
postal="",
|
7138
|
+
lat=32.756389,
|
7139
|
+
lng=-97.3325,
|
7140
|
+
housenumber="",
|
7141
|
+
country="USA",
|
7142
|
+
),
|
7143
|
+
"T-Mobile Center, Kansas City, Missouri": SportsballGeocodeTuple(
|
7144
|
+
city="Kansas City",
|
7145
|
+
state="MS",
|
7146
|
+
postal="",
|
7147
|
+
lat=39.0975,
|
7148
|
+
lng=-94.580278,
|
7149
|
+
housenumber="1407",
|
7150
|
+
country="USA",
|
7151
|
+
),
|
7152
|
+
"Henderson, Nevada": SportsballGeocodeTuple(
|
7153
|
+
city="Henderson",
|
7154
|
+
state="NV",
|
7155
|
+
postal="",
|
7156
|
+
lat=36.033333,
|
7157
|
+
lng=-114.983333,
|
7158
|
+
housenumber="",
|
7159
|
+
country="USA",
|
7160
|
+
),
|
7098
7161
|
}
|
7099
7162
|
|
7100
7163
|
|
{sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_league_model.py
RENAMED
@@ -1,10 +1,13 @@
|
|
1
1
|
"""Odds Portal league model."""
|
2
2
|
|
3
|
+
import http
|
3
4
|
import json
|
5
|
+
import logging
|
4
6
|
import urllib.parse
|
5
7
|
from typing import Iterator
|
6
8
|
|
7
9
|
import extruct # type: ignore
|
10
|
+
import requests
|
8
11
|
import tqdm
|
9
12
|
from bs4 import BeautifulSoup, Tag
|
10
13
|
|
@@ -52,15 +55,23 @@ class OddsPortalLeagueModel(LeagueModel):
|
|
52
55
|
for jsonld in data["json-ld"]:
|
53
56
|
if jsonld["@type"] != "SportsEvent":
|
54
57
|
continue
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
58
|
+
try:
|
59
|
+
game_model = create_oddsportal_game_model(
|
60
|
+
self.session,
|
61
|
+
urllib.parse.urljoin(base_url, jsonld["url"]),
|
62
|
+
self.league,
|
63
|
+
True,
|
64
|
+
)
|
65
|
+
pbar.update(1)
|
66
|
+
pbar.set_description(
|
67
|
+
f"OddsPortal {game_model.year} - {game_model.season_type} - {game_model.dt}"
|
68
|
+
)
|
69
|
+
yield game_model
|
70
|
+
except requests.exceptions.HTTPError as exc:
|
71
|
+
if exc.response.status_code == http.HTTPStatus.NOT_FOUND:
|
72
|
+
logging.warning("Failed to find game at: %s", jsonld["url"])
|
73
|
+
continue
|
74
|
+
raise exc
|
64
75
|
|
65
76
|
def _find_previous(self, pbar: tqdm.tqdm) -> Iterator[GameModel]:
|
66
77
|
seen_urls = set()
|
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.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_game_model.py
RENAMED
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_player_model.py
RENAMED
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_team_model.py
RENAMED
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/afl/afltables/afl_afltables_venue_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/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
|
{sportsball-0.3.23 → sportsball-0.3.24}/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
|
File without changes
|
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/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.3.23 → sportsball-0.3.24}/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.3.23 → sportsball-0.3.24}/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.3.23 → sportsball-0.3.24}/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.3.23 → sportsball-0.3.24}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/oddsportal/oddsportal_bookie_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/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
|
File without changes
|
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/sportsball/data/weather/openmeteo/openmeteo_weather_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
|
{sportsball-0.3.23 → sportsball-0.3.24}/tests/data/afl/afltables/afl_afltables_league_model_test.py
RENAMED
File without changes
|
{sportsball-0.3.23 → sportsball-0.3.24}/tests/data/afl/afltables/afl_afltables_player_model_test.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
|
{sportsball-0.3.23 → sportsball-0.3.24}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.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.3.23 → sportsball-0.3.24}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.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
|