sportsball 0.5.23__tar.gz → 0.6.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.
- {sportsball-0.5.23/sportsball.egg-info → sportsball-0.6.0}/PKG-INFO +64 -1
- {sportsball-0.5.23 → sportsball-0.6.0}/README.md +63 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/setup.py +1 -1
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/__init__.py +1 -1
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/combined/afl_combined_league_model.py +1 -0
- sportsball-0.6.0/sportsball/data/combined/combined_weather_model.py +359 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/google/google_address_model.py +1 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/league_model.py +19 -1
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/position.py +1 -0
- sportsball-0.6.0/sportsball/data/weather/gribstream/gribstream_weather_model.py +159 -0
- sportsball-0.6.0/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +480 -0
- sportsball-0.6.0/sportsball/data/weather_model.py +77 -0
- {sportsball-0.5.23 → sportsball-0.6.0/sportsball.egg-info}/PKG-INFO +64 -1
- sportsball-0.5.23/sportsball/data/combined/combined_weather_model.py +0 -22
- sportsball-0.5.23/sportsball/data/weather/gribstream/gribstream_weather_model.py +0 -85
- sportsball-0.5.23/sportsball/data/weather/openmeteo/openmeteo_weather_model.py +0 -181
- sportsball-0.5.23/sportsball/data/weather_model.py +0 -10
- {sportsball-0.5.23 → sportsball-0.6.0}/LICENSE +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/MANIFEST.in +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/requirements.txt +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/setup.cfg +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/__main__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/args.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/cache.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/address_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/afl_afl_bookie_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/afl_afl_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/afl_afl_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/afl_afl_odds_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/afl_afl_player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/afl_afl_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afl/afl_afl_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afltables/afl_afltables_coach_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afltables/afl_afltables_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afltables/afl_afltables_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afltables/afl_afltables_player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afltables/afl_afltables_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/afltables/afl_afltables_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/aussportsbetting/afl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/combined/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/espn/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/espn/afl_espn_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/oddsportal/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/oddsportal/afl_oddsportal_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/afl/position.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/aussportsbetting/aussportsbetting_bookie_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/aussportsbetting/aussportsbetting_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/aussportsbetting/aussportsbetting_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/aussportsbetting/aussportsbetting_odds_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/aussportsbetting/aussportsbetting_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/aussportsbetting/aussportsbetting_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/bet.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/bookie_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/coach_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/combined_address_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/combined_coach_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/combined_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/combined_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/combined_player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/combined_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/combined_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/combined/null_check.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/dividend_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_bookie_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_coach_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_odds_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/espn/espn_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/field_type.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/google/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/google/google_news_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_bookie_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_coach_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_dividend_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_odds_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_owner_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/hkjc/hkjc_hkjc_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/hkjc/position.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/league.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/combined/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/combined/nba_combined_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/espn/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/espn/nba_espn_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nba/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nba/nba_nba_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nba/nba_nba_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nba/nba_nba_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nbacom/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nbacom/nba_nbacom_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nbacom/nba_nbacom_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nbacom/nba_nbacom_player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nbacom/nba_nbacom_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/nbacom/nba_nbacom_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/oddsportal/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/oddsportal/nba_oddsportal_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/position.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/sportsdb/nba_sportsdb_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nba/sportsreference/nba_sportsreference_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/combined/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/combined/ncaab_combined_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/espn/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/espn/ncaab_espn_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/oddsportal/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/oddsportal/ncaab_oddsportal_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaab/sportsreference/ncaab_sportsreference_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaaf/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaaf/combined/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaaf/combined/ncaaf_combined_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaaf/espn/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaaf/espn/ncaaf_espn_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaaf/oddsportal/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/ncaaf/oddsportal/ncaaf_oddsportal_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/news_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/aussportsbetting/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/aussportsbetting/nfl_aussportsbetting_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/combined/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/combined/nfl_combined_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/espn/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/espn/nfl_espn_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/oddsportal/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/oddsportal/nfl_oddsportal_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/nfl/sportsdb/nfl_sportsdb_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/odds_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/decrypt.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/oddsportal_bookie_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/oddsportal_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/oddsportal_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/oddsportal_odds_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/oddsportal_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/oddsportal/oddsportal_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/owner_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/season_type.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sex.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/social_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/species.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsdb/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsdb/sportsdb_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsdb/sportsdb_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsdb/sportsdb_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsdb/sportsdb_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsreference/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsreference/sportsreference_coach_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsreference/sportsreference_game_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsreference/sportsreference_league_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsreference/sportsreference_player_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsreference/sportsreference_team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/sportsreference/sportsreference_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/team_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/weather/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/weather/gribstream/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/weather/multi_weather_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/weather/openmeteo/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/wikipedia/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/wikipedia/wikipedia_venue_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/x/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/data/x/x_social_model.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/logger.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/loglevel.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/playwright.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/sportsball.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/vendor/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball/vendor/pygooglenews/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball.egg-info/SOURCES.txt +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball.egg-info/dependency_links.txt +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball.egg-info/entry_points.txt +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball.egg-info/not-zip-safe +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball.egg-info/requires.txt +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/sportsball.egg-info/top_level.txt +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afl/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afl/afl_afl_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afl/afl_afl_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afltables/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afltables/afl_afltables_coach_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afltables/afl_afltables_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afltables/afl_afltables_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/afl/afltables/afl_afltables_player_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/aussportsbetting/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/aussportsbetting/aussportsbetting_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/combined/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/combined/combined_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/combined/combined_player_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/combined/combined_team_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/combined/combined_venue_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/espn/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/espn/espn_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/espn/espn_player_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/google/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/google/google_address_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/google/google_news_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/hkjc/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/hkjc/hkjc/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/hkjc/hkjc/hkjc_hkjc_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/hkjc/hkjc/hkjc_hkjc_player_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/nba/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/nba/nba_nba_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/nba/nba_nba_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/nba/nba_nba_team_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/sportsdb/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/sportsdb/nba_sportsdb_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/sportsreference/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nba/sportsreference/nba_sportsreference_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/ncaab/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/ncaab/sportsreference/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/ncaab/sportsreference/ncaab_sportsreference_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nfl/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nfl/sportsdb/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/nfl/sportsdb/nfl_sportsdb_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/oddsportal/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/oddsportal/decrypt_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/oddsportal/oddsportal_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/oddsportal/oddsportal_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/player_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/social_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsdb/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsdb/sportsdb_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsdb/sportsdb_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsdb/sportsdb_team_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsdb/sportsdb_venue_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsreference/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsreference/sportsreference_coach_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsreference/sportsreference_game_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsreference/sportsreference_league_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsreference/sportsreference_player_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsreference/sportsreference_team_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/sportsreference/sportsreference_venue_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/team_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/x/__init__.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/data/x/x_social_model_test.py +0 -0
- {sportsball-0.5.23 → sportsball-0.6.0}/tests/sportsball_test.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: sportsball
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.6.0
|
4
4
|
Summary: A library for pulling in and normalising sports stats.
|
5
5
|
Home-page: https://github.com/8W9aG/sportsball
|
6
6
|
Author: Will Sackfield
|
@@ -328,6 +328,69 @@ The forecasted weather one day out at the address of the game start time.
|
|
328
328
|
|
329
329
|
* **temperature**: The temperature at the address at the game start time.
|
330
330
|
* **relative_humidity**: The relative humidity at the address at the game start time.
|
331
|
+
* **dew_point**: The temperature at the address at the game start time.
|
332
|
+
* **apparent_temperature**: The apparent temperature at the address at the game start time.
|
333
|
+
* **precipitation_probability**: The precipitation probability at the address at the game start time.
|
334
|
+
* **precipitation**: The precipitation at the address at the game start time.
|
335
|
+
* **rain**: The rain at the address at the game start time.
|
336
|
+
* **showers**: The showers at the address at the game start time.
|
337
|
+
* **snowfall**: The snowfall at the address at the game start time.
|
338
|
+
* **snow_depth**: The snow depth at the address at the game start time.
|
339
|
+
* **weather_code**: The weather code at the address at the game start time.
|
340
|
+
* **sealevel_pressure**: The sealevel pressure at the address at the game start time.
|
341
|
+
* **surface_pressure**: The surface pressure at the address at the game start time.
|
342
|
+
* **cloud_cover_total**: The total cloud cover at the address at the game start time.
|
343
|
+
* **cloud_cover_low**: The low cloud cover at the address at the game start time.
|
344
|
+
* **cloud_cover_mid**: The mid cloud cover at the address at the game start time.
|
345
|
+
* **cloud_cover_high**: The high cloud cover at the address at the game start time.
|
346
|
+
* **visibility**: The visibility at the address at the game start time.
|
347
|
+
* **evapotranspiration**: The evapotranspiration at the address at the game start time.
|
348
|
+
* **reference_evapotranspiration**: The reference evapotranspiration at the address at the game start time.
|
349
|
+
* **vapour_pressure_deficit**: The vapour pressure deficit at the address at the game start time.
|
350
|
+
* **wind_speed_10m**: The wind speed at 10m at the address at the game start time.
|
351
|
+
* **wind_speed_80m**: The wind speed at 80m at the address at the game start time.
|
352
|
+
* **wind_speed_120m**: The wind speed at 120m at the address at the game start time.
|
353
|
+
* **wind_speed_180m**: The wind speed at 180m at the address at the game start time.
|
354
|
+
* **wind_direction_10m**: The wind direction at 10m at the address at the game start time.
|
355
|
+
* **wind_direction_80m**: The wind direction at 80m at the address at the game start time.
|
356
|
+
* **wind_direction_120m**: The wind direction at 120m at the address at the game start time.
|
357
|
+
* **wind_direction_180m**: The wind direction at 180m at the address at the game start time.
|
358
|
+
* **wind_gusts**: The wind gusts at the address at the game start time.
|
359
|
+
* **temperature_80m**: The temperature at 80m at the address at the game start time.
|
360
|
+
* **temperature_120m**: The temperature at 120m at the address at the game start time.
|
361
|
+
* **temperature_180m**: The temperature at 180m at the address at the game start time.
|
362
|
+
* **soil_temperature_0cm**: The soil temperature at the address at the game start time.
|
363
|
+
* **soil_temperature_6cm**: The soil temperature at 6cm at the address at the game start time.
|
364
|
+
* **soil_temperature_18cm**: The soil temperature at 18cm at the address at the game start time.
|
365
|
+
* **soil_temperature_54cm**: The soil temperature at 54cm at the address at the game start time.
|
366
|
+
* **soil_moisture_0cm**: The soil moisture at the address at the game start time.
|
367
|
+
* **soil_moisture_1cm**: The soil moisture at 1cm at the address at the game start time.
|
368
|
+
* **soil_moisture_3cm**: The soil moisture at 3cm at the address at the game start time.
|
369
|
+
* **soil_moisture_9cm**: The soil moisture at 9cm at the address at the game start time.
|
370
|
+
* **soil_moisture_27cm**: The soil moisture at 27cm at the address at the game start time.
|
371
|
+
* **daily_weather_code**: The daily weather code at the address at the game start time.
|
372
|
+
* **daily_maximum_temperature_2m**: The daily maximum temperature at 2m at the address at the game start time.
|
373
|
+
* **daily_minimum_temperature_2m**: The daily minimum temperature at 2m at the address at the game start time.
|
374
|
+
* **daily_maximum_apparent_temperature_2m**: The daily maximum apparent temperature at 2m at the address at the game start time.
|
375
|
+
* **daily_minimum_apparent_temperature_2m**: The daily minimum apparent temperature at 2m at the address at the game start time.
|
376
|
+
* **sunrise**: The sunrise at the address at the game start time.
|
377
|
+
* **sunset**: The sunset at the address at the game start time.
|
378
|
+
* **daylight_duration**: The daylight duration at the address at the game start time.
|
379
|
+
* **sunshine_duration**: The sunshine duration at the address at the game start time.
|
380
|
+
* **uv_index**: The UV index at the address at the game start time.
|
381
|
+
* **uv_index_clear_sky**: The UV index for clear sky at the address at the game start time.
|
382
|
+
* **rain_sum**: The rain sum at the address at the game start time.
|
383
|
+
* **showers_sum**: The showers sum at the address at the game start time.
|
384
|
+
* **snowfall_sum**: The snowfall sum at the address at the game start time.
|
385
|
+
* **precipitation_sum**: The precipitation sum at the address at the game start time.
|
386
|
+
* **precipitation_hours**: The precipitation hours at the address at the game start time.
|
387
|
+
* **precipitation_probability_max**: The maximum precipitation probability at the address at the game start time.
|
388
|
+
* **maximum_wind_speed_10m**: The maximum wind speed at 10m at the address at the game start time.
|
389
|
+
* **maximum_wind_gusts_10m**: The maximum wind gusts at 10m at the address at the game start time.
|
390
|
+
* **dominant_wind_direction**: The dominant wind direction at the address at the game start time.
|
391
|
+
* **shortwave_radiation_sum**: The shortwave radiation sum at the address at the game start time.
|
392
|
+
* **daily_reference_evapotranspiration**: The daily reference evapotranspiration at the address at the game start time.
|
393
|
+
* **version**: The version of the weather model.
|
331
394
|
|
332
395
|
#### News
|
333
396
|
|
@@ -267,6 +267,69 @@ The forecasted weather one day out at the address of the game start time.
|
|
267
267
|
|
268
268
|
* **temperature**: The temperature at the address at the game start time.
|
269
269
|
* **relative_humidity**: The relative humidity at the address at the game start time.
|
270
|
+
* **dew_point**: The temperature at the address at the game start time.
|
271
|
+
* **apparent_temperature**: The apparent temperature at the address at the game start time.
|
272
|
+
* **precipitation_probability**: The precipitation probability at the address at the game start time.
|
273
|
+
* **precipitation**: The precipitation at the address at the game start time.
|
274
|
+
* **rain**: The rain at the address at the game start time.
|
275
|
+
* **showers**: The showers at the address at the game start time.
|
276
|
+
* **snowfall**: The snowfall at the address at the game start time.
|
277
|
+
* **snow_depth**: The snow depth at the address at the game start time.
|
278
|
+
* **weather_code**: The weather code at the address at the game start time.
|
279
|
+
* **sealevel_pressure**: The sealevel pressure at the address at the game start time.
|
280
|
+
* **surface_pressure**: The surface pressure at the address at the game start time.
|
281
|
+
* **cloud_cover_total**: The total cloud cover at the address at the game start time.
|
282
|
+
* **cloud_cover_low**: The low cloud cover at the address at the game start time.
|
283
|
+
* **cloud_cover_mid**: The mid cloud cover at the address at the game start time.
|
284
|
+
* **cloud_cover_high**: The high cloud cover at the address at the game start time.
|
285
|
+
* **visibility**: The visibility at the address at the game start time.
|
286
|
+
* **evapotranspiration**: The evapotranspiration at the address at the game start time.
|
287
|
+
* **reference_evapotranspiration**: The reference evapotranspiration at the address at the game start time.
|
288
|
+
* **vapour_pressure_deficit**: The vapour pressure deficit at the address at the game start time.
|
289
|
+
* **wind_speed_10m**: The wind speed at 10m at the address at the game start time.
|
290
|
+
* **wind_speed_80m**: The wind speed at 80m at the address at the game start time.
|
291
|
+
* **wind_speed_120m**: The wind speed at 120m at the address at the game start time.
|
292
|
+
* **wind_speed_180m**: The wind speed at 180m at the address at the game start time.
|
293
|
+
* **wind_direction_10m**: The wind direction at 10m at the address at the game start time.
|
294
|
+
* **wind_direction_80m**: The wind direction at 80m at the address at the game start time.
|
295
|
+
* **wind_direction_120m**: The wind direction at 120m at the address at the game start time.
|
296
|
+
* **wind_direction_180m**: The wind direction at 180m at the address at the game start time.
|
297
|
+
* **wind_gusts**: The wind gusts at the address at the game start time.
|
298
|
+
* **temperature_80m**: The temperature at 80m at the address at the game start time.
|
299
|
+
* **temperature_120m**: The temperature at 120m at the address at the game start time.
|
300
|
+
* **temperature_180m**: The temperature at 180m at the address at the game start time.
|
301
|
+
* **soil_temperature_0cm**: The soil temperature at the address at the game start time.
|
302
|
+
* **soil_temperature_6cm**: The soil temperature at 6cm at the address at the game start time.
|
303
|
+
* **soil_temperature_18cm**: The soil temperature at 18cm at the address at the game start time.
|
304
|
+
* **soil_temperature_54cm**: The soil temperature at 54cm at the address at the game start time.
|
305
|
+
* **soil_moisture_0cm**: The soil moisture at the address at the game start time.
|
306
|
+
* **soil_moisture_1cm**: The soil moisture at 1cm at the address at the game start time.
|
307
|
+
* **soil_moisture_3cm**: The soil moisture at 3cm at the address at the game start time.
|
308
|
+
* **soil_moisture_9cm**: The soil moisture at 9cm at the address at the game start time.
|
309
|
+
* **soil_moisture_27cm**: The soil moisture at 27cm at the address at the game start time.
|
310
|
+
* **daily_weather_code**: The daily weather code at the address at the game start time.
|
311
|
+
* **daily_maximum_temperature_2m**: The daily maximum temperature at 2m at the address at the game start time.
|
312
|
+
* **daily_minimum_temperature_2m**: The daily minimum temperature at 2m at the address at the game start time.
|
313
|
+
* **daily_maximum_apparent_temperature_2m**: The daily maximum apparent temperature at 2m at the address at the game start time.
|
314
|
+
* **daily_minimum_apparent_temperature_2m**: The daily minimum apparent temperature at 2m at the address at the game start time.
|
315
|
+
* **sunrise**: The sunrise at the address at the game start time.
|
316
|
+
* **sunset**: The sunset at the address at the game start time.
|
317
|
+
* **daylight_duration**: The daylight duration at the address at the game start time.
|
318
|
+
* **sunshine_duration**: The sunshine duration at the address at the game start time.
|
319
|
+
* **uv_index**: The UV index at the address at the game start time.
|
320
|
+
* **uv_index_clear_sky**: The UV index for clear sky at the address at the game start time.
|
321
|
+
* **rain_sum**: The rain sum at the address at the game start time.
|
322
|
+
* **showers_sum**: The showers sum at the address at the game start time.
|
323
|
+
* **snowfall_sum**: The snowfall sum at the address at the game start time.
|
324
|
+
* **precipitation_sum**: The precipitation sum at the address at the game start time.
|
325
|
+
* **precipitation_hours**: The precipitation hours at the address at the game start time.
|
326
|
+
* **precipitation_probability_max**: The maximum precipitation probability at the address at the game start time.
|
327
|
+
* **maximum_wind_speed_10m**: The maximum wind speed at 10m at the address at the game start time.
|
328
|
+
* **maximum_wind_gusts_10m**: The maximum wind gusts at 10m at the address at the game start time.
|
329
|
+
* **dominant_wind_direction**: The dominant wind direction at the address at the game start time.
|
330
|
+
* **shortwave_radiation_sum**: The shortwave radiation sum at the address at the game start time.
|
331
|
+
* **daily_reference_evapotranspiration**: The daily reference evapotranspiration at the address at the game start time.
|
332
|
+
* **version**: The version of the weather model.
|
270
333
|
|
271
334
|
#### News
|
272
335
|
|
@@ -26,7 +26,7 @@ def install_requires() -> typing.List[str]:
|
|
26
26
|
|
27
27
|
setup(
|
28
28
|
name='sportsball',
|
29
|
-
version='0.
|
29
|
+
version='0.6.0',
|
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',
|
@@ -0,0 +1,359 @@
|
|
1
|
+
"""Combined weather model."""
|
2
|
+
|
3
|
+
# pylint: disable=too-many-locals,too-many-statements,too-many-branches
|
4
|
+
from ..weather_model import WeatherModel
|
5
|
+
from .null_check import is_null
|
6
|
+
|
7
|
+
|
8
|
+
def create_combined_weather_model(
|
9
|
+
weather_models: list[WeatherModel],
|
10
|
+
) -> WeatherModel | None:
|
11
|
+
"""Create a weather model by combining many weather models."""
|
12
|
+
if not weather_models:
|
13
|
+
return None
|
14
|
+
temperature = None
|
15
|
+
relative_humidity = None
|
16
|
+
dew_point = None
|
17
|
+
apparent_temperature = None
|
18
|
+
precipitation_probability = None
|
19
|
+
precipitation = None
|
20
|
+
rain = None
|
21
|
+
showers = None
|
22
|
+
snowfall = None
|
23
|
+
snow_depth = None
|
24
|
+
weather_code = None
|
25
|
+
sealevel_pressure = None
|
26
|
+
surface_pressure = None
|
27
|
+
cloud_cover_total = None
|
28
|
+
cloud_cover_low = None
|
29
|
+
cloud_cover_mid = None
|
30
|
+
cloud_cover_high = None
|
31
|
+
visibility = None
|
32
|
+
evapotranspiration = None
|
33
|
+
reference_evapotranspiration = None
|
34
|
+
vapour_pressure_deficit = None
|
35
|
+
wind_speed_10m = None
|
36
|
+
wind_speed_80m = None
|
37
|
+
wind_speed_120m = None
|
38
|
+
wind_speed_180m = None
|
39
|
+
wind_direction_10m = None
|
40
|
+
wind_direction_80m = None
|
41
|
+
wind_direction_120m = None
|
42
|
+
wind_direction_180m = None
|
43
|
+
wind_gusts = None
|
44
|
+
temperature_80m = None
|
45
|
+
temperature_120m = None
|
46
|
+
temperature_180m = None
|
47
|
+
soil_temperature_0cm = None
|
48
|
+
soil_temperature_6cm = None
|
49
|
+
soil_temperature_18cm = None
|
50
|
+
soil_temperature_54cm = None
|
51
|
+
soil_moisture_0cm = None
|
52
|
+
soil_moisture_1cm = None
|
53
|
+
soil_moisture_3cm = None
|
54
|
+
soil_moisture_9cm = None
|
55
|
+
soil_moisture_27cm = None
|
56
|
+
daily_weather_code = None
|
57
|
+
daily_maximum_temperature_2m = None
|
58
|
+
daily_minimum_temperature_2m = None
|
59
|
+
daily_maximum_apparent_temperature_2m = None
|
60
|
+
daily_minimum_apparent_temperature_2m = None
|
61
|
+
sunrise = None
|
62
|
+
sunset = None
|
63
|
+
daylight_duration = None
|
64
|
+
sunshine_duration = None
|
65
|
+
uv_index = None
|
66
|
+
uv_index_clear_sky = None
|
67
|
+
rain_sum = None
|
68
|
+
showers_sum = None
|
69
|
+
snowfall_sum = None
|
70
|
+
precipitation_sum = None
|
71
|
+
precipitation_hours = None
|
72
|
+
precipitation_probability_max = None
|
73
|
+
maximum_wind_speed_10m = None
|
74
|
+
maximum_wind_gusts_10m = None
|
75
|
+
dominant_wind_direction = None
|
76
|
+
shortwave_radiation_sum = None
|
77
|
+
daily_reference_evapotranspiration = None
|
78
|
+
for weather_model in weather_models:
|
79
|
+
weather_model_temperature = weather_model.temperature
|
80
|
+
if not is_null(weather_model_temperature):
|
81
|
+
temperature = weather_model_temperature
|
82
|
+
weather_model_relative_humidity = weather_model.relative_humidity
|
83
|
+
if not is_null(weather_model_relative_humidity):
|
84
|
+
relative_humidity = weather_model_relative_humidity
|
85
|
+
weather_model_dew_point = weather_model.dew_point
|
86
|
+
if not is_null(weather_model_dew_point):
|
87
|
+
dew_point = weather_model_dew_point
|
88
|
+
weather_model_apparent_temperature = weather_model.apparent_temperature
|
89
|
+
if not is_null(weather_model_apparent_temperature):
|
90
|
+
apparent_temperature = weather_model_apparent_temperature
|
91
|
+
weather_model_precipitation_probability = (
|
92
|
+
weather_model.precipitation_probability
|
93
|
+
)
|
94
|
+
if not is_null(weather_model_precipitation_probability):
|
95
|
+
precipitation_probability = weather_model_precipitation_probability
|
96
|
+
weather_model_precipitation = weather_model.precipitation
|
97
|
+
if not is_null(weather_model_precipitation):
|
98
|
+
precipitation = weather_model_precipitation
|
99
|
+
weather_model_rain = weather_model.rain
|
100
|
+
if not is_null(weather_model_rain):
|
101
|
+
rain = weather_model_rain
|
102
|
+
weather_model_showers = weather_model.showers
|
103
|
+
if not is_null(weather_model_showers):
|
104
|
+
showers = weather_model_showers
|
105
|
+
weather_model_snowfall = weather_model.snowfall
|
106
|
+
if not is_null(weather_model_snowfall):
|
107
|
+
snowfall = weather_model_snowfall
|
108
|
+
weather_model_snow_depth = weather_model.snow_depth
|
109
|
+
if not is_null(weather_model_snow_depth):
|
110
|
+
snow_depth = weather_model_snow_depth
|
111
|
+
weather_model_weather_code = weather_model.weather_code
|
112
|
+
if not is_null(weather_model_weather_code):
|
113
|
+
weather_code = weather_model_weather_code
|
114
|
+
weather_model_sealevel_pressure = weather_model.sealevel_pressure
|
115
|
+
if not is_null(weather_model_sealevel_pressure):
|
116
|
+
sealevel_pressure = weather_model_sealevel_pressure
|
117
|
+
weather_model_surface_pressure = weather_model.surface_pressure
|
118
|
+
if not is_null(weather_model_surface_pressure):
|
119
|
+
surface_pressure = weather_model_surface_pressure
|
120
|
+
weather_model_cloud_cover_total = weather_model.cloud_cover_total
|
121
|
+
if not is_null(weather_model_cloud_cover_total):
|
122
|
+
cloud_cover_total = weather_model_cloud_cover_total
|
123
|
+
weather_model_cloud_cover_low = weather_model.cloud_cover_low
|
124
|
+
if not is_null(weather_model_cloud_cover_low):
|
125
|
+
cloud_cover_low = weather_model_cloud_cover_low
|
126
|
+
weather_model_cloud_cover_mid = weather_model.cloud_cover_mid
|
127
|
+
if not is_null(weather_model_cloud_cover_mid):
|
128
|
+
cloud_cover_mid = weather_model_cloud_cover_mid
|
129
|
+
weather_model_cloud_cover_high = weather_model.cloud_cover_high
|
130
|
+
if not is_null(weather_model_cloud_cover_high):
|
131
|
+
cloud_cover_high = weather_model_cloud_cover_high
|
132
|
+
weather_model_visibility = weather_model.visibility
|
133
|
+
if not is_null(weather_model_visibility):
|
134
|
+
visibility = weather_model_visibility
|
135
|
+
weather_model_evapotranspiration = weather_model.evapotranspiration
|
136
|
+
if not is_null(weather_model_evapotranspiration):
|
137
|
+
evapotranspiration = weather_model_evapotranspiration
|
138
|
+
weather_model_reference_evapotranspiration = (
|
139
|
+
weather_model.reference_evapotranspiration
|
140
|
+
)
|
141
|
+
if not is_null(weather_model_reference_evapotranspiration):
|
142
|
+
reference_evapotranspiration = weather_model_reference_evapotranspiration
|
143
|
+
weather_model_vapour_pressure_deficit = weather_model.vapour_pressure_deficit
|
144
|
+
if not is_null(weather_model_vapour_pressure_deficit):
|
145
|
+
vapour_pressure_deficit = weather_model_vapour_pressure_deficit
|
146
|
+
weather_model_wind_speed_10m = weather_model.wind_speed_10m
|
147
|
+
if not is_null(weather_model_wind_speed_10m):
|
148
|
+
wind_speed_10m = weather_model_wind_speed_10m
|
149
|
+
weather_model_wind_speed_80m = weather_model.wind_speed_80m
|
150
|
+
if not is_null(weather_model_wind_speed_80m):
|
151
|
+
wind_speed_80m = weather_model_wind_speed_80m
|
152
|
+
weather_model_wind_speed_120m = weather_model.wind_speed_120m
|
153
|
+
if not is_null(weather_model_wind_speed_120m):
|
154
|
+
wind_speed_120m = weather_model_wind_speed_120m
|
155
|
+
weather_model_wind_speed_180m = weather_model.wind_speed_180m
|
156
|
+
if not is_null(weather_model_wind_speed_180m):
|
157
|
+
wind_speed_180m = weather_model.wind_speed_180m
|
158
|
+
weather_model_wind_direction_10m = weather_model.wind_direction_10m
|
159
|
+
if not is_null(weather_model_wind_direction_10m):
|
160
|
+
wind_direction_10m = weather_model.wind_direction_10m
|
161
|
+
weather_model_wind_direction_80m = weather_model.wind_direction_80m
|
162
|
+
if not is_null(weather_model_wind_direction_80m):
|
163
|
+
wind_direction_80m = weather_model_wind_direction_80m
|
164
|
+
weather_model_wind_direction_120m = weather_model.wind_direction_120m
|
165
|
+
if not is_null(weather_model_wind_direction_120m):
|
166
|
+
wind_direction_120m = weather_model_wind_direction_120m
|
167
|
+
weather_model_wind_direction_180m = weather_model.wind_direction_180m
|
168
|
+
if not is_null(weather_model_wind_direction_180m):
|
169
|
+
wind_direction_180m = weather_model_wind_direction_180m
|
170
|
+
weather_model_wind_gusts = weather_model.wind_gusts
|
171
|
+
if not is_null(weather_model_wind_gusts):
|
172
|
+
wind_gusts = weather_model_wind_gusts
|
173
|
+
weather_model_temperature_80m = weather_model.temperature_80m
|
174
|
+
if not is_null(weather_model_temperature_80m):
|
175
|
+
temperature_80m = weather_model_temperature_80m
|
176
|
+
weather_model_temperature_120m = weather_model.temperature_120m
|
177
|
+
if not is_null(weather_model_temperature_120m):
|
178
|
+
temperature_120m = weather_model_temperature_120m
|
179
|
+
weather_model_temperature_180m = weather_model.temperature_180m
|
180
|
+
if not is_null(weather_model_temperature_180m):
|
181
|
+
temperature_180m = weather_model_temperature_180m
|
182
|
+
weather_model_soil_temperature_0cm = weather_model.soil_temperature_0cm
|
183
|
+
if not is_null(weather_model_soil_temperature_0cm):
|
184
|
+
soil_temperature_0cm = weather_model_soil_temperature_0cm
|
185
|
+
weather_model_soil_temperature_6cm = weather_model.soil_temperature_6cm
|
186
|
+
if not is_null(weather_model_soil_temperature_6cm):
|
187
|
+
soil_temperature_6cm = weather_model_soil_temperature_6cm
|
188
|
+
weather_model_soil_temperature_18cm = weather_model.soil_temperature_18cm
|
189
|
+
if not is_null(weather_model_soil_temperature_18cm):
|
190
|
+
soil_temperature_18cm = weather_model_soil_temperature_18cm
|
191
|
+
weather_model_soil_temperature_54cm = weather_model.soil_temperature_54cm
|
192
|
+
if not is_null(weather_model_soil_temperature_54cm):
|
193
|
+
soil_temperature_54cm = weather_model_soil_temperature_54cm
|
194
|
+
weather_model_soil_moisture_0cm = weather_model.soil_moisture_0cm
|
195
|
+
if not is_null(weather_model_soil_moisture_0cm):
|
196
|
+
soil_moisture_0cm = weather_model.soil_moisture_0cm
|
197
|
+
weather_model_soil_moisture_1cm = weather_model.soil_moisture_1cm
|
198
|
+
if not is_null(weather_model_soil_moisture_1cm):
|
199
|
+
soil_moisture_1cm = weather_model_soil_moisture_1cm
|
200
|
+
weather_model_soil_moisture_3cm = weather_model.soil_moisture_3cm
|
201
|
+
if not is_null(weather_model_soil_moisture_3cm):
|
202
|
+
soil_moisture_3cm = weather_model_soil_moisture_3cm
|
203
|
+
weather_model_soil_moisture_9cm = weather_model.soil_moisture_9cm
|
204
|
+
if not is_null(weather_model_soil_moisture_9cm):
|
205
|
+
soil_moisture_9cm = weather_model_soil_moisture_9cm
|
206
|
+
weather_model_soil_moisture_27cm = weather_model.soil_moisture_27cm
|
207
|
+
if not is_null(weather_model_soil_moisture_27cm):
|
208
|
+
soil_moisture_27cm = weather_model_soil_moisture_27cm
|
209
|
+
weather_model_daily_weather_code = weather_model.daily_weather_code
|
210
|
+
if not is_null(weather_model_daily_weather_code):
|
211
|
+
daily_weather_code = weather_model_daily_weather_code
|
212
|
+
weather_model_daily_maximum_temperature_2m = (
|
213
|
+
weather_model.daily_maximum_temperature_2m
|
214
|
+
)
|
215
|
+
if not is_null(weather_model_daily_maximum_temperature_2m):
|
216
|
+
daily_maximum_temperature_2m = weather_model_daily_maximum_temperature_2m
|
217
|
+
weather_model_daily_minimum_temperature_2m = (
|
218
|
+
weather_model.daily_minimum_temperature_2m
|
219
|
+
)
|
220
|
+
if not is_null(weather_model_daily_minimum_temperature_2m):
|
221
|
+
daily_minimum_temperature_2m = weather_model_daily_minimum_temperature_2m
|
222
|
+
weather_model_daily_maximum_apparent_temperature_2m = (
|
223
|
+
weather_model.daily_maximum_apparent_temperature_2m
|
224
|
+
)
|
225
|
+
if not is_null(weather_model_daily_maximum_apparent_temperature_2m):
|
226
|
+
daily_maximum_apparent_temperature_2m = (
|
227
|
+
weather_model_daily_maximum_apparent_temperature_2m
|
228
|
+
)
|
229
|
+
weather_model_daily_minimum_apparent_temperature_2m = (
|
230
|
+
weather_model.daily_minimum_apparent_temperature_2m
|
231
|
+
)
|
232
|
+
if not is_null(weather_model_daily_minimum_apparent_temperature_2m):
|
233
|
+
daily_minimum_apparent_temperature_2m = (
|
234
|
+
weather_model_daily_minimum_apparent_temperature_2m
|
235
|
+
)
|
236
|
+
weather_model_sunrise = weather_model.sunrise
|
237
|
+
if not is_null(weather_model_sunrise):
|
238
|
+
sunrise = weather_model_sunrise
|
239
|
+
weather_model_sunset = weather_model.sunset
|
240
|
+
if not is_null(weather_model_sunset):
|
241
|
+
sunset = weather_model_sunset
|
242
|
+
weather_model_daylight_duration = weather_model.daylight_duration
|
243
|
+
if not is_null(weather_model_daylight_duration):
|
244
|
+
daylight_duration = weather_model_daylight_duration
|
245
|
+
weather_model_sunshine_duration = weather_model.sunshine_duration
|
246
|
+
if not is_null(weather_model_sunshine_duration):
|
247
|
+
sunshine_duration = weather_model_sunshine_duration
|
248
|
+
weather_model_uv_index = weather_model.uv_index
|
249
|
+
if not is_null(weather_model_uv_index):
|
250
|
+
uv_index = weather_model_uv_index
|
251
|
+
weather_model_uv_index_clear_sky = weather_model.uv_index_clear_sky
|
252
|
+
if not is_null(weather_model_uv_index_clear_sky):
|
253
|
+
uv_index_clear_sky = weather_model_uv_index_clear_sky
|
254
|
+
weather_model_rain_sum = weather_model.rain_sum
|
255
|
+
if not is_null(weather_model_rain_sum):
|
256
|
+
rain_sum = weather_model_rain_sum
|
257
|
+
weather_model_showers_sum = weather_model.showers_sum
|
258
|
+
if not is_null(weather_model_showers_sum):
|
259
|
+
showers_sum = weather_model_showers_sum
|
260
|
+
weather_model_snowfall_sum = weather_model.snowfall_sum
|
261
|
+
if not is_null(weather_model_snowfall_sum):
|
262
|
+
snowfall_sum = weather_model_snowfall_sum
|
263
|
+
weather_model_precipitation_sum = weather_model.precipitation_sum
|
264
|
+
if not is_null(weather_model_precipitation_sum):
|
265
|
+
precipitation_sum = weather_model_precipitation_sum
|
266
|
+
weather_model_precipitation_hours = weather_model.precipitation_hours
|
267
|
+
if not is_null(weather_model_precipitation_hours):
|
268
|
+
precipitation_hours = weather_model_precipitation_hours
|
269
|
+
weather_model_precipitation_probability_max = (
|
270
|
+
weather_model.precipitation_probability_max
|
271
|
+
)
|
272
|
+
if not is_null(weather_model_precipitation_probability_max):
|
273
|
+
precipitation_probability_max = weather_model_precipitation_probability_max
|
274
|
+
weather_model_maximum_wind_speed_10m = weather_model.maximum_wind_speed_10m
|
275
|
+
if not is_null(weather_model_maximum_wind_speed_10m):
|
276
|
+
maximum_wind_speed_10m = weather_model_maximum_wind_speed_10m
|
277
|
+
weather_model_maximum_wind_gusts_10m = weather_model.maximum_wind_gusts_10m
|
278
|
+
if not is_null(weather_model_maximum_wind_gusts_10m):
|
279
|
+
maximum_wind_gusts_10m = weather_model_maximum_wind_gusts_10m
|
280
|
+
weather_model_dominant_wind_direction = weather_model.dominant_wind_direction
|
281
|
+
if not is_null(weather_model_dominant_wind_direction):
|
282
|
+
dominant_wind_direction = weather_model.dominant_wind_direction
|
283
|
+
weather_model_shortwave_radiation_sum = weather_model.shortwave_radiation_sum
|
284
|
+
if not is_null(weather_model_shortwave_radiation_sum):
|
285
|
+
shortwave_radiation_sum = weather_model_shortwave_radiation_sum
|
286
|
+
weather_model_daily_reference_evapotranspiration = (
|
287
|
+
weather_model.daily_reference_evapotranspiration
|
288
|
+
)
|
289
|
+
if not is_null(weather_model_daily_reference_evapotranspiration):
|
290
|
+
daily_reference_evapotranspiration = (
|
291
|
+
weather_model_daily_reference_evapotranspiration
|
292
|
+
)
|
293
|
+
|
294
|
+
return WeatherModel(
|
295
|
+
temperature=temperature,
|
296
|
+
relative_humidity=relative_humidity,
|
297
|
+
dew_point=dew_point,
|
298
|
+
apparent_temperature=apparent_temperature,
|
299
|
+
precipitation_probability=precipitation_probability,
|
300
|
+
precipitation=precipitation,
|
301
|
+
rain=rain,
|
302
|
+
showers=showers,
|
303
|
+
snowfall=snowfall,
|
304
|
+
snow_depth=snow_depth,
|
305
|
+
weather_code=weather_code,
|
306
|
+
sealevel_pressure=sealevel_pressure,
|
307
|
+
surface_pressure=surface_pressure,
|
308
|
+
cloud_cover_total=cloud_cover_total,
|
309
|
+
cloud_cover_low=cloud_cover_low,
|
310
|
+
cloud_cover_mid=cloud_cover_mid,
|
311
|
+
cloud_cover_high=cloud_cover_high,
|
312
|
+
visibility=visibility,
|
313
|
+
evapotranspiration=evapotranspiration,
|
314
|
+
reference_evapotranspiration=reference_evapotranspiration,
|
315
|
+
vapour_pressure_deficit=vapour_pressure_deficit,
|
316
|
+
wind_speed_10m=wind_speed_10m,
|
317
|
+
wind_speed_80m=wind_speed_80m,
|
318
|
+
wind_speed_120m=wind_speed_120m,
|
319
|
+
wind_speed_180m=wind_speed_180m,
|
320
|
+
wind_direction_10m=wind_direction_10m,
|
321
|
+
wind_direction_80m=wind_direction_80m,
|
322
|
+
wind_direction_120m=wind_direction_120m,
|
323
|
+
wind_direction_180m=wind_direction_180m,
|
324
|
+
wind_gusts=wind_gusts,
|
325
|
+
temperature_80m=temperature_80m,
|
326
|
+
temperature_120m=temperature_120m,
|
327
|
+
temperature_180m=temperature_180m,
|
328
|
+
soil_temperature_0cm=soil_temperature_0cm,
|
329
|
+
soil_temperature_6cm=soil_temperature_6cm,
|
330
|
+
soil_temperature_18cm=soil_temperature_18cm,
|
331
|
+
soil_temperature_54cm=soil_temperature_54cm,
|
332
|
+
soil_moisture_0cm=soil_moisture_0cm,
|
333
|
+
soil_moisture_1cm=soil_moisture_1cm,
|
334
|
+
soil_moisture_3cm=soil_moisture_3cm,
|
335
|
+
soil_moisture_9cm=soil_moisture_9cm,
|
336
|
+
soil_moisture_27cm=soil_moisture_27cm,
|
337
|
+
daily_weather_code=daily_weather_code,
|
338
|
+
daily_maximum_temperature_2m=daily_maximum_temperature_2m,
|
339
|
+
daily_minimum_temperature_2m=daily_minimum_temperature_2m,
|
340
|
+
daily_maximum_apparent_temperature_2m=daily_maximum_apparent_temperature_2m,
|
341
|
+
daily_minimum_apparent_temperature_2m=daily_minimum_apparent_temperature_2m,
|
342
|
+
sunrise=sunrise,
|
343
|
+
sunset=sunset,
|
344
|
+
daylight_duration=daylight_duration,
|
345
|
+
sunshine_duration=sunshine_duration,
|
346
|
+
uv_index=uv_index,
|
347
|
+
uv_index_clear_sky=uv_index_clear_sky,
|
348
|
+
rain_sum=rain_sum,
|
349
|
+
showers_sum=showers_sum,
|
350
|
+
snowfall_sum=snowfall_sum,
|
351
|
+
precipitation_sum=precipitation_sum,
|
352
|
+
precipitation_hours=precipitation_hours,
|
353
|
+
precipitation_probability_max=precipitation_probability_max,
|
354
|
+
maximum_wind_speed_10m=maximum_wind_speed_10m,
|
355
|
+
maximum_wind_gusts_10m=maximum_wind_gusts_10m,
|
356
|
+
dominant_wind_direction=dominant_wind_direction,
|
357
|
+
shortwave_radiation_sum=shortwave_radiation_sum,
|
358
|
+
daily_reference_evapotranspiration=daily_reference_evapotranspiration,
|
359
|
+
)
|
@@ -15977,6 +15977,7 @@ _CACHED_GEOCODES: dict[str, Any] = {
|
|
15977
15977
|
housenumber="",
|
15978
15978
|
country="USA",
|
15979
15979
|
),
|
15980
|
+
"The Spectrum, Philadelphia, Pennsylvania": SPECTRUM,
|
15980
15981
|
}
|
15981
15982
|
|
15982
15983
|
|
@@ -30,6 +30,22 @@ def _clear_column_list(df: pd.DataFrame) -> pd.DataFrame:
|
|
30
30
|
return df.drop(columns=cols)
|
31
31
|
|
32
32
|
|
33
|
+
def _reduce_memory_usage(df: pd.DataFrame) -> pd.DataFrame:
|
34
|
+
for col in df.columns:
|
35
|
+
if df[col].dtype == "int64":
|
36
|
+
df[col] = pd.to_numeric(df[col], downcast="integer")
|
37
|
+
elif df[col].dtype == "float64":
|
38
|
+
df[col] = pd.to_numeric(df[col], downcast="float")
|
39
|
+
elif df[col].dtype == "object":
|
40
|
+
num_unique_values = len(df[col].unique())
|
41
|
+
num_total_values = len(df[col])
|
42
|
+
if num_unique_values / num_total_values < 0.5:
|
43
|
+
df[col] = df[col].astype("category")
|
44
|
+
else:
|
45
|
+
df[col] = df[col].astype("string")
|
46
|
+
return df
|
47
|
+
|
48
|
+
|
33
49
|
def _normalize_tz(df: pd.DataFrame) -> pd.DataFrame:
|
34
50
|
tz_column = DELIMITER.join(
|
35
51
|
[VENUE_COLUMN_PREFIX, VENUE_ADDRESS_COLUMN, ADDRESS_TIMEZONE_COLUMN]
|
@@ -210,7 +226,9 @@ class LeagueModel(Model):
|
|
210
226
|
df = _clear_column_list(df)
|
211
227
|
df = df.reset_index()
|
212
228
|
|
213
|
-
df =
|
229
|
+
df = _reduce_memory_usage(
|
230
|
+
df[sorted(df.columns.values.tolist())].dropna(axis=1, how="all")
|
231
|
+
)
|
214
232
|
|
215
233
|
self._df = df
|
216
234
|
return df
|