duckstatsbomb
A data parser for StatsBomb soccer data using duckdb
StatsBomb open-data
Competitions data
from duckstatsbomb import Sbopen
parser = Sbopen()
df_competitions = parser.competitions()
Matches data
from duckstatsbomb import Sbopen
parser = Sbopen()
df_matches = parser.matches(2, 44)
List valid data types
from duckstatsbomb import Sbopen
parser = Sbopen()
print(parser.valid_data())
The valid kind values are:
- 'lineup_players'
- 'events'
- 'frames'
- 'tactics',
- 'related_events'
- 'threesixty_frames'
- 'threesixty'
Data from one match
from duckstatsbomb import Sbopen
parser = Sbopen()
df_lineup_players = parser.match_data(3749052, kind='lineup_players')
Data from multiple matches
from duckstatsbomb import Sbopen
parser = Sbopen()
df_events = parser.match_data([3749052, 3749522], kind='events')
Data from one competition
from duckstatsbomb import Sbopen
parser = Sbopen()
df_tactics = parser.competition_data(competition_id=16, kind='tactics')
Data from one competition/season
from duckstatsbomb import Sbopen
parser = Sbopen()
df_frames = parser.competition_data(competition_id=16, season_id=37, kind='frames')
StatsBomb API
You can either provide the username and password as arguments (sb_username/ sb_password), or set the SB_USERNAME and SB_PASSWORD environmental variables.
Competitions data
from duckstatsbomb import Sbapi
parser = Sbapi()
df_competitions = parser.competitions()
Matches data
from duckstatsbomb import Sbapi
parser = Sbapi()
df_matches = parser.matches(2, 44)
List valid data types
from duckstatsbomb import Sbapi
parser = Sbapi()
print(parser.valid_data())
The valid kind values are:
- 'lineup_players'
- 'events'
- 'frames'
- 'tactics',
- 'related_events'
- 'threesixty_frames'
- 'threesixty',
- 'lineup_events'
- 'lineup_formations'
- 'lineup_positions',
- 'threesixty_visible_count'
- 'threesixty_visible_distance'
Data from one match
from duckstatsbomb import Sbapi
parser = Sbapi()
df_lineup_players = parser.match_data(3749052, kind='lineup_players')
Data from multiple matches
from duckstatsbomb import Sbapi
parser = Sbapi()
df_events = parser.match_data([3749052, 3749522], kind='events')
Data from one competition
from duckstatsbomb import Sbapi
parser = Sbapi()
df_tactics = parser.competition_data(competition_id=16, kind='tactics')
Data from one competition/season
from duckstatsbomb import Sbapi
parser = Sbapi()
df_frames = parser.competition_data(competition_id=16, season_id=37, kind='frames')
Release files for duckstatsbomb 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| duckstatsbomb-0.2.0.tar.gz | 18.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| duckstatsbomb-0.2.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 53.6 kB
Release files / duckstatsbomb-0.2.0.tar.gz
| Download URL | duckstatsbomb-0.2.0.tar.gz |
|---|---|
| Size | 18.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8a6930d8670b5a1503c002c0f915f349f0a74c5d6ba53408823f8d780c93d8b
|
|
BLAKE2b-256 checksum How to use checksums |
0bec505c63dd1f3d915c7921464d2056108ad2afe9f9752a189099ac4f6f55e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|
Release files / duckstatsbomb-0.2.0-py2.py3-none-any.whl
| Download URL | duckstatsbomb-0.2.0-py2.py3-none-any.whl |
|---|---|
| Size | 35.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
ddadc75f3252b794555096db8c5812e6aede0f332387d10b9077f328edac48bd
|
|
BLAKE2b-256 checksum How to use checksums |
89a2faffa594c5b9a2e6804140711a5ad5a8a534105f57b3f26cc93ac297fe20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|