Releases: probberechts/soccerdata
Releases · probberechts/soccerdata
v1.7.1
Changes
🚀 Features
- [WhoScored] Add options to skip/retry/raise when scraping match events fails (#592) @probberechts
🪲 Fixes
- [FBref] Avoid duplicate Big 5 leagues (#595) @probberechts
- [WhoScored] Update read_schedule method (#582) @probberechts
📦 Dependencies
- chore(deps): update codecov/codecov-action action to v4.4.1 (#594) @renovate
- chore(deps): update dependency pytest to v8.2.1 (#593) @renovate
- chore(deps): update dependency pep8-naming to ^0.14.0 (#591) @renovate
- chore(deps): update actions/checkout action to v4.1.6 (#590) @renovate
- chore(deps): update codecov/codecov-action action to v4.4.0 (#588) @renovate
- chore(deps): update dependency virtualenv to v20.26.2 (#587) @renovate
- chore(deps): update dependency pylint to v3.1.1 (#586) @renovate
- fix(deps): update dependency lxml to v5.2.2 (#585) @renovate
- chore(deps): update dependency pre-commit to v3.7.1 (#584) @renovate
- chore(deps): update dependency poetry to v1.8.3 (#583) @renovate
- chore(deps): update dependency pygments to v2.18.0 - autoclosed (#574) @renovate
- chore(deps): update dependency furo to v2024.5.6 (#577) @renovate
- chore(deps): update dependency furo to v2024.5.6 (#578) @renovate
- chore(deps): update dependency nbsphinx to v0.9.4 (#580) @renovate
- chore(deps): update dependency coverage to v7.5.1 (#575) @renovate
- chore(deps): update dependency nbsphinx to v0.9.4 (#579) @renovate
v1.7.0
Changes
🚀 Features
- Add support for scraping Sofascore (#505) @ksbharaj
- [FBref] Add force_cache param to read_team_match_stats (#538) @Kalaweksh
🪲 Fixes
- [FBref] Handle games with missing events (#573) @probberechts
- [FBref] Handle yellow card events for non-players (#566) @nachouve
- [FotMob] Get correct team match stats using 'opponent_stats' parameter (#541) @marcjbaron
- Fix GHA pipx install (#540) @probberechts
👷 Continuous Integration
- Fix GHA pipx install (#540) @probberechts
📦 Dependencies
- chore(deps): update actions/checkout action to v4.1.5 (#572) @renovate
- chore(deps): update codecov/codecov-action action to v4.3.1 (#571) @renovate
- chore(deps): update dependency virtualenv to v20.26.1 (#570) @renovate
- chore(deps): update dependency coverage to v7.5.0 (#561) @renovate
- chore(deps): update dependency virtualenv to v20.26.0 (#562) @renovate
- chore(deps): update dependency mypy to v1.10.0 (#565) @renovate
- chore(deps): update dependency furo to v2024.4.27 (#568) @renovate
- chore(deps): update dependency furo to v2024.4.27 (#569) @renovate
- chore(deps): update dependency pytest to v8.1.2 (#567) @renovate
- chore(deps): update dependency black to v24.4.1 (#564) @renovate
- chore(deps): update actions/checkout action to v4.1.4 (#563) @renovate
- chore(deps): update dependency flake8-bugbear to v24.4.21 (#559) @renovate
- chore(deps): update dependency sphinx to v7.3.7 (#556) @renovate
- chore(deps): update actions/checkout action to v4.1.3 (#555) @renovate
- chore(deps): update dependency sphinx to v7.3.6 (#554) @renovate
- chore(deps): update dependency virtualenv to v20.25.3 (#553) @renovate
- chore(deps): update dependency sphinx to v7.3.5 (#552) @renovate
- chore(deps): update dependency sphinx to v7.3.5 (#551) @renovate
- chore(deps): update dependency virtualenv to v20.25.2 (#550) @renovate
- chore(deps): update dependency nox to v2024.4.15 (#549) @renovate
- chore(deps): update actions/checkout action to v4.1.2 (#548) @renovate
- chore(deps): update dependency sphinx-autobuild to v2024.4.13 (#546) @renovate
- chore(deps): update dependency black to v24.4.0 (#545) @renovate
- chore(deps): update codecov/codecov-action action to v4.3.0 (#543) @renovate
- chore(deps): update dependency pre-commit-hooks to v4.6.0 (#542) @renovate
- fix(deps): update dependency lxml to v5.1.1 (#535) @renovate
- chore(deps): update codecov/codecov-action action to v4.2.0 (#536) @renovate
- chore(deps): update actions/setup-python action to v5.1.0 (#531) @renovate
- chore(deps): update codecov/codecov-action action to v4.1.1 (#530) @renovate
- Bump actions/upload-artifact and actions/download-artifact from 3 to 4 (#534) @probberechts
- chore(deps): update dependency pre-commit to v3.7.0 (#527) @renovate
- chore(deps): update dependency time-machine to v2.14.1 (#525) @renovate
SoFIFA fix
Changes
🪲 Fixes
- [SoFIFA] Always use desktop user agent (#519) @probberechts
- [SoFIFA] Bypass Cloudflare's anti-bot page (#517) @probberechts
📚 Documentation
📦 Dependencies
- chore(deps): update dependency pytest-mock to v3.14.0 - autoclosed (#521) @renovate
- chore(deps): update actions/cache action to v4.0.2 (#520) @renovate
- chore(deps): update dependency black to v24.3.0 (#518) @renovate
- chore(deps): update dependency nox to v2024 (#506) @renovate
- chore(deps): update dependency time-machine to v2.14.0 (#507) @renovate
- chore(deps): update dependency mypy to v1.9.0 (#511) @renovate
- chore(deps): update dependency pytest to v8.1.1 (#512) @renovate
- chore(deps): update pypa/gh-action-pypi-publish action to v1.8.14 (#510) @renovate
- chore(deps): update dependency coverage to v7.4.4 (#515) @renovate
- chore(deps): update dependency poetry to v1.8.2 (#504) @renovate
- chore(deps): update actions/cache action to v4.0.1 (#503) @renovate
- fix(deps): update dependency rich to v13.7.1 (#502) @renovate
- chore(deps): update dependency poetry to v1.8.1 (#498) @renovate
- chore(deps): update codecov/codecov-action action to v4.1.0 (#499) @renovate
- chore(deps): update pypa/gh-action-pypi-publish action to v1.8.12 (#501) @renovate
- chore(deps): update dependency pytest to v8.0.2 (#497) @renovate
- chore(deps): update dependency pylint to v3.0.4 (#496) @renovate
- chore(deps): update codecov/codecov-action action to v4.0.2 (#495) @renovate
- chore(deps): update dependency virtualenv to v20.25.1 (#494) @renovate
- chore(deps): update dependency coverage to v7.4.2 (#493) @renovate
FotMob and Understat support
This version adds support for scraping FotMob and Understat.
🚀 Features
- Add support for scraping Understat (#480) @JanVanHaaren
- Add support for scraping FotMob (#461) @marcjbaron
🪲 Fixes
- [ESPN] Allow new roster format (#490) @probberechts
📦 Dependencies
- chore(deps): update dependency pre-commit to v3.6.2 (#487) @renovate
- chore(deps): update dependency pytest to v8.0.1 (#488) @renovate
- fix(deps): update dependency undetected-chromedriver to v3.5.5 (#489) @renovate
- chore(deps): update dependency black to v24.2.0 (#486) @renovate
- chore(deps): update dependency pre-commit to v3.6.1 (#484) @renovate
- [Nox] Replace tilde with Path.home() (#481) @JanVanHaaren
- Update dependency sphinx-autobuild to v2024 (#478) @renovate
- Update dependency pip to v24 (#477) @renovate
- Update release-drafter/release-drafter action to v6 (#476) @renovate
- Update codecov/codecov-action action to v4.0.1 (#475) @renovate
- Update codecov/codecov-action action to v4 (#474) @renovate
- Update dependency black to v24 (#473) @probberechts
- Update codecov/codecov-action action to v3.1.6 (#472) @renovate
- Update dependency pytest to v8 (#470) @renovate
- Update dependency furo to v2024 (#471) @renovate
- Update dependency coverage to v7.4.1 (#469) @renovate
- Update codecov/codecov-action action to v3.1.5 (#467) @renovate
- Update actions/cache action to v4 (#464) @renovate
- Update dependency flake8-bugbear to v24 (#465) @renovate
- Update dependency flake8 to v7 (#459) @renovate
- Update actions/cache action to v3.3.3 (#463) @renovate
- Update dependency Unidecode to v1.3.8 (#462) @renovate
- Update dependency lxml to v5.0.1 (#460) @renovate
v1.5.3
Changes
🚀 Features
- Add option to configure caching max-age via env (#453) @probberechts
- [WhoScored] Ignore cached events file if empty (#420) @shufinskiy
🪲 Fixes
- [SoFIFA] Adjust to new HTML structure (#452) @probberechts
- [SoFIFA] Fix team xpath selector (#414) @probberechts
🚨 Testing
- [Test] Add appdata/config + refactor (#457) @probberechts
- [CI] Run SoFIFA tests (#456) @probberechts
👷 Continuous Integration
- [CI] Run SoFIFA tests (#456) @probberechts
- [CI] Keep cached data across test runs (#454) @probberechts
📦 Dependencies
- Update dependency mypy to v1.8.0 (#429) @renovate
- Update dependency lxml to v5 (#455) @renovate
- Update dependency coverage to v7.4.0 (#451) @renovate
- Update dependency pytest to v7.4.4 (#450) @renovate
- Update actions/setup-python action to v5 (#439) @renovate
- Update dependency lxml to v4.9.4 (#448) @renovate
- Update dependency virtualenv to v20.25.0 (#438) @renovate
- Update dependency pre-commit to v3.6.0 (#441) @renovate
- Update dependency black to v23.12.1 (#443) @renovate
- Update dependency pip to v23.3.2 (#447) @renovate
- Update dependency coverage to v7.3.3 (#444) @renovate
- Update dependency pylint to v3.0.3 (#442) @renovate
- Update pypa/gh-action-pypi-publish action to v1.8.11 (#437) @renovate
- Update actions/setup-python action to v4.8.0 (#436) @renovate
- Update dependency flake8-bugbear to v23.11.26 (#435) @renovate
- Update dependency rich to v13.7.0 (#431) @renovate
- Update dependency Pygments to v2.17.2 (#433) @renovate
- Update dependency virtualenv to v20.24.7 (#434) @renovate
- Update dependency undetected-chromedriver to v3.5.4 (#430) @renovate
- Update dependency poetry to v1.7.1 (#432) @renovate
- Update dependency black to v23.11.0 (#427) @renovate
- Update dependency poetry to v1.7.0 (#428) @renovate
- Update dependency pytest-mock to v3.12.0 (#421) @renovate
- Update dependency pytest to v7.4.3 (#426) @renovate
- Update dependency virtualenv to v20.24.6 (#425) @renovate
- Update dependency pylint to v3.0.2 (#423) @renovate
- Update dependency pip to v23.3.1 (#422) @renovate
- Update dependency pip to v23.3 (#415) @renovate
- Update release-drafter/release-drafter action to v5.25.0 - autoclosed (#416) @renovate
- Update dependency black to v23.10.0 (#418) @renovate
- Update dependency mypy to v1.6.1 (#419) @renovate
- Update actions/checkout action to v4.1.1 (#417) @renovate
v1.5.2
Changes
🚀 Features
- [FBref] exception if opponent stats not available (#379) @probberechts
🪲 Fixes
- Handle Selenium 4.13 no longer supporting headless (#412) @probberechts
- [FBref] Fix read_team_match_stats to deal with missing time (#406) @probberechts
- [FBref] Update read_team_match_stats to deal with latest season (#384) @mhd0528
- [SoFIFA] Fix read_leagues (#318) @probberechts
👷 Continuous Integration
- Update RTD config (#393) @probberechts
📚 Documentation
- Improve docs (#321) @probberechts
📦 Dependencies
- Drop Python 3.8 support (#411) @probberechts
- Update dependency Sphinx to v7.2.6 (#407) @renovate
- Update dependency mypy to v1.6.0 (#408) @renovate
- Update dependency pre-commit-hooks to v4.5.0 (#409) @renovate
- Update dependency Sphinx to v7.2.6 (#405) @renovate
- Update dependency Sphinx to v7.2.6 (#404) @renovate
- Update dependency Sphinx to v7.2.6 (#401) @renovate
- Update dependency pylint to v3 (#403) @renovate
- Update dependency coverage to v7.3.2 (#402) @renovate
- Update dependency Sphinx to v7.2.6 (#399) @renovate
- Update dependency rich to v13.6.0 (#400) @renovate
- Update dependency Sphinx to v7.2.6 (#397) @renovate
- Update dependency Sphinx to v7.2.6 (#394) @renovate
- Update dependency Unidecode to v1.3.7 (#392) @renovate
- Update dependency pylint to v2.17.6 (#391) @renovate
- Update actions/checkout action to v4.1.0 (#387) @renovate
- Update dependency Sphinx to v7.2.6 (#388) @renovate
- Update actions/setup-python action to v4.7.1 (#390) @renovate
- Update dependency time-machine to v2.13.0 (#383) @renovate
- Update dependency Sphinx to v7.2.6 (#380) @renovate
- Update dependency rich to v13.5.3 (#381) @renovate
- Update dependency Sphinx to v7.2.6 (#376) @renovate
- Update dependency flake8-bugbear to v23.9.16 (#378) @renovate
- Update dependency sphinx to v7.2.6 (#377) @renovate
- Update dependency Sphinx to v7.2.5 (#363) @renovate
- Update actions/checkout action to v4 (#364) @renovate
- Update dependency black to v23.9.1 (#371) @renovate
- Update crazy-max/ghaction-github-labeler action to v5 (#373) @renovate
- Update dependency furo to v2023.9.10 (#374) @renovate
- Update dependency furo to v2023.9.10 (#375) @renovate
- Update actions/cache action to v3.3.2 (#368) @renovate
- Update dependency virtualenv to v20.24.5 (#369) @renovate
- Update actions/upload-artifact action to v3.1.3 (#367) @renovate
- Update dependency coverage to v7.3.1 (#365) @renovate
- Update dependency Sphinx to v7.2.5 (#362) @renovate
- Update dependency Sphinx to v7.2.5 (#355) @renovate
- Update crazy-max/ghaction-github-labeler action to v4.2.0 (#358) @renovate
- Update dependency pytest to v7.4.1 (#360) @renovate
- Update dependency pre-commit to v3.4.0 (#361) @renovate
- Update dependency sphinx to v7.2.5 (#356) @renovate
- Update dependency virtualenv to v20.24.4 (#352) @renovate
- Update dependency Sphinx to v7.2.4 (#350) @renovate
- Update dependency sphinx to v7.2.4 (#353) @renovate
- Update dependency sphinx to v7.2.3 (#351) @renovate
- Update dependency Sphinx to v7.2.2 (#349) @renovate
- Update dependency nbsphinx to v0.9.3 (#344) @renovate
- Update dependency nbsphinx to v0.9.3 - autoclosed (#345) @renovate
- Update dependency Sphinx to v7.2.2 (#348) @renovate
- Update dependency Sphinx to v7.2.2 (#347) @renovate
- Update actions/checkout action to v3.6.0 (#346) @renovate
- Update dependency Sphinx to v7.2.2 (#341) @renovate
- Update dependency sphinx to v7.2.2 (#335) @renovate
- Update dependency poetry to v1.6.1 (#339) @renovate
- Update dependency undetected-chromedriver to v3.5.3 (#343) @renovate
- Update dependency furo to v2023.8.19 (#338) @renovate
- Update dependency furo to v2023.8.17 (#336) @renovate
- Update dependency time-machine to v2.12.0 (#334) @renovate
- Update dependency furo to v2023.8.17 (#337) @renovate
- Update dependency Pygments to v2.16.1 (#326) @renovate
- Update dependency mypy to v1.5.0 (#329) @renovate
- Update dependency virtualenv to v20.24.3 (#331) @renovate
- Update dependency coverage to v7.3.0 (#333) @renovate
- Update pypa/gh-action-pypi-publish action to v1.8.10 (#330) @renovate
- Update dependency sphinx to v7.1.2 (#325) @renovate
- Update dependency Sphinx to v7.1.2 (#324) @renovate
- Update dependency undetected-chromedriver to v3.5.1 (#327) @renovate
- Update dependency rich to v13.5.2 (#323) @renovate
- Update dependency rich to v13.5.1 (#320) @renovate
- Update dependency flake8 to v6.1.0 (#319) @renovate
v1.5.1
Changes
🪲 Fixes
- [FBref] Handle missing Scores & Fixtures page on the Big 5 European Leagues Stats page (#284) @lorenzodb1
- [FBref] Handle canceled / forfeited games (#309) @lorenzodb1
- [FBref] Handle teammates with identical name (#306) @probberechts
👷 Continuous Integration
- Add 'dependencies' label to renovate PRs (#312) @probberechts
📚 Documentation
- [FBref] Update API docs (#307) @probberechts
📦 Dependencies
- Update dependency virtualenv to v20.24.1 (#308) @renovate
- Update dependency sphinx to v7.1.1 (#316) @renovate
- Update dependency furo to v2023.7.26 (#315) @renovate
- Update dependency virtualenv to v20.24.2 (#314) @renovate
- Update dependency pip to v23.2.1 (#313) @renovate
- Update dependency undected-chromedriver to v3.5.0 (#311) @probberechts
v1.5.0
Changes
🚀 Features
- [FBref] Informative errors when merge fails (#303) @probberechts
- Add support for Women's World Cup (#302) @probberechts
- [MatchHistory] Drop empty cols (#264) @probberechts
🪲 Fixes
- [FBref] Remove non-data rows from output dataframe (#289) @probberechts
- [FBref] filter leagues in read_team_match_stats (#290) @probberechts
- [FBref] Handle missing flag icon in Squad or Nation column (#285) @lorenzodb1
- [FBref] Fix invalid cache filenames in read_team_season_stats (#283) @lorenzodb1
- [MatchHistory] Fix date format bug (#263) @probberechts
📦 Dependencies
- Update dependency pandas to v2 (#208) @renovate
- Update dependency pip to v23.2 (#301) @renovate
- Update dependency virtualenv to v20.24.0 (#300) @renovate
- Update actions/setup-python action to v4.7.0 (#298) @renovate
- Update pypa/gh-action-pypi-publish action to v1.8.8 (#297) @renovate
- Update dependency black to v23.7.0 (#296) @renovate
- Update dependency time-machine to v2.11.0 (#295) @renovate
- Update dependency flake8-bugbear to v23.7.10 (#294) @renovate
- Update dependency nox-poetry to v1.0.3 (#293) @renovate
- Update dependency lxml to v4.9.3 (#291) @renovate
- Update dependency pandas to v2.0.3 (#287) @renovate
- Update release-drafter/release-drafter action to v5.24.0 (#280) @renovate
- Update pypa/gh-action-pypi-publish action to v1.8.7 (#279) @renovate
- Update dependency time-machine to v2.10.0 (#275) @renovate
- Update dependency pytest to v7.4.0 (#278) @renovate
- Update dependency mypy to v1.4.0 (#274) @renovate
- Update dependency undetected-chromedriver to v3.5.0 (#267) @renovate
- Update dependency pytest-mock to v3.11.1 (#272) @renovate
- Update dependency virtualenv to v20.23.1 (#273) @renovate
- Update dependency rich to v13.4.2 (#268) @renovate
- Update dependency pre-commit to v3.3.3 (#270) @renovate
- Update dependency pytest to v7.3.2 (#266) @renovate
- Update actions/checkout action to v3.5.3 (#265) @renovate
- Update dependency selenium to v4.10.0 (#262) @renovate
- Update dependency flake8-bugbear to v23.6.5 (#261) @renovate
- Update dependency poetry to v1.5.1 (#257) @renovate
- Update dependency rich to v13.4.1 (#258) @renovate
- Update dependency coverage to v7.2.7 (#256) @renovate
- Update dependency poetry to v1.5.0 (#147) @renovate
- Update dependency nbsphinx to v0.9.2 (#255) @renovate
- Update actions/setup-python action to v4.6.1 (#254) @renovate
- Update dependency furo to v2023.5.20 (#253) @renovate
v1.4.0
🚀 Features
- [FBref] Add read_team_match_stats() (#195)
- [FBref] Add read_events() to retrieve the timing of goals, cards and substitutions in a game
- [FBref] Extend read_lineup() function with "position" and "minutes played" columns
💥 Breaking Changes
- [SoFIFA] Major fixes and API changes
- [FBref] Standardize column names
🪲 Fixes
- [FBref] Handle missing match shots data
👷 Continuous Integration
- Automate future releases using Release Drafter
📦 Dependencies
- Update dependency Sphinx to v7 (#237) @renovate
- Update dependency furo to v2023.5.20 (#250) @renovate
- Update dependency pre-commit to v3.3.2 (#248) @renovate
- Update dependency requests to v2.31.0 (#251) @renovate
- Update codecov/codecov-action action to v3.1.4 (#247) @renovate
- Update dependency mypy to v1.3.0 (#245) @renovate
- Update dependency flake8-bugbear to v23.5.9 (#244) @renovate
- Update dependency undetected-chromedriver to v3.4.7 (#243) @renovate
- Update dependency selenium to v4.9.1 (#241) @renovate
- Update dependency pylint to v2.17.4 (#240) @renovate
- Update dependency pre-commit to v3.3.1 (#238) @renovate
- Update pypa/gh-action-pypi-publish action to v1.8.6 (#239) @renovate
- Update dependency requests to v2.30.0 (#235) @renovate
- Update dependency coverage to v7.2.4 (#236) @renovate
- Update dependency requests to v2.29.0 (#233) @renovate
- Update dependency rich to v13.3.5 (#234) @renovate
- Update dependency pip to v23.1.2 (#232) @renovate
- Update dependency sphinx to v6.2.1 (#230) @renovate
- Update dependency pylint to v2.17.3 (#231) @renovate
- Update dependency nox to v2023 (#228) @renovate
- Update dependency Sphinx to v6.2.0 (#229) @renovate
- Update dependency pip to v23.1.1 (#227) @renovate
Add support for scraping World Cup data
New features
Add support for scraping World Cup data
The World Cup was added to the default available leagues for the WhoScored and FBref readers. Other tournaments can be added by modifying the league_dict.json
config file.
from soccerdata import WhoScored, FBref
ws = WhoScored(leagues="INT-World Cup", seasons="2022")
fb = FBref(leagues="INT-World Cup", seasons="2022")
Changes
- The WhoScored reader now uses the non-headless mode by default. Scraping in headless mode typically results in getting blocked quickly. The old behaviour can be recovered by initializing the reader as
WhoScored(..., headless=True)
.
Fixes
- The WhoScored reader can now deal with an empty match schedule, which can occur before the start of a season or tournament round.