wsba-hockey 1.1.3__py3-none-any.whl → 1.1.5__py3-none-any.whl
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.
- wsba_hockey/api/api/index.py +68 -28
- wsba_hockey/data_pipelines.py +3 -2
- wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/duos/app.py +210 -0
- wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/duos/calc.py +163 -0
- wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/app.py +245 -0
- wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/plot.py +275 -0
- wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/rink_plot.py +245 -0
- wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/app.py +2 -2
- wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/app.py +1 -0
- wsba_hockey/tools/agg.py +29 -0
- wsba_hockey/tools/scraping.py +168 -4
- wsba_hockey/workspace.py +4 -24
- wsba_hockey/wsba_main.py +22 -18
- {wsba_hockey-1.1.3.dist-info → wsba_hockey-1.1.5.dist-info}/METADATA +9 -5
- {wsba_hockey-1.1.3.dist-info → wsba_hockey-1.1.5.dist-info}/RECORD +18 -13
- {wsba_hockey-1.1.3.dist-info → wsba_hockey-1.1.5.dist-info}/WHEEL +0 -0
- {wsba_hockey-1.1.3.dist-info → wsba_hockey-1.1.5.dist-info}/licenses/LICENSE +0 -0
- {wsba_hockey-1.1.3.dist-info → wsba_hockey-1.1.5.dist-info}/top_level.txt +0 -0
wsba_hockey/wsba_main.py
CHANGED
@@ -4,10 +4,10 @@ import requests as rs
|
|
4
4
|
import pandas as pd
|
5
5
|
import time
|
6
6
|
from datetime import datetime, timedelta, date
|
7
|
-
from .tools.scraping import *
|
8
|
-
from .tools.xg_model import *
|
9
|
-
from .tools.agg import *
|
10
|
-
from .tools.plotting import *
|
7
|
+
from wsba_hockey.tools.scraping import *
|
8
|
+
from wsba_hockey.tools.xg_model import *
|
9
|
+
from wsba_hockey.tools.agg import *
|
10
|
+
from wsba_hockey.tools.plotting import *
|
11
11
|
|
12
12
|
### WSBA HOCKEY ###
|
13
13
|
## Provided below are all integral functions in the WSBA Hockey Python package. ##
|
@@ -59,7 +59,7 @@ convert_team_abbr = {'L.A':'LAK',
|
|
59
59
|
'T.B':'TBL',
|
60
60
|
'PHX':'ARI'}
|
61
61
|
|
62
|
-
per_sixty = ['Fi','xGi','Gi','A1','A2','P1','P','OZF','NZF','DZF','FF','FA','xGF','xGA','GF','GA','CF','CA','HF','HA','Give','Take','Penl','Penl2','Penl5','Draw','Block']
|
62
|
+
per_sixty = ['Fi','xGi','Gi','A1','A2','P1','P','Si','OZF','NZF','DZF','FF','FA','xGF','xGA','GF','GA','SF','SA','CF','CA','HF','HA','Give','Take','Penl','Penl2','Penl5','Draw','Block','GSAx']
|
63
63
|
|
64
64
|
#Some games in the API are specifically known to cause errors in scraping.
|
65
65
|
#This list is updated as frequently as necessary
|
@@ -687,7 +687,7 @@ def nhl_shooting_impacts(agg,type):
|
|
687
687
|
pos[f'{group[0]}-FNI-T'] = (pos[f'{group[0]}-FNI']/60)*pos['TOI']
|
688
688
|
|
689
689
|
#Rank per 60 stats
|
690
|
-
for stat in per_sixty[
|
690
|
+
for stat in per_sixty[11:len(per_sixty)]:
|
691
691
|
pos[f'{stat}/60-P'] = pos[f'{stat}/60'].rank(pct=True)
|
692
692
|
|
693
693
|
#Flip percentiles for against stats
|
@@ -964,12 +964,12 @@ def nhl_calculate_stats(pbp,type,season_types,game_strength,split_game=False,ros
|
|
964
964
|
'Height (in)','Weight (lbs)',
|
965
965
|
'Birthday','Age','Nationality',
|
966
966
|
'GP','TOI',
|
967
|
-
"GF","FF","xGF","xGF/FF","GF/xGF","FshF%",
|
968
|
-
"GA","FA","xGA","xGA/FA","GA/xGA","FshA%",
|
967
|
+
"GF","SF","FF","xGF","xGF/FF","GF/xGF","ShF%","FshF%",
|
968
|
+
"GA","SA","FA","xGA","xGA/FA","GA/xGA","ShA%","FshA%",
|
969
969
|
'CF','CA',
|
970
970
|
'GSAx',
|
971
971
|
'RushF','RushA','RushFxG','RushAxG','RushFG','RushAG'
|
972
|
-
]+[f'{stat}/60' for stat in ['FF','FA','xGF','xGA','GF','GA','CF','CA','GSAx']]]
|
972
|
+
]+[f'{stat}/60' for stat in ['FF','FA','xGF','xGA','GF','GA','SF','SA','CF','CA','GSAx']]]
|
973
973
|
|
974
974
|
#Apply shot impacts if necessary
|
975
975
|
if shot_impact:
|
@@ -991,10 +991,11 @@ def nhl_calculate_stats(pbp,type,season_types,game_strength,split_game=False,ros
|
|
991
991
|
complete['TOI'] = complete['TOI']/60
|
992
992
|
|
993
993
|
#Add per 60 stats
|
994
|
-
for stat in per_sixty[
|
994
|
+
for stat in per_sixty[11:len(per_sixty)]:
|
995
995
|
complete[f'{stat}/60'] = (complete[stat]/complete['TOI'])*60
|
996
996
|
|
997
997
|
complete['GF%'] = complete['GF']/(complete['GF']+complete['GA'])
|
998
|
+
complete['SF%'] = complete['SF']/(complete['SF']+complete['SA'])
|
998
999
|
complete['xGF%'] = complete['xGF']/(complete['xGF']+complete['xGA'])
|
999
1000
|
complete['FF%'] = complete['FF']/(complete['FF']+complete['FA'])
|
1000
1001
|
complete['CF%'] = complete['CF']/(complete['CF']+complete['CA'])
|
@@ -1003,16 +1004,17 @@ def nhl_calculate_stats(pbp,type,season_types,game_strength,split_game=False,ros
|
|
1003
1004
|
complete = complete[head+[
|
1004
1005
|
'Season','WSBA',
|
1005
1006
|
'GP','TOI',
|
1006
|
-
"GF","FF","xGF","xGF/FF","GF/xGF","FshF%",
|
1007
|
-
"GA","FA","xGA","xGA/FA","GA/xGA","FshA%",
|
1007
|
+
"GF","SF","FF","xGF","xGF/FF","GF/xGF","ShF%","FshF%",
|
1008
|
+
"GA","SA","FA","xGA","xGA/FA","GA/xGA","ShA%","FshA%",
|
1008
1009
|
'CF','CA',
|
1009
|
-
'GF%','FF%','xGF%','CF%',
|
1010
|
+
'GF%','SF%','FF%','xGF%','CF%',
|
1010
1011
|
'HF','HA','HF%',
|
1011
1012
|
'Penl','Penl2','Penl5','PIM','Draw','PENL%',
|
1012
1013
|
'Give','Take','PM%',
|
1013
1014
|
'Block',
|
1014
|
-
'RushF','RushA','RushFxG','RushAxG','RushFG','RushAG'
|
1015
|
-
|
1015
|
+
'RushF','RushA','RushFxG','RushAxG','RushFG','RushAG',
|
1016
|
+
'GSAx'
|
1017
|
+
]+[f'{stat}/60' for stat in per_sixty[11:len(per_sixty)]]]
|
1016
1018
|
#Apply shot impacts if necessary
|
1017
1019
|
if shot_impact:
|
1018
1020
|
complete = nhl_shooting_impacts(complete,'team')
|
@@ -1038,6 +1040,7 @@ def nhl_calculate_stats(pbp,type,season_types,game_strength,split_game=False,ros
|
|
1038
1040
|
complete['FC%'] = complete['Fi']/complete['FF']
|
1039
1041
|
complete['xGC%'] = complete['xGi']/complete['xGF']
|
1040
1042
|
complete['GF%'] = complete['GF']/(complete['GF']+complete['GA'])
|
1043
|
+
complete['SF%'] = complete['SF']/(complete['SF']+complete['SA'])
|
1041
1044
|
complete['xGF%'] = complete['xGF']/(complete['xGF']+complete['xGA'])
|
1042
1045
|
complete['FF%'] = complete['FF']/(complete['FF']+complete['FA'])
|
1043
1046
|
complete['CF%'] = complete['CF']/(complete['CF']+complete['CA'])
|
@@ -1098,11 +1101,11 @@ def nhl_calculate_stats(pbp,type,season_types,game_strength,split_game=False,ros
|
|
1098
1101
|
'Height (in)','Weight (lbs)',
|
1099
1102
|
'Birthday','Age','Nationality',
|
1100
1103
|
'GP','TOI',
|
1101
|
-
"Gi","A1","A2",'P1','P',
|
1104
|
+
"Gi","A1","A2",'P1','P','Si','Sh%',
|
1102
1105
|
'Give','Take','PM%','HF','HA','HF%',
|
1103
1106
|
"Fi","xGi",'xGi/Fi',"Gi/xGi","Fshi%",
|
1104
|
-
"GF","FF","xGF","xGF/FF","GF/xGF","FshF%",
|
1105
|
-
"GA","FA","xGA","xGA/FA","GA/xGA","FshA%",
|
1107
|
+
"GF","SF","FF","xGF","xGF/FF","GF/xGF","ShF%","FshF%",
|
1108
|
+
"GA","SA","FA","xGA","xGA/FA","GA/xGA","ShA%","FshA%",
|
1106
1109
|
'Ci','CF','CA','CF%',
|
1107
1110
|
'FF%','xGF%','GF%',
|
1108
1111
|
'Rush',"Rush xG",'Rush G',"GC%","AC%","GI%","FC%","xGC%",
|
@@ -1112,6 +1115,7 @@ def nhl_calculate_stats(pbp,type,season_types,game_strength,split_game=False,ros
|
|
1112
1115
|
'Block',
|
1113
1116
|
'OZF','NZF','DZF',
|
1114
1117
|
'OZF%','NZF%','DZF%',
|
1118
|
+
'GSAx'
|
1115
1119
|
]+[f'{stat}/60' for stat in per_sixty]+type_metrics].fillna(0).sort_values(['Player','Season','Team','ID'])
|
1116
1120
|
|
1117
1121
|
#Apply shot impacts if necessary (Note: this will remove skaters with fewer than 150 minutes of TOI due to the shot impact TOI rule)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: wsba_hockey
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.5
|
4
4
|
Summary: WeakSide Breakout's complete Python package of access to hockey data, primairly including the scraping of National Hockey League schedule, play-by-play, and shifts information.
|
5
5
|
Author-email: Owen Singh <owenbksingh@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/owensingh38/wsba_hockey/
|
@@ -64,12 +64,18 @@ wsba.nhl_scrape_prospects('BOS')
|
|
64
64
|
|
65
65
|
|
66
66
|
## DATA ANALYTICS
|
67
|
-
### Expected Goals
|
67
|
+
### Expected Goals
|
68
|
+
```python
|
69
|
+
pbp = wsba.nhl_scrape_game(['2024020918'],split_shifts=False,remove=['game-end'])
|
70
|
+
pbp = wsba.nhl_apply_xG(pbp)
|
71
|
+
```
|
72
|
+
|
68
73
|
### Goal Impacts and Shot Analysis
|
74
|
+
|
69
75
|
### Stat Aggregation
|
70
76
|
```python
|
71
77
|
pbp = wsba.nhl_scrape_season('20232024',remove=[], local = True)
|
72
|
-
wsba.nhl_calculate_stats(pbp,'skater',[2],['5v5','4v4','3v3'],
|
78
|
+
wsba.nhl_calculate_stats(pbp,'skater',[2],['5v5','4v4','3v3'],shot_impact = True)
|
73
79
|
```
|
74
80
|
### Shot Plotting (Plots, Heatmaps, etc.)
|
75
81
|
```python
|
@@ -105,6 +111,4 @@ Dan Morse - Creator of the hockeyR package; another important inspiration and mo
|
|
105
111
|
|
106
112
|
Patrick Bacon - Creator of TopDownHockey package
|
107
113
|
|
108
|
-
MoneyPuck - Source of available xG data in the package
|
109
|
-
|
110
114
|
Anyone in the NHL Public Analytics community who has stuck around and supported WeakSide Breakout Analysis hockey.
|
@@ -1,8 +1,8 @@
|
|
1
1
|
wsba_hockey/__init__.py,sha256=yfr8z5PA503iaIQv30ngancwT_WnsuK-tZETKlHcI0M,377
|
2
|
-
wsba_hockey/data_pipelines.py,sha256=
|
3
|
-
wsba_hockey/workspace.py,sha256=
|
4
|
-
wsba_hockey/wsba_main.py,sha256=
|
5
|
-
wsba_hockey/api/api/index.py,sha256=
|
2
|
+
wsba_hockey/data_pipelines.py,sha256=SITapG3nbea6-_EsXujMW2JBQxtRaQ33XMcE6ohn2Ko,10853
|
3
|
+
wsba_hockey/workspace.py,sha256=MwuyqyLW0dHNa06WEm60RkvbFoCn8LBXhnki66V-ttY,954
|
4
|
+
wsba_hockey/wsba_main.py,sha256=RCjq0NwB82P1fXoghFp2HtDyYX5nWZQHFMQvM67Fnuk,54115
|
5
|
+
wsba_hockey/api/api/index.py,sha256=tABWg5cYCY-fPaNJ6W_bMJKEYrjn93YGy84VlkHzIXA,6853
|
6
6
|
wsba_hockey/evidence/weakside-breakout/node_modules/duckdb/vendor.py,sha256=lmu0TB0rIYkAuV9-csFJgW-1hJojso_-EZpEoorUUKM,4949
|
7
7
|
wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/flatted.py,sha256=ke8FuEflns-WlphCcQ9CC0qJqWqX3zEEuak74o6rgE8,3879
|
8
8
|
wsba_hockey/evidence/weakside-breakout/node_modules/flatted/python/test.py,sha256=uTOn6HJd7KeY_PTRvvufv60dmvON3KWp3nnqACj8IlA,2129
|
@@ -105,6 +105,8 @@ wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gy
|
|
105
105
|
wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_sln.py,sha256=b_Fxm-SXUCPL3Tix4EyNwZNmQ-zkeRIFFmuL0R5wFhw,5482
|
106
106
|
wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/gyp/tools/pretty_vcproj.py,sha256=AwQrxK1F-jhjsbbT35XQjrvWNbc3IBFaKXoJogqMh_o,10633
|
107
107
|
wsba_hockey/evidence/weakside-breakout/node_modules/sqlite3/node_modules/node-gyp/test/fixtures/test-charmap.py,sha256=5raXzaQnO2eJnrlFtlDtWftryhZX7Fj0amFW3hdSnhE,547
|
108
|
+
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/duos/app.py,sha256=PBdVi5qnR3Ye_dNjgqxmh5LIe6Tu_yu9-gebaaQnTfA,7947
|
109
|
+
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/duos/calc.py,sha256=5T_TselP85ofTwf0inl3P7dtyRcosWg5ngUUL95jzLw,8789
|
108
110
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/game_stats/app.py,sha256=P3vDaWyuij-DXlwk6XJ0aiAjrfs-NHi5hmngk-c9r8U,12704
|
109
111
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/game_stats/name_fix.py,sha256=v7IN4JWrudeFuIsBdjLLlHsr9wU65jYi9-34pI_ZpoM,1488
|
110
112
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/app.py,sha256=f5uwSvNKbtud91e7B17zC0HbPnYIvUgnShhdJZCOtkE,3820
|
@@ -113,10 +115,13 @@ wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/goalie/rink_p
|
|
113
115
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/app.py,sha256=XDoZ6-uTgT1vCAOjJ8KjW3r7T0eNDfShGScDxY95HyU,4255
|
114
116
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/plot.py,sha256=QERvb9I_OJPhrz84Omsf9Mq6JjaECark_ql1KfWha-I,4648
|
115
117
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/heatmaps/rink_plot.py,sha256=RB_csrnTxlFR4OyFEhZXbHDSR3dP-KgME0xGBR2JE-4,11994
|
116
|
-
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/
|
118
|
+
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/app.py,sha256=V9tcLkASOpvlnYNYwjYhxi5CgL1S8NUBmbnYcWjBSQ0,9457
|
119
|
+
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/plot.py,sha256=r-kPrlup8WrfKs5-Q0RGnLmF0hCOy7zWA_uKDvGy18o,14552
|
120
|
+
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/line-combos/rink_plot.py,sha256=RB_csrnTxlFR4OyFEhZXbHDSR3dP-KgME0xGBR2JE-4,11994
|
121
|
+
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/app.py,sha256=dRpnCLE9G2H7VOCBgHUOfEmoruEkUcnS2qhyiV54dQ8,6136
|
117
122
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/plot.py,sha256=t3XRT88L0lh5jE-PSSboLZZ-Yg_u8L4gzJh-egWiRcY,3935
|
118
123
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/matchups/rink_plot.py,sha256=RB_csrnTxlFR4OyFEhZXbHDSR3dP-KgME0xGBR2JE-4,11994
|
119
|
-
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/app.py,sha256=
|
124
|
+
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/app.py,sha256=hbMBjctovACO6KXswvb6gsN8AwQCOtT0BHHKR_EGBQM,13841
|
120
125
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/plot.py,sha256=zfUTSic2M1AfXufvLFDTxxvpqQXw0RzwwQTGxALjjSw,2779
|
121
126
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/pbp/rink_plot.py,sha256=RB_csrnTxlFR4OyFEhZXbHDSR3dP-KgME0xGBR2JE-4,11994
|
122
127
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/skater/app.py,sha256=fNGWRHgqZr2G_QgACzh1l93ob-ugik1F9Wnq-sowWKU,4308
|
@@ -127,17 +132,17 @@ wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps
|
|
127
132
|
wsba_hockey/evidence/weakside-breakout/wsba_nhl_apps/wsba_nhl_apps/team_heatmaps/rink_plot.py,sha256=RB_csrnTxlFR4OyFEhZXbHDSR3dP-KgME0xGBR2JE-4,11994
|
128
133
|
wsba_hockey/flask/app.py,sha256=J51iA65h9xyJfLgdH0h2sVSbfIR7xgGd2Oy8bJsmpAk,1873
|
129
134
|
wsba_hockey/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
130
|
-
wsba_hockey/tools/agg.py,sha256=
|
135
|
+
wsba_hockey/tools/agg.py,sha256=0tO-clSQBloG4YHXuaqFqllew3mU95YU6torJAIOZmM,23320
|
131
136
|
wsba_hockey/tools/plotting.py,sha256=81hBaM7tcwUNB4-tovPn7QreOUz6B2NuI_SR4-djVSk,6029
|
132
|
-
wsba_hockey/tools/scraping.py,sha256=
|
137
|
+
wsba_hockey/tools/scraping.py,sha256=h6C016U0qmNQpHWMh7Xvn3ud57zKzRbRQ06Odl-rC_I,52573
|
133
138
|
wsba_hockey/tools/xg_model.py,sha256=nOr_2RBijLgPmJ0TTs4wbSsORYmRqWCKRjLKDm7sAhI,18342
|
134
139
|
wsba_hockey/tools/archive/old_scraping.py,sha256=hEjMI1RtfeZnf0RBiJFI38oXkLZ3WofeH5xqcF4pzgM,49585
|
135
140
|
wsba_hockey/tools/utils/__init__.py,sha256=vccXhOtzARoR99fmEWU1OEI3qCIdQ9Z42AlRA_BUhrs,114
|
136
141
|
wsba_hockey/tools/utils/config.py,sha256=D3Uk05-YTyrhfReMTTLfNI3HN_rON2uo_CDE9oER3Lg,351
|
137
142
|
wsba_hockey/tools/utils/save_pages.py,sha256=CsyL_0n-b-4pJoUauwU3HpnCO6n69-RlBMJQBd_qGDc,4979
|
138
143
|
wsba_hockey/tools/utils/shared.py,sha256=dH_JwZfia5fib8rksy5sW-mBp0pluBPvw37Vdr8Kap0,14211
|
139
|
-
wsba_hockey-1.1.
|
140
|
-
wsba_hockey-1.1.
|
141
|
-
wsba_hockey-1.1.
|
142
|
-
wsba_hockey-1.1.
|
143
|
-
wsba_hockey-1.1.
|
144
|
+
wsba_hockey-1.1.5.dist-info/licenses/LICENSE,sha256=Nr_Um1Pd5FQJTWWgm7maZArdtYMbDhzXYSwyJIZDGik,1114
|
145
|
+
wsba_hockey-1.1.5.dist-info/METADATA,sha256=nvE9FZLlmofZ-X6LG2RM4dYGbZWDbIsbafZbaDrZ6qk,3566
|
146
|
+
wsba_hockey-1.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
147
|
+
wsba_hockey-1.1.5.dist-info/top_level.txt,sha256=acU7s3x-RZC1zGiqCOmO0g267iqCg34lzIfdmYxxGmQ,12
|
148
|
+
wsba_hockey-1.1.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|