Skip to content

Commit da2afcb

Browse files
committed
Bump version to 3.11.0
1 parent e1a08fa commit da2afcb

File tree

4 files changed

+305
-2
lines changed

4 files changed

+305
-2
lines changed

docs/changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33

44
Find out all changes between different kloppy versions
55

6+
## 3.11.0 (2023-06-05)
7+
8+
Pull requests merged:
9+
10+
- Fix datatype of SkillCorner metadata.periods ([#189](https://github.com/PySport/kloppy/pull/189))
11+
- Fix inputs of kloppy.helpers.transform ([#186](https://github.com/PySport/kloppy/pull/186))
12+
- Refactor pathlib tests ([#193](https://github.com/PySport/kloppy/pull/193))
13+
- StatsPerform deserializer ([#191](https://github.com/PySport/kloppy/pull/191))
14+
- Allow chaining of operators on a Dataset (filter + map) ([#183](https://github.com/PySport/kloppy/pull/183))
15+
- Opta remove deleted events ([#182](https://github.com/PySport/kloppy/pull/182))
16+
617
## 3.10.0 (2023-04-13)
718

819
Pull requests merged:
Lines changed: 291 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,291 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "a93fc613",
6+
"metadata": {},
7+
"source": [
8+
"# StatsPerform\n",
9+
"\n",
10+
"## Load local files"
11+
]
12+
},
13+
{
14+
"cell_type": "code",
15+
"execution_count": 3,
16+
"id": "e803a78c",
17+
"metadata": {},
18+
"outputs": [
19+
{
20+
"data": {
21+
"text/html": [
22+
"<div>\n",
23+
"<style scoped>\n",
24+
" .dataframe tbody tr th:only-of-type {\n",
25+
" vertical-align: middle;\n",
26+
" }\n",
27+
"\n",
28+
" .dataframe tbody tr th {\n",
29+
" vertical-align: top;\n",
30+
" }\n",
31+
"\n",
32+
" .dataframe thead th {\n",
33+
" text-align: right;\n",
34+
" }\n",
35+
"</style>\n",
36+
"<table border=\"1\" class=\"dataframe\">\n",
37+
" <thead>\n",
38+
" <tr style=\"text-align: right;\">\n",
39+
" <th></th>\n",
40+
" <th>period_id</th>\n",
41+
" <th>timestamp</th>\n",
42+
" <th>frame_id</th>\n",
43+
" <th>ball_state</th>\n",
44+
" <th>ball_owning_team_id</th>\n",
45+
" <th>ball_x</th>\n",
46+
" <th>ball_y</th>\n",
47+
" <th>ball_z</th>\n",
48+
" <th>a2s2c6anax9wnlsw1s6vunl5h_x</th>\n",
49+
" <th>a2s2c6anax9wnlsw1s6vunl5h_y</th>\n",
50+
" <th>...</th>\n",
51+
" <th>6wfwy94p5bm0zv3aku0urfq39_d</th>\n",
52+
" <th>6wfwy94p5bm0zv3aku0urfq39_s</th>\n",
53+
" <th>6ekdnbnk56xlxforb5owt3dn9_x</th>\n",
54+
" <th>6ekdnbnk56xlxforb5owt3dn9_y</th>\n",
55+
" <th>6ekdnbnk56xlxforb5owt3dn9_d</th>\n",
56+
" <th>6ekdnbnk56xlxforb5owt3dn9_s</th>\n",
57+
" <th>ct32113pfx5q9avf2c0x208ru_x</th>\n",
58+
" <th>ct32113pfx5q9avf2c0x208ru_y</th>\n",
59+
" <th>ct32113pfx5q9avf2c0x208ru_d</th>\n",
60+
" <th>ct32113pfx5q9avf2c0x208ru_s</th>\n",
61+
" </tr>\n",
62+
" </thead>\n",
63+
" <tbody>\n",
64+
" <tr>\n",
65+
" <th>0</th>\n",
66+
" <td>1</td>\n",
67+
" <td>0.0</td>\n",
68+
" <td>1598184000000</td>\n",
69+
" <td>alive</td>\n",
70+
" <td>None</td>\n",
71+
" <td>52.350</td>\n",
72+
" <td>33.250</td>\n",
73+
" <td>0.0</td>\n",
74+
" <td>52.803</td>\n",
75+
" <td>23.617</td>\n",
76+
" <td>...</td>\n",
77+
" <td>None</td>\n",
78+
" <td>None</td>\n",
79+
" <td>5.268</td>\n",
80+
" <td>33.556</td>\n",
81+
" <td>None</td>\n",
82+
" <td>None</td>\n",
83+
" <td>NaN</td>\n",
84+
" <td>NaN</td>\n",
85+
" <td>None</td>\n",
86+
" <td>None</td>\n",
87+
" </tr>\n",
88+
" <tr>\n",
89+
" <th>1</th>\n",
90+
" <td>1</td>\n",
91+
" <td>0.1</td>\n",
92+
" <td>1598184000100</td>\n",
93+
" <td>alive</td>\n",
94+
" <td>None</td>\n",
95+
" <td>50.615</td>\n",
96+
" <td>35.325</td>\n",
97+
" <td>0.0</td>\n",
98+
" <td>52.558</td>\n",
99+
" <td>23.752</td>\n",
100+
" <td>...</td>\n",
101+
" <td>None</td>\n",
102+
" <td>None</td>\n",
103+
" <td>5.265</td>\n",
104+
" <td>33.529</td>\n",
105+
" <td>None</td>\n",
106+
" <td>None</td>\n",
107+
" <td>NaN</td>\n",
108+
" <td>NaN</td>\n",
109+
" <td>None</td>\n",
110+
" <td>None</td>\n",
111+
" </tr>\n",
112+
" <tr>\n",
113+
" <th>2</th>\n",
114+
" <td>1</td>\n",
115+
" <td>0.2</td>\n",
116+
" <td>1598184000200</td>\n",
117+
" <td>alive</td>\n",
118+
" <td>None</td>\n",
119+
" <td>49.630</td>\n",
120+
" <td>36.140</td>\n",
121+
" <td>0.0</td>\n",
122+
" <td>52.310</td>\n",
123+
" <td>23.901</td>\n",
124+
" <td>...</td>\n",
125+
" <td>None</td>\n",
126+
" <td>None</td>\n",
127+
" <td>5.264</td>\n",
128+
" <td>33.502</td>\n",
129+
" <td>None</td>\n",
130+
" <td>None</td>\n",
131+
" <td>NaN</td>\n",
132+
" <td>NaN</td>\n",
133+
" <td>None</td>\n",
134+
" <td>None</td>\n",
135+
" </tr>\n",
136+
" <tr>\n",
137+
" <th>3</th>\n",
138+
" <td>1</td>\n",
139+
" <td>0.3</td>\n",
140+
" <td>1598184000300</td>\n",
141+
" <td>alive</td>\n",
142+
" <td>None</td>\n",
143+
" <td>48.725</td>\n",
144+
" <td>36.625</td>\n",
145+
" <td>0.0</td>\n",
146+
" <td>52.059</td>\n",
147+
" <td>24.071</td>\n",
148+
" <td>...</td>\n",
149+
" <td>None</td>\n",
150+
" <td>None</td>\n",
151+
" <td>5.268</td>\n",
152+
" <td>33.476</td>\n",
153+
" <td>None</td>\n",
154+
" <td>None</td>\n",
155+
" <td>NaN</td>\n",
156+
" <td>NaN</td>\n",
157+
" <td>None</td>\n",
158+
" <td>None</td>\n",
159+
" </tr>\n",
160+
" <tr>\n",
161+
" <th>4</th>\n",
162+
" <td>1</td>\n",
163+
" <td>0.4</td>\n",
164+
" <td>1598184000400</td>\n",
165+
" <td>alive</td>\n",
166+
" <td>None</td>\n",
167+
" <td>47.890</td>\n",
168+
" <td>37.130</td>\n",
169+
" <td>0.0</td>\n",
170+
" <td>51.804</td>\n",
171+
" <td>24.260</td>\n",
172+
" <td>...</td>\n",
173+
" <td>None</td>\n",
174+
" <td>None</td>\n",
175+
" <td>5.277</td>\n",
176+
" <td>33.452</td>\n",
177+
" <td>None</td>\n",
178+
" <td>None</td>\n",
179+
" <td>NaN</td>\n",
180+
" <td>NaN</td>\n",
181+
" <td>None</td>\n",
182+
" <td>None</td>\n",
183+
" </tr>\n",
184+
" </tbody>\n",
185+
"</table>\n",
186+
"<p>5 rows × 100 columns</p>\n",
187+
"</div>"
188+
],
189+
"text/plain": [
190+
" period_id timestamp frame_id ball_state ball_owning_team_id ball_x \n",
191+
"0 1 0.0 1598184000000 alive None 52.350 \\\n",
192+
"1 1 0.1 1598184000100 alive None 50.615 \n",
193+
"2 1 0.2 1598184000200 alive None 49.630 \n",
194+
"3 1 0.3 1598184000300 alive None 48.725 \n",
195+
"4 1 0.4 1598184000400 alive None 47.890 \n",
196+
"\n",
197+
" ball_y ball_z a2s2c6anax9wnlsw1s6vunl5h_x a2s2c6anax9wnlsw1s6vunl5h_y \n",
198+
"0 33.250 0.0 52.803 23.617 \\\n",
199+
"1 35.325 0.0 52.558 23.752 \n",
200+
"2 36.140 0.0 52.310 23.901 \n",
201+
"3 36.625 0.0 52.059 24.071 \n",
202+
"4 37.130 0.0 51.804 24.260 \n",
203+
"\n",
204+
" ... 6wfwy94p5bm0zv3aku0urfq39_d 6wfwy94p5bm0zv3aku0urfq39_s \n",
205+
"0 ... None None \\\n",
206+
"1 ... None None \n",
207+
"2 ... None None \n",
208+
"3 ... None None \n",
209+
"4 ... None None \n",
210+
"\n",
211+
" 6ekdnbnk56xlxforb5owt3dn9_x 6ekdnbnk56xlxforb5owt3dn9_y \n",
212+
"0 5.268 33.556 \\\n",
213+
"1 5.265 33.529 \n",
214+
"2 5.264 33.502 \n",
215+
"3 5.268 33.476 \n",
216+
"4 5.277 33.452 \n",
217+
"\n",
218+
" 6ekdnbnk56xlxforb5owt3dn9_d 6ekdnbnk56xlxforb5owt3dn9_s \n",
219+
"0 None None \\\n",
220+
"1 None None \n",
221+
"2 None None \n",
222+
"3 None None \n",
223+
"4 None None \n",
224+
"\n",
225+
" ct32113pfx5q9avf2c0x208ru_x ct32113pfx5q9avf2c0x208ru_y \n",
226+
"0 NaN NaN \\\n",
227+
"1 NaN NaN \n",
228+
"2 NaN NaN \n",
229+
"3 NaN NaN \n",
230+
"4 NaN NaN \n",
231+
"\n",
232+
" ct32113pfx5q9avf2c0x208ru_d ct32113pfx5q9avf2c0x208ru_s \n",
233+
"0 None None \n",
234+
"1 None None \n",
235+
"2 None None \n",
236+
"3 None None \n",
237+
"4 None None \n",
238+
"\n",
239+
"[5 rows x 100 columns]"
240+
]
241+
},
242+
"execution_count": 3,
243+
"metadata": {},
244+
"output_type": "execute_result"
245+
}
246+
],
247+
"source": [
248+
"from kloppy import statsperform\n",
249+
"\n",
250+
"dataset = statsperform.load(\n",
251+
" raw_data=\"../../kloppy/tests/files/statsperform_ma25_tracking.txt\",\n",
252+
" meta_data=\"../../kloppy/tests/files/statsperform_ma1_metadata.xml\",\n",
253+
" \n",
254+
" # Optional arguments\n",
255+
" coordinates=\"statsperform\"\n",
256+
")\n",
257+
"\n",
258+
"dataset.to_df().head()"
259+
]
260+
},
261+
{
262+
"cell_type": "code",
263+
"execution_count": null,
264+
"id": "6780ce08",
265+
"metadata": {},
266+
"outputs": [],
267+
"source": []
268+
}
269+
],
270+
"metadata": {
271+
"kernelspec": {
272+
"display_name": "kloppy-venv",
273+
"language": "python",
274+
"name": "kloppy-venv"
275+
},
276+
"language_info": {
277+
"codemirror_mode": {
278+
"name": "ipython",
279+
"version": 3
280+
},
281+
"file_extension": ".py",
282+
"mimetype": "text/x-python",
283+
"name": "python",
284+
"nbconvert_exporter": "python",
285+
"pygments_lexer": "ipython3",
286+
"version": "3.10.6"
287+
}
288+
},
289+
"nbformat": 4,
290+
"nbformat_minor": 5
291+
}

kloppy/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# )
1414
# from .domain.services.state_builder import add_state
1515

16-
__version__ = "3.10.1"
16+
__version__ = "3.11.0"

mkdocs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
site_name: kloppy 3.10.0
1+
site_name: kloppy 3.11.0
22
site_url: https://kloppy.pysport.org
33
repo_url: https://github.com/PySport/kloppy
44
repo_name: 'GitHub'
@@ -24,6 +24,7 @@ nav:
2424
- Sportec: getting-started/sportec.ipynb
2525
- Sportscode: getting-started/sportscode.ipynb
2626
- Statsbomb: getting-started/statsbomb.ipynb
27+
- StatsPerform: getting-started/statsperform.ipynb
2728
- TRACAB: getting-started/tracab.ipynb
2829
- Wyscout: getting-started/wyscout.ipynb
2930
- Examples:

0 commit comments

Comments
 (0)