WSBA HOCKEY
A Python package for scraping and analyzing hockey data under the motto: Evaluating, analyzing, and understanding the game of hockey through the lens of different analytical methods.
INSTALLATION AND USAGE
pip install wsba_hockey
import wsba_hockey as wsba
ALL FEATURES
SCRAPING
NHL Play-by-Play (of any game frame up to a full season)
Functions:
wsba.nhl_scrape_game(2024020918,split_shifts=False,remove=['game-end'])
wsba.nhl_scrape_season(20242025,split_shifts=False,remove=['game-end'],local=True)
Reusing Sessions and Workers
import wsba_hockey as wsba
import wsba_hockey.tools.http as http
http.POOL_WORKERS = 4
with wsba.make_pooled_session() as session:
games = [2024020918, 2024020919]
pbp = [wsba.nhl_scrape_game(game, session=session) for game in games]
NHL Season Information
wsba.nhl_scrape_schedule(20242025)
wsba.nhl_scrape_seasons_info(seasons=[20212022,20222023,20232024,20242025])
wsba.nhl_scrape_standings()
NHL Rosters and Player Information
wsba.nhl_scrape_roster(20242025)
wsba.nhl_scrape_player_info([8477956, 8479987])
wsba.nhl_scrape_team_info()
NHL Draft Rankings and Prospects
wsba.nhl_scrape_draft_rankings()
wsba.nhl_scrape_prospects('BOS')
NHL EDGE Data
wsba.nhl_scrape_edge(20252026,'skater',[8477956, 8479987])
wsba.nhl_scrape_edge(20252026,'goalie',[8480280])
wsba.nhl_scrape_edge(20252026,'team',['BOS'])
NHL Event Tracking Data
wsba.nhl_scrape_event_data({2023020001: [101, 102]})
DATA ANALYTICS
Expected Goals
pbp = wsba.nhl_scrape_game(2024020918,split_shifts=False,remove=['game-end'])
pbp = wsba.nhl_apply_xG(pbp)
Goal Impacts and Shot Analysis
Stat Aggregation
pbp = wsba.nhl_scrape_season(20232024, local = True)
wsba.nhl_calculate_stats(pbp,'skater',['5v5','4v4','3v3'], 'all',shot_impact = True)
Shot Plotting (Plots, Heatmaps, etc.)
pbp = wsba.nhl_scrape_season(20212022, remove=[], local=True)
plots = wsba.nhl_plot_events(
pbp,
group="game",
entities=[2021020002],
events=["goal", "shot-on-goal", "missed-shot", "blocked-shot"],
strengths=["5v5"],
season_types=2,
legend=True,
rotation=0,
display_range="full",
)
plots[2021020002].savefig("skater_events.png", bbox_inches="tight")
Sample Plot:
REPOSITORY
Team Information
wsba.repo_load_teaminfo()
wsba.repo_load_rosters(seasons=[20212022,20222023,20232024,20242025])
Schedule
wsba.repo_load_schedule(seasons=[20212022,20222023,20232024,20242025])
DOCUMENTATION
View full documentation here: WSBA Hockey Package Documentation
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wsba_hockey-1.7.1.tar.gz
(2.0 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wsba_hockey-1.7.1.tar.gz.
File metadata
- Download URL: wsba_hockey-1.7.1.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20044f1bbcf969474a47f6e7a7a1b09e2073605ec821ba07937d6f6b187e1313
|
|
| MD5 |
482f93f00ca9ad723c580ded4d29e229
|
|
| BLAKE2b-256 |
ebd0bbf743f60f00cba8e67d27fc988e808076257cc09b8cdd35c26e6793a8b9
|
File details
Details for the file wsba_hockey-1.7.1-py3-none-any.whl.
File metadata
- Download URL: wsba_hockey-1.7.1-py3-none-any.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16aeed64b9109e85d6814d61bf0dd5d20ee2b229ac7c5f72f05365b453ec7d81
|
|
| MD5 |
c11456703c9ebcbca46dae0d9fce22ec
|
|
| BLAKE2b-256 |
185b3ea35369be95e124284837d2b9442e9d009a52a8617b34a4a956edf832a4
|