|
========= |
|
Changelog |
|
========= |
|
|
|
All notable changes to this project will be documented in this file. |
|
|
|
Unreleased_ |
|
============ |
|
|
|
1.3.0_ - 2022-11-11 |
|
=================== |
|
|
|
Changed |
|
------- |
|
- Runtime scheme validation of pandas dataframes is now disabled. This |
|
increases performance, but also means that the user is responsible for |
|
ensuring that the dataframes are valid. |
|
|
|
Added |
|
----- |
|
- Implement caching for the ``PublicWyscoutLoader``. (`GH277 <https://github.com/ML-KULeuven/socceraction/issues/277>`_) |
|
- Distinguish between left/right foot in bodyparts (`GH220 <https://github.com/ML-KULeuven/socceraction/issues/220>`_) |
|
- The ``WyscoutLoader`` now also supports accessing the API. It is no longer |
|
needed to download the JSON files first. |
|
|
|
Fixed |
|
----- |
|
- Handle missing players in the public Wyscout data. (`GH276 <https://github.com/ml-kuleuven/socceraction/issues/276>`_) |
|
- The ``bodypart_onehot`` feature generator now sets "bodypart_head/other" to True |
|
for "head", "other" and "head/other". (`GH275 <https://github.com/ml-kuleuven/socceraction/issues/275>`_) |
|
- All feature generators now keep the original index of the input actions DataFrame.(`GH273 <https://github.com/ml-kuleuven/socceraction/issues/273>`_) |
|
- Fixed a PerformanceWarning in the ``actiontype_onehot``, ``result_onehot``, |
|
``actiontype_result_onehot`` and ``bodypart_onehot`` feature generators. |
|
The efficiency of these generators should have been improved too. |
|
(`GH370 <https://github.com/ml-kuleuven/socceraction/issues/370>`_) |
|
|
|
|
|
Removed |
|
------- |
|
- ``ExpectedThreat.predict`` was renamed to ``ExpectedThreat.rate``. |
|
- ``OptaLoader``, ``OptaCompetitionSchema``, ``OptaGameSchema``, |
|
``OptaPlayerSchema``, ``OptaTeamSchema`` and ``OptaEventSchema`` were moved |
|
to ``socceraction.data.opta``. |
|
- ``StatsBombLoader``, ``extract_player_games``, |
|
``StatsBombCompetitionSchema``, ``StatsBombGameSchema``, |
|
``StatsBombPlayerSchema``, ``StatsBombTeamSchema`` and ``StatsBombEventSchema`` were |
|
moved to ``socceraction.data.statsbomb``. |
|
- ``WyscoutLoader``, ``PublicWyscoutLoader``, ``WyscoutCompetitionSchema``, |
|
``WyscoutGameSchema``, ``WyscoutPlayerSchema``, ``WyscoutTeamSchema`` and |
|
``WyscoutEventSchema`` were moved to ``socceraction.data.wyscout``. |
|
|
|
CI |
|
-- |
|
- Added PyUpgrade to the CI pipeline to automatically update Python syntax. |
|
- Moved darglint to its own manual pre-commit hook. |
|
- Reduced merge conflicts using the lockfile-only strategy for Depandabot |
|
|
|
|
|
|
|
1.2.3_ - 2022-04-23 |
|
=================== |
|
|
|
Changed |
|
------- |
|
- Spaces, dashes and underscores are now allowed in Opta filenames. |
|
- Wyscout considers a few off the ball fouls, namely "Out of play foul", |
|
"Protest", "Time lost foul" and "Late card foul". These are now excluded |
|
from the SPADL representation. (`GH240 <https://github.com/ML-KULeuven/socceraction/issues/240>`_) |
|
- The Wyscout converter converted simulations to regular fouls. Now, we check |
|
if the preceding event was a take-on or a dribble. If so, we set the outcome |
|
to "failed" and drop the "Simulation". Otherwise, we replace the |
|
"simulation" with a failed take-on. (`GH240 <https://github.com/ML-KULeuven/socceraction/issues/240>`_) |
|
|
|
Fixed |
|
----- |
|
- Fixed a bug where the WhoScored parser crashed when a coach received a red |
|
card. |
|
- Fixed a bug where the WhoScored parser crashed on events with out-of-bounds |
|
coordinates. |
|
- The "minutes_played" column in the "players" dataframe did not take red |
|
cards into account. This was fixed for all data providers. |
|
- The ``ExpectedThreat.rate`` method gave incorrect results when applied on a SPADL dataframe with duplicate index. (`GH237 <https://github.com/ML-KULeuven/socceraction/issues/237>`_) |
|
|
|
|
|
|
|
1.2.2_ - 2022-03-11 |
|
=================== |
|
|
|
Fixed |
|
----- |
|
- Fix the atomic version of the ``goal_from_shot`` labeling function |
|
- Added missing opta event types 78 - 84 |
|
- Fixes conversion of owngoals in Atomic-SPADL (`GH198 <https://github.com/ML-KULeuven/socceraction/issues/198>`_) |
|
- Fixes the result of shots when subsequent events are not registered due to replays (`GH199 <https://github.com/ML-KULeuven/socceraction/issues/199>`_) |
|
- Handle incorrect timestamps in Stats Perform event data |
|
|
|
|
|
Documentation |
|
-------------- |
|
- Added instruction for downloading test data to the contributor guide. Also, |
|
the download script was improved. |
|
- Fixed the description on how SPADL handles the direction of play |
|
|
|
1.2.1_ - 2022-01-09 |
|
=================== |
|
|
|
Fixed |
|
----- |
|
- SchemaErrors on Windows (`GH157 <https://github.com/ML-KULeuven/socceraction/issues/157>`_) |
|
|
|
|
|
1.2.0_ - 2022-01-07 |
|
=================== |
|
|
|
Added |
|
----- |
|
- Add support for loading StatsBomb 360 data |
|
- Add support for loading StatsBomb data directly from the paid API |
|
- Add documentation for the data module |
|
- Add documentation for the StatsBomb data schemas |
|
- Add documentation for the Opta data schemas |
|
|
|
Changed |
|
------- |
|
- Remove the requests dependency |
|
- Remove the Unicode dependency |
|
- Some fields in the Opta data schema were removed or renamed to make them |
|
more uniform with the other data loaders |
|
- The ``referee_id`` and ``venue_id`` fields were replaced by a ``referee`` and |
|
``venue`` field, respectively |
|
|
|
Fixed |
|
----- |
|
- Fix a bug in the "minutes_played" field of the dataframe returned by the socceraction.data.wyscout.PublicWyscoutLoader.players method. (`GH153 <https://github.com/ML-KULeuven/socceraction/issues/153>`_) |
|
- Add missing WhoScored type ID (`GH143 <https://github.com/ML-KULeuven/socceraction/issues/143>`_) |
|
- Update the MA1 and MA3 Stats Perform parsers to make them compatible with the latest API version |
|
- Several small fixes in the Opta parsers |
|
|
|
1.1.3_ - 2021-12-20 |
|
=================== |
|
|
|
Fixed |
|
----- |
|
- Support loading new StatsBomb event data containing 360 snaphots. |
|
|
|
1.1.2_ - 2021-12-08 |
|
=================== |
|
|
|
Added |
|
----- |
|
- Use Poetry for depency management. |
|
- Use Nox for testing multiple Python versions. |
|
- Automatic depandency updates with Depandabot. |
|
|
|
Changed |
|
------- |
|
- Drop support for Python 3.6 |
|
- Updated README.md |
|
- Updated CONTRIBUTING.md |
|
- Improved CI workflow with deployment to test PyPi and test coverage. |
|
|
|
Fixed |
|
----- |
|
- Bugs in the StatsPerform MA3 parser affecting `extract_players()`. |
|
- Conversion to Atomic-SPADL changed the data type of the `player_id` column to `float`. |
|
- Fix incorrect type annnotations. |
|
- Wyscout action coordinates could be outside the [0, 68] or [0, 105] range. |
|
- Moved broken CI workflow from Travis to Github Actions. |
|
|
|
|
|
1.1.1_ - 2021-09-22 |
|
==================== |
|
|
|
Fixed |
|
----- |
|
- Add missing `data` module to pip release. |
|
|
|
|
|
1.1.0_ - 2021-09-17 |
|
==================== |
|
|
|
Added |
|
----- |
|
- Support for Stats Perform's MA1 and MA3 JSON feeds by `@JanVanHaaren <https://github.com/JanVanHaaren>`__ and `@denisov-vlad <https://github.com/denisov-vlad>`__ |
|
- Enhanced tests suite by use of ``@slow`` decorator, which is controlled via a ``--skip-slow`` command line argument. |
|
- A `play_left_to_right()` function to `socceraction.spadl` and `socceraction.atomic.spadl` which changes the start and end location of each action such that all actions are performed as if the team plays from left to right. |
|
- A `load_model()` function to `socceraction.xthreat` to load a precomputed xT grid |
|
|
|
Changed |
|
------- |
|
- Own goals are converted to a "bad_touch" SPADL event with outcome "owngoal". Previously, the action type differed between providers. (`GH26 <https://github.com/ML-KULeuven/socceraction/issues/26>`_) |
|
- All event data loaders are moved from `socceraction.spadl` to `socceraction.data` |
|
- `socceraction.xthreat.ExpectedThreat.predict` is depracated and replaced by `socceraction.xthreat.ExpectedThreat.rate` to be compatible with the VAEP api |
|
|
|
Fixed |
|
----- |
|
- Bugs in OptaLoader's `extract_lineups()` function affecting "is_starter" & "minutes_played" columns (`GH48 <https://github.com/ML-KULeuven/socceraction/issues/48>`_) |
|
|
|
1.0.2_ - 2021-04-03 |
|
==================== |
|
|
|
Fixed |
|
----- |
|
- Opta converter converted goalkicks to regular passes (`GH45 <https://github.com/ML-KULeuven/socceraction/issues/45>`_) |
|
- Fix StatsBomb converter for the public CL dataset (`GH46 <https://github.com/ML-KULeuven/socceraction/issues/46>`_) |
|
- The `goalscore` feature also counted goalkicks as goals |
|
|
|
1.0.1_ - 2021-01-16 |
|
==================== |
|
|
|
Changed |
|
------- |
|
- The WhoScored parser extracts the 'competition_id', 'season_id' and |
|
'game_id' fields from the filename. It is no longer required to append these |
|
fields to the JSON. |
|
|
|
1.0.0_ - 2021-01-11 |
|
==================== |
|
|
|
Added |
|
----- |
|
- Sphinx documentation |
|
- A `PublicWyscoutLoader` class which enables easy access to the open source Wyscout soccer-logs dataset (`GH14 <https://github.com/ML-KULeuven/socceraction/issues/14>`_) |
|
- A new bodypart type "head/other", since Wyscout does not distinguish beteen |
|
headers and other body parts (`GH27 <https://github.com/ML-KULeuven/socceraction/issues/27>`_) |
|
- Unit tests for the StatsBomb, Opta and Wyscout data convertors. |
|
- Add an `original_event_id` column to the SPADL format (`GH7 <https://github.com/ML-KULeuven/socceraction/issues/7>`_) |
|
- Add an `action_id` column to Opta and Wyscout SPADL to be consistent with the StatsBomb converter |
|
- A high-level API for training VAEP and Atomic-VAEP models |
|
- A parser for WhoScored JSON |
|
- CI with Travis |
|
- A logo |
|
- Minimal version requirements for dependencies |
|
|
|
Changed |
|
------- |
|
- Opta and Wyscout convertors are refactored as a class based API to be |
|
consistent with the StatsBomb converter (`GH23 <https://github.com/ML-KULeuven/socceraction/issues/23>`_) |
|
- Details in the README are moved to the docs |
|
|
|
Fixed |
|
----- |
|
- Check for same period when adding dribbles. |
|
- Fix typo in StatsBomb converter |
|
- Fix type of return value in xthreat.predict |
|
- Fix 'time_seconds' field in the StatsBomb converter for overtime periods and |
|
shoutouts |
|
- Fix result of Wyscout interception passes (`GH28 <https://github.com/ML-KULeuven/socceraction/issues/28>`_) |
|
- Fix own goals from bad touch events (`GH25 <https://github.com/ML-KULeuven/socceraction/issues/25>`_) |
|
|
|
0.2.1_ - 2020-06-16 |
|
==================== |
|
|
|
Fixed |
|
----- |
|
- Use the atomic version of actiontypes in Atomic-SPADL |
|
|
|
0.2.0_ - 2020-06-15 |
|
==================== |
|
|
|
Added |
|
----- |
|
- Atomic-SPADL and Atomic-VAEP |
|
|
|
Changed |
|
------- |
|
- Rename `socceraction.classification` to `socceraction.vaep` |
|
|
|
0.1.1_ - 2020-01-30 |
|
==================== |
|
|
|
Added |
|
----- |
|
- mypy typhinting |
|
|
|
Fixed |
|
----- |
|
- Add missing requests dependency |
|
|
|
|
|
0.1.0_ - 2020-01-22 |
|
==================== |
|
|
|
Changed |
|
------- |
|
- Simpler and more transparant API for the StatsBomb converter |
|
|
|
0.0.9_ - 2020-01-14 |
|
==================== |
|
|
|
Added |
|
----- |
|
- Expected threat (xT) implementation by `@MaaikeVR <https://github.com/MaaikeVR>`__ and `@karunsingh <https://github.com/karunsingh>`__ |
|
|
|
Fixed |
|
----- |
|
- Information leakage in xG model |
|
- Fix end coordinates of clearances |
|
|
|
|
|
0.0.8_ - 2019-11-29 |
|
==================== |
|
|
|
Fixed |
|
----- |
|
- Remove ujson from setup.py |
|
|
|
0.0.7_ - 2019-11-28 |
|
==================== |
|
|
|
Added |
|
----- |
|
- Expected goals demo |
|
|
|
Fixed |
|
----- |
|
- Possibility of extra time periods in the Wyscout converter by `@dbelcham <https://github.com/dbelcham>`__ |
|
- Fix utf-8 endcoding errors in convertors by `@dbelcham <https://github.com/dbelcham>`__ |
|
- Retrieval of Wyscout substitutions by `@dbelcham <https://github.com/dbelcham>`__ |
|
- Incorrect "bad touch" event type name in Opta parser |
|
- Fix SIGKDD citation in the readme |
|
- Fix storage of events in the optastore |
|
|
|
Removed |
|
------- |
|
- ujson dependency |
|
|
|
0.0.6_ - 2019-10-15 |
|
==================== |
|
|
|
Fixed |
|
----- |
|
- Typo in statsbomb.py |
|
- Fixed "scores" and "concedes" label of the last action in a dataframe |
|
|
|
0.0.5_ - 2019-10-15 |
|
==================== |
|
|
|
Changed |
|
------- |
|
- Improve speed and memory usage of the StatsBomb converter |
|
- Improve README |
|
- Add `action_id` column to spadl action table |
|
|
|
Fixed |
|
----- |
|
- Fixed Opta bugs related to fouls and playergamestats |
|
|
|
0.0.4_ - 2019-10-01 |
|
==================== |
|
|
|
Fixed |
|
----- |
|
- Fixed encoding error in StatsBomb parser by `@kim-younghan <https://github.com/kim-younghan>`__ |
|
- Fixed `start_angle_to_goal` and `end_angle_to_goal` features |
|
|
|
Removed |
|
------- |
|
- LICENCE.txt |
|
|
|
0.0.3_ - 2019-08-26 |
|
==================== |
|
|
|
Added |
|
----- |
|
- SPADL convertor for Wyscout event data |
|
- MIT License file |
|
- setup.py file |
|
|
|
0.0.2_ - 2019-07-31 |
|
==================== |
|
|
|
0.0.1_ - 2019-07-31 |
|
==================== |
|
|
|
Initial release. |
|
|
|
.. _Unreleased: https://github.com/ML-KULeuven/socceraction/compare/v1.3.0...HEAD |
|
.. _1.3.0: https://github.com/ML-KULeuven/socceraction/compare/v1.2.3...v1.3.0 |
|
.. _1.2.3: https://github.com/ML-KULeuven/socceraction/compare/v1.2.2...v1.2.3 |
|
.. _1.2.2: https://github.com/ML-KULeuven/socceraction/compare/v1.2.1...v1.2.2 |
|
.. _1.2.1: https://github.com/ML-KULeuven/socceraction/compare/v1.2.0...v1.2.1 |
|
.. _1.2.0: https://github.com/ML-KULeuven/socceraction/compare/v1.1.3...v1.2.0 |
|
.. _1.1.3: https://github.com/ML-KULeuven/socceraction/compare/v1.1.2...v1.1.3 |
|
.. _1.1.2: https://github.com/ML-KULeuven/socceraction/compare/v1.1.1...v1.1.2 |
|
.. _1.1.1: https://github.com/ML-KULeuven/socceraction/compare/v1.1.0...v1.1.1 |
|
.. _1.1.0: https://github.com/ML-KULeuven/socceraction/compare/v1.0.2...v1.1.0 |
|
.. _1.0.2: https://github.com/ML-KULeuven/socceraction/compare/v1.0.1...v1.0.2 |
|
.. _1.0.1: https://github.com/ML-KULeuven/socceraction/compare/v1.0.0...v1.0.1 |
|
.. _1.0.0: https://github.com/ML-KULeuven/socceraction/compare/v0.2.1...v1.0.0 |
|
.. _0.2.1: https://github.com/ML-KULeuven/socceraction/compare/v0.2.0...v0.2.1 |
|
.. _0.2.0: https://github.com/ML-KULeuven/socceraction/compare/v0.1.1...v0.2.0 |
|
.. _0.1.1: https://github.com/ML-KULeuven/socceraction/compare/v0.1.0...v0.1.1 |
|
.. _0.1.0: https://github.com/ML-KULeuven/socceraction/compare/v0.0.9...v0.1.0 |
|
.. _0.0.9: https://github.com/ML-KULeuven/socceraction/compare/v0.0.8...v0.0.9 |
|
.. _0.0.8: https://github.com/ML-KULeuven/socceraction/compare/v0.0.7...v0.0.8 |
|
.. _0.0.7: https://github.com/ML-KULeuven/socceraction/compare/v0.0.6...v0.0.7 |
|
.. _0.0.6: https://github.com/ML-KULeuven/socceraction/compare/v0.0.5...v0.0.6 |
|
.. _0.0.5: https://github.com/ML-KULeuven/socceraction/compare/v0.0.4...v0.0.5 |
|
.. _0.0.4: https://github.com/ML-KULeuven/socceraction/compare/v0.0.3...v0.0.4 |
|
.. _0.0.3: https://github.com/ML-KULeuven/socceraction/compare/v0.0.2...v0.0.3 |
|
.. _0.0.2: https://github.com/ML-KULeuven/socceraction/compare/v0.0.1...v0.0.2 |
|
.. _0.0.1: https://github.com/ML-KULeuven/socceraction/releases/tag/v0.0.1 |
|
|