Socceraction Versions Save

Convert soccer event stream data to SPADL and value player actions using VAEP or xT

v1.5.1

2 months ago

Changes

:rocket: Features

  • [VAEP] Add "player_possession_time" feature (#680) @probberechts
  • [VAEP] Add "speed" feature (#679) @probberechts

:beetle: Fixes

  • [kloppy] Fix parsing own goals (#681) @probberechts
  • [VAEP] Fix 'result' feature generator (#668) @probberechts

:racehorse: Performance

  • [Opta] Load competitions dataframe more efficiently (#678) @probberechts

:construction_worker: Continuous Integration

  • Bump actions/upload-artifact and actions/download-artifact from 3 to 4 (#684) @probberechts

:books: Documentation

  • Add documentation about synthetic dribbles (#683) @probberechts
  • Improve docs of "play_left_to_right" (#682) @probberechts

:package: Dependencies

  • Bump actions/upload-artifact and actions/download-artifact from 3 to 4 (#684) @probberechts
  • build(deps): bump poetry from 1.8.1 to 1.8.2 in /.github/workflows (#677) @dependabot
  • build(deps): bump nox from 2023.4.22 to 2024.3.2 in /.github/workflows (#676) @dependabot
  • build(deps): bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 (#675) @dependabot
  • build(deps): bump poetry from 1.8.0 to 1.8.1 in /.github/workflows (#674) @dependabot
  • build(deps-dev): bump coverage from 7.4.2 to 7.4.3 (#672) @dependabot
  • build(deps): bump pandas from 2.2.0 to 2.2.1 (#673) @dependabot
  • build(deps): bump poetry from 1.7.1 to 1.8.0 in /.github/workflows (#671) @dependabot
  • build(deps): bump virtualenv from 20.25.0 to 20.25.1 in /.github/workflows (#669) @dependabot
  • build(deps): bump scikit-learn from 1.4.0 to 1.4.1.post1 (#664) @dependabot
  • build(deps-dev): bump pyupgrade from 3.15.0 to 3.15.1 (#665) @dependabot
  • build(deps-dev): bump pre-commit from 3.6.1 to 3.6.2 (#666) @dependabot
  • build(deps-dev): bump coverage from 7.4.1 to 7.4.2 (#667) @dependabot
  • build(deps-dev): bump pre-commit from 3.6.0 to 3.6.1 (#663) @dependabot
  • build(deps): bump sphinx-autodoc-typehints from 1.25.3 to 2.0.0 in /docs (#660) @dependabot
  • build(deps): bump sphinx-autodoc-typehints from 1.25.2 to 1.25.3 in /docs (#651) @dependabot
  • build(deps): bump pandas from 2.1.4 to 2.2.0 (#650) @dependabot
  • build(deps): bump sphinx-autodoc-typehints from 1.25.2 to 1.25.3 (#652) @dependabot
  • build(deps-dev): bump coverage from 7.4.0 to 7.4.1 (#653) @dependabot
  • build(deps): bump furo from 2023.9.10 to 2024.1.29 in /docs (#654) @dependabot
  • build(deps): bump codecov/codecov-action from 3 to 4 (#655) @dependabot
  • build(deps): bump release-drafter/release-drafter from 5.25.0 to 6.0.0 (#656) @dependabot
  • build(deps): bump pip from 23.3.2 to 24.0 in /.github/workflows (#658) @dependabot
  • build(deps): bump numpy from 1.26.3 to 1.26.4 (#659) @dependabot
  • build(deps-dev): bump jinja2 from 3.1.2 to 3.1.3 (#647) @dependabot
  • build(deps): bump scikit-learn from 1.3.2 to 1.4.0 (#648) @dependabot
  • build(deps): bump actions/cache from 3 to 4 (#649) @dependabot
  • build(deps): bump numpy from 1.26.2 to 1.26.3 (#646) @dependabot
  • build(deps-dev): bump pytest from 7.4.3 to 7.4.4 (#645) @dependabot

v1.5.0

4 months ago

✨ Highlights

Loading data with kloppy

This release adds support for loading data using kloppy.

from kloppy import statsbomb
from socceraction.spadl.kloppy import convert_to_actions
import socceraction.atomic.spadl as atomicspadl

dataset = statsbomb.load_open_data(match_id=8657)
spadl_actions = convert_to_actions(dataset, game_id=8657)
atomic_spadl_actions = atomicspadl.convert_to_atomic(spadl_actions)

This will also work for other data sources, but the resulting SPADL representation will be incomplete / contain errors. A bit more work is required on the kloppy-side to implement the full data model and resolve bugs (see #643 and #644).

Pandas 2.0 support

This release adds support for Pandas v2. Pandas < v2 should be supported for the foreseeable future.

Changes

:boom: Breaking Changes

  • Use categorical dtype for categorical features (#603) @probberechts

:rocket: Features

  • Add Kloppy as reader (#229) @probberechts @MKlaasman
  • [Wyscout] Add support for left/right foot (#634) @probberechts
  • [StatsBomb] Timestamps up to millisecond accuracy (#602) @probberechts
  • [StatsBomb] Support high fidelity coordinates (#600) @probberechts

:beetle: Fixes

  • [SPADL] Do not insert synthetic dribbles before headed shots (#642) @probberechts
  • [SPADL] Do not insert synthetic dribbles before offensive fouls (#641) @probberechts
  • [Opta] Set body part of keeper actions to "other" (#631) @probberechts
  • [Wyscout] Insert interceptions before clearances and accelerations (#638) @probberechts
  • Use stable sort for ordering events/actions (#637) @probberechts
  • [Opta] Interceptions must regain possession to be successful (#635) @probberechts
  • [Wyscout] Ignore "missed ball"-touches (#640) @probberechts
  • [Opta] Set the body part of throw-ins to "other" (#630) @probberechts
  • [Wyscout] Add cards to result of fouls (#639) @probberechts
  • [Opta] Fix definition of 'freekick_crossed' (#636) @probberechts
  • [Wyscout] Only estimate goalmouth coordinates for shots (#633) @probberechts
  • [Opta] Fix bug when x or y-coordinate is zero (#632) @probberechts
  • [StatsBomb] The default result of a foul should always be 'fail' (#629) @probberechts
  • [StatsBomb] Fix fidelity of shot y-coordinates (#628) @probberechts
  • [StatsBomb] Set body part of throw-ins to "other" (#627) @probberechts
  • [StatsBomb] Split intercepted passes in two events (#619) @probberechts
  • Removal of "is" for boolean check in "_fix_unintentional_ball_touches" (#586) @ksbharaj

:rotating_light: Testing

  • Update StatsBomb IDs in tests (#607) @probberechts

:construction_worker: Continuous Integration

  • Update RTD config (#598) @probberechts

:package: Dependencies

  • Bump virtualenv from 20.24.5 to 20.25.0 in /.github/workflows (#622) @dependabot
  • Bump poetry from 1.6.1 to 1.7.1 in /.github/workflows (#618) @dependabot
  • Bump sphinx-autodoc-typehints from 1.24.0 to 1.25.2 in /docs (#617) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#621) @dependabot
  • Bump actions/setup-python from 4 to 5 (#623) @dependabot
  • Bump pip from 23.3 to 23.3.2 in /.github/workflows (#626) @dependabot
  • Bump pylint from 2.17.6 to 2.17.7 (#595) @dependabot
  • Bump pip from 23.2.1 to 23.3 in /.github/workflows (#604) @dependabot
  • Bump release-drafter/release-drafter from 5.24.0 to 5.25.0 (#605) @dependabot
  • Support Pandas 2.0 (#597) @probberechts
  • Bump furo from 2023.8.19 to 2023.9.10 in /docs (#588) @dependabot
  • Bump scikit-learn from 1.3.0 to 1.3.1 (#592) @dependabot
  • Bump pylint from 2.17.5 to 2.17.6 (#593) @dependabot
  • Bump crazy-max/ghaction-github-labeler from 4.2.0 to 5.0.0 (#587) @dependabot
  • Bump virtualenv from 20.24.4 to 20.24.5 in /.github/workflows (#589) @dependabot
  • Bump sphinx from 7.2.5 to 7.2.6 in /docs (#591) @dependabot

v1.4.2

8 months ago

Changes

:beetle: Fixes

  • Fix SPADL conversion of Opta ball touches and recoveries (#585) @probberechts
  • Allow missing matchDetails in MA3 feeds (#584) @probberechts & @rafhermans4
  • Allow missing "game_day" in MA3 feeds (#583) @probberechts & @rafhermans4

:construction_worker: Continuous Integration

  • Fix downloading test data (#569) @probberechts

:package: Dependencies

  • Bump actions/checkout from 3 to 4 (#580) @dependabot
  • Bump crazy-max/ghaction-github-labeler from 4.1.0 to 4.2.0 (#578) @dependabot
  • Bump pytest from 7.4.0 to 7.4.2 (#582) @dependabot
  • Bump sphinx from 7.2.4 to 7.2.5 in /docs (#576) @dependabot
  • Bump virtualenv from 20.24.3 to 20.24.4 in /.github/workflows (#577) @dependabot
  • Bump sphinx from 7.2.3 to 7.2.4 in /docs (#575) @dependabot
  • Bump poetry from 1.6.0 to 1.6.1 in /.github/workflows (#573) @dependabot
  • Bump sphinx from 7.2.2 to 7.2.3 in /docs (#574) @dependabot
  • Bump certifi from 2022.12.7 to 2023.7.22 (#571) @dependabot
  • Bump tornado from 6.3.2 to 6.3.3 (#572) @dependabot
  • Bump sphinx from 7.2.0 to 7.2.2 in /docs (#567) @dependabot
  • Bump furo from 2023.7.26 to 2023.8.19 in /docs (#568) @dependabot
  • Bump poetry from 1.5.1 to 1.6.0 in /.github/workflows (#570) @dependabot
  • Bump pygments from 2.15.1 to 2.16.1 (#559) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 (#562) @dependabot
  • Bump tqdm from 4.65.0 to 4.66.1 (#563) @dependabot
  • Bump virtualenv from 20.24.2 to 20.24.3 in /.github/workflows (#564) @dependabot
  • Bump sphinx from 7.1.2 to 7.2.0 in /docs (#565) @dependabot
  • Bump sphinx from 7.1.1 to 7.1.2 in /docs (#558) @dependabot
  • Bump furo from 2023.5.20 to 2023.7.26 in /docs (#555) @dependabot
  • Bump pylint from 2.17.4 to 2.17.5 (#554) @dependabot
  • Bump sphinx from 7.1.0 to 7.1.1 in /docs (#556) @dependabot
  • Bump statsbombpy from 1.10.1 to 1.11.0 (#548) @dependabot
  • Bump sphinx-autodoc-typehints from 1.23.4 to 1.24.0 in /docs (#550) @dependabot
  • Bump pip from 23.2 to 23.2.1 in /.github/workflows (#551) @dependabot
  • Bump virtualenv from 20.24.0 to 20.24.2 in /.github/workflows (#552) @dependabot
  • Bump sphinx from 7.0.1 to 7.1.0 in /docs (#553) @dependabot
  • Bump pip from 23.1.2 to 23.2 in /.github/workflows (#547) @dependabot
  • Bump virtualenv from 20.23.1 to 20.24.0 in /.github/workflows (#546) @dependabot
  • Bump nox-poetry from 1.0.2 to 1.0.3 in /.github/workflows (#544) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 (#545) @dependabot
  • Bump lxml from 4.9.2 to 4.9.3 (#543) @dependabot
  • Bump scikit-learn from 1.2.2 to 1.3.0 (#542) @dependabot
  • Bump release-drafter/release-drafter from 5.23.0 to 5.24.0 (#541) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 (#539) @dependabot
  • Bump numpy from 1.24.3 to 1.24.4 (#540) @dependabot
  • Bump pytest from 7.3.2 to 7.4.0 (#538) @dependabot
  • Bump virtualenv from 20.23.0 to 20.23.1 in /.github/workflows (#536) @dependabot
  • Bump xgboost from 1.7.5 to 1.7.6 (#537) @dependabot
  • Bump statsbombpy from 1.10.0 to 1.10.1 (#534) @dependabot
  • Bump pytest-mock from 3.10.0 to 3.11.1 (#535) @dependabot
  • Bump pytest from 7.3.1 to 7.3.2 (#533) @dependabot
  • Bump poetry from 1.4.2 to 1.5.1 in /.github/workflows (#532) @dependabot

v1.4.1

11 months ago

Changes

:rocket: Features

  • Make glob patterns in OptaLoader OS independent (#485) @probberechts

:beetle: Fixes

  • Fix xT model fitting (#495) @probberechts

:racehorse: Performance

  • Improve performance PublicWyscoutLoader (#493) @probberechts

:rotating_light: Testing

  • Add unit test for fetching data with authentication (#504) @probberechts

:construction_worker: Continuous Integration

  • Fix python version in CI setup script (#483) @probberechts

:package: Dependencies

  • Bump tornado from 6.2 to 6.3.2 (#531) @dependabot
  • Bump requests from 2.28.2 to 2.31.0 (#529) @dependabot
  • Bump furo from 2023.3.27 to 2023.5.20 in /docs (#527) @dependabot
  • Bump sphinx from 6.2.1 to 7.0.1 in /docs (#526) @dependabot
  • Bump pylint from 2.17.3 to 2.17.4 (#525) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 (#524) @dependabot
  • Bump pip from 23.1.1 to 23.1.2 in /.github/workflows (#520) @dependabot
  • Bump sphinx from 6.2.0 to 6.2.1 in /docs (#521) @dependabot
  • Bump pylint from 2.17.2 to 2.17.3 (#518) @dependabot
  • Bump statsbombpy from 1.9.0 to 1.10.0 (#511) @dependabot
  • Bump numpy from 1.24.2 to 1.24.3 (#517) @dependabot
  • Bump pip from 23.1 to 23.1.1 in /.github/workflows (#515) @dependabot
  • Bump pygments from 2.15.0 to 2.15.1 (#512) @dependabot
  • Bump pytest from 7.3.0 to 7.3.1 (#510) @dependabot
  • Bump nox from 2022.11.21 to 2023.4.22 in /.github/workflows (#514) @dependabot
  • Bump sphinx from 6.1.3 to 6.2.0 in /docs (#516) @dependabot
  • Bump codecov from 2.1.12 to 2.1.13 (#509) @dependabot
  • Bump pip from 23.0.1 to 23.1 in /.github/workflows (#508) @dependabot
  • Bump pygments from 2.14.0 to 2.15.0 (#506) @dependabot
  • Bump pytest from 7.2.2 to 7.3.0 (#505) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5 (#502) @dependabot
  • Bump pylint from 2.17.1 to 2.17.2 (#503) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4 (#500) @dependabot
  • Bump poetry from 1.4.1 to 1.4.2 in /.github/workflows (#501) @dependabot
  • Bump xgboost from 1.7.4 to 1.7.5 (#499) @dependabot
  • Bump statsbombpy from 1.8.1 to 1.9.0 (#498) @dependabot
  • Bump statsbombpy from 1.7.0 to 1.8.1 (#497) @dependabot
  • Bump furo from 2023.3.23 to 2023.3.27 in /docs (#496) @dependabot
  • Bump furo from 2022.12.7 to 2023.3.23 in /docs (#492) @dependabot
  • Bump poetry from 1.4.0 to 1.4.1 in /.github/workflows (#489) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 (#490) @dependabot
  • Bump pylint from 2.17.0 to 2.17.1 (#491) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1 (#488) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1 (#486) @dependabot
  • Bump virtualenv from 20.20.0 to 20.21.0 in /.github/workflows (#487) @dependabot
  • Bump statsbombpy from 1.6.1 to 1.7.0 (#484) @dependabot
  • Bump scikit-learn from 1.2.1 to 1.2.2 (#481) @dependabot
  • Bump pylint from 2.16.2 to 2.17.0 (#482) @dependabot
  • Bump tqdm from 4.64.1 to 4.65.0 (#478) @dependabot
  • Bump pytest from 7.2.1 to 7.2.2 (#476) @dependabot
  • Bump virtualenv from 20.19.0 to 20.20.0 in /.github/workflows (#475) @dependabot
  • Bump poetry from 1.3.2 to 1.4.0 in /.github/workflows (#473) @dependabot
  • Bump release-drafter/release-drafter from 5.22.0 to 5.23.0 (#472) @dependabot
  • Bump pip from 23.0 to 23.0.1 in /.github/workflows (#471) @dependabot

v1.4.0

1 year ago

Changes

  • Support Python 3.11 (#462) @probberechts

:boom: Breaking Changes

  • Discard fairplay actions and interrupted events (#469) @probberechts

:beetle: Fixes

  • Fix Opta to SPADL conversion of headed passes (#468) @probberechts
  • Fix default Opta feeds (#467) @probberechts

:books: Documentation

  • Reorganised and extended docs (#466) @probberechts

:package: Dependencies

  • Bump release-drafter/release-drafter from 5.20.0 to 5.22.0 (#463) @dependabot
  • Bump crazy-max/ghaction-github-labeler from 4.0.0 to 4.1.0 (#464) @dependabot
  • Bump xgboost from 1.7.3 to 1.7.4 (#465) @dependabot
  • Bump poetry from 1.2.2 to 1.3.2 in /.github/workflows (#449) @dependabot
  • Bump pip from 22.3.1 to 23.0 in /.github/workflows (#458) @dependabot
  • Bump virtualenv from 20.17.1 to 20.19.0 in /.github/workflows (#461) @dependabot
  • Bump flake8-docstrings from 1.6.0 to 1.7.0 (#456) @dependabot
  • Bump sphinx from 6.1.1 to 6.1.3 in /docs (#450) @dependabot
  • Bump sphinx-autodoc-typehints from 1.20.1 to 1.23.4 in /docs (#455) @dependabot
  • Bump sphinx-autodoc-typehints from 1.20.0 to 1.20.1 in /docs (#447) @dependabot
  • Bump sphinx-autodoc-typehints from 1.19.5 to 1.20.0 in /docs (#445) @dependabot
  • Bump sphinx from 6.0.0 to 6.1.1 in /docs (#446) @dependabot
  • Bump pygments from 2.13.0 to 2.14.0 (#444) @dependabot
  • Bump lxml from 4.9.1 to 4.9.2 (#439) @dependabot
  • Bump flake8-black from 0.3.5 to 0.3.6 (#440) @dependabot
  • Bump pre-commit from 2.20.0 to 2.21.0 (#441) @dependabot
  • Bump setuptools from 65.4.0 to 65.6.3 (#442) @dependabot
  • Bump sphinx from 5.3.0 to 6.0.0 in /docs (#443) @dependabot
  • Bump certifi from 2021.10.8 to 2022.12.7 (#436) @dependabot
  • Bump black from 22.10.0 to 22.12.0 (#438) @dependabot
  • Bump furo from 2022.9.29 to 2022.12.7 in /docs (#434) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4 (#433) @dependabot
  • Bump virtualenv from 20.17.0 to 20.17.1 in /.github/workflows (#432) @dependabot
  • Bump salsify/action-detect-and-tag-new-version from 2.0.2 to 2.0.3 (#430) @dependabot
  • Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1 (#431) @dependabot
  • Bump flake8-black from 0.3.3 to 0.3.5 (#425) @dependabot
  • Bump nox from 2022.8.7 to 2022.11.21 in /.github/workflows (#426) @dependabot
  • Bump virtualenv from 20.16.6 to 20.17.0 in /.github/workflows (#427) @dependabot
  • Bump statsbombpy from 1.5.1 to 1.6.1 (#428) @dependabot