Sportsreference Versions Save

A free sports API written for python

v0.6.0

3 years ago

Note: The project has been renamed from sportsreference to sportsipy. This is a drop-in replacement, so any place that sportsreference is used should now be sportsipy. This change was made to reduce any confusion about this being supported. As a reminder, this is an independent hobby project which is not affiliated with the sports-reference.com website.

Deprecations

  • Changed name from sportsreference to sportsipy (#536)
  • Dropped support for Python 3.5 (#472)
  • Removed attempted_passes from NCAAF (#395)

Enhancements

  • Update the boxscore test files to more recent data (#500)
  • Added coaches to all sports, where applicable (#527)
  • Added functionality for local files to be scraped instead of reading directly from the website (#502)
  • Added NFL game info to the boxscore class (#468)
  • Added string representation to all classes (#478)
  • Added per-100 possessions stats to NBA modules (#476)
  • Added advanced rushing and receiving stats for NFL (#410)
  • Updated all Team classes to allow them to be directly accessible (#363, #390, #405, #406, #407)
  • Added a datetime property to NFL boxscores (#398)

Fixes

  • Encoding player and team names in the exhaustive football tests to prevent errors (#538, #568)
  • Encoding player names in the exhaustive NCAAB tests to prevent errors (#567)
  • Fixed an issue where the incorrect squad IDs were saved for some football teams (#535)
  • Fixed an issue where pages redirecting to a 404 error weren't being handled, causing some pages to appear working when they actually weren't (#534)
  • Fixed an issue pulling NFL boxscores which haven't been played yet (#529)
  • Fixed an issue pulling football league positions (#528)
  • Fixed an issue running the NCAAF tests where data was pulled from the incorrect location (#526)
  • Updated the default values for NBA players to prevent an error trying to pull minutes (#508)
  • Fixed an issue where NFL players were wrongly listed as away for both sides (#507)
  • Fixed an issue where NBA boxscores failed to properly assign quarterly point totals (#506)
  • Fixed an issue where NBA boxscores gave incorrect values to the home team (#505)
  • Fixed an issue where NCAAF boxscores showed the incorrect team names in the results (#504)
  • Updated the boxscore modules to change invalid variable names according to pycodestyle (#484)
  • Fixed an issue where the incorrect home team was listed for NBA boxscores (#482)
  • Fixed an issue pulling the default year for NBA games while in 2020 (#481)
  • Updated the football HTML table IDs to parse properly pull data (#480)
  • Updated Codecov to fix a token issue (#474)
  • Fixed an issue with the football schedule using invalid dates (#409)
  • Fixed an issue where a TypeError could be thrown for some values (#394)
  • Fixed an issue where an NBA player's missing weight would throw an error (#399)
  • Updated Codecov to be tokenless (#396)
  • Fixed an issue pulling football schedules and rosters (#392)

Dependency Updates

  • Updated numpy to 1.19.5
  • Updated mock to 4.0.3
  • Updated lxml to 4.6.2
  • Updated certifi to 2020.12.5
  • Updated coverage to 5.3.1
  • Updated chardet to 4.0.0
  • Updated attrs to 20.3.0
  • Updated py to 1.10.0
  • Updated packaging to 20.8
  • Updated more-itertools to 8.6.0
  • Updated urllib3 to 1.26.2
  • Updated requests to 2.25.1
  • Updated pytz to 2020.5
  • Updated pytest-cov to 2.10.1
  • Updated wcwidth to 0.2.5
  • Updated six to 1.15.0
  • Updated pycodestyle to 2.6.0

v0.5.2

4 years ago

Deprecations

  • Universal wheels have been dropped in favor of Python3-specific wheels (#388)

Fixes

  • Fixed an issue where the football modules were not accessible (#386)

v0.5.1

4 years ago

Enhancements

  • Added advanced kicking stats for NCAAF players (#381)

Fixes

  • Fixed an issue where the football modules would throw HTTP errors on invalid pages (#380)
  • Fixed an issue where NFL schedules showed incorrect years for some playoff games (#378)
  • Fixed an issue where NFL rosters would throw a ParserError if a player's page didn't exist (#377)
  • Fixed an issue where MLB players would be attached to the wrong teams in the Boxscores class (#369)
  • Fixed an issue where attempting to pull NCAAB teams would throw an error for older seasons (#366)
  • Fixed an issue where rushing and receiving stats weren't displayed for some NCAAF players (#364)
  • Fixed an issue where a ParserError would be thrown while attempting to pull NBA rosters (#359)

Dependency Updates

  • Updated urllib3 to 1.25.8
  • Updated certifi to 2020.4.5.1
  • Updated pyparsing to 2.4.7
  • Removed atomicwrites, importlib-metadata, and zipp from dependency list

Known Issues

  • The football modules are not accessible from the binaries on PyPI. To fix, update to version 0.5.2 or later of sportsreference.

v0.5.0

4 years ago

Enhancements

  • Added support for FBRef - now able to pull stats, schedules, and rosters for over 5000 international football (soccer) teams (#356, #335)
  • Added fields for NFL playoff placements and results (#310)
  • Added game summaries for MLB, NCAAB, NBA, NFL, and NCAAF boxscores (#307, #305, #303, #287, #282)
  • Added support for Python 3.8 (#280)
  • Added College Football Playoff (CFP) rankings (#278)

Fixes

  • Fixed an issue in the NCAAB Player class that would cause the code to throw an error if a player didn't have a weight listed on their page (#357)

Dependency Updates

  • Updated wcwidth to 0.1.9
  • Updated numpy to 1.18.2
  • Updated packaging to 20.3
  • Updated more-itertools to 8.2.0
  • Updated six to 1.14.0
  • Updated coverage to 5.0.4
  • Updated certifi to 2019.11.28
  • Updated requests to 2.22.0
  • Updated pytest to 5.4.1
  • Updated pyparsing to 2.4.6
  • Updated pluggy to 0.13.1
  • Updated py to 1.8.1
  • Updated lxml to 4.5.0
  • Updated idna to 2.9
  • Updated importlib-metadata to 1.5.2

Known Issues

  • The football modules are not accessible from the binaries on PyPI. To fix, update to version 0.5.2 or later of sportsreference.

v0.4.7

4 years ago

Enhancements

  • Increased the limit of the number of concurrent GitHub Actions that could be run in parallel (#273)

Fixes

  • Fixed an issue where GitHub Actions were only being triggered on pushes and not Pull Requests, preventing checks from running on contributions from forked repositories (#253)
  • Fixed a 404 error getting thrown while attempting to pull NFL stats (#250)
  • Fixed an issue where the NFL game result was displayed incorrectly in case of a tie or if the game hasn't been played yet (#246)
  • Fixed an issue where the incorrect NBA home team records were being captured (#258)
  • Fixed an encoding error being thrown in the exhaustive tests when a player with an accent in his/her name was printed on the Windows platforms (#260)

Dependency Updates

  • Updated pytest to 5.3.0
  • Updated attrs to 19.3.0
  • Updated pandas to 0.25.3
  • Updated pytz to 2019.3
  • Updated six to 1.13.0
  • Updated urrlib3 to 1.25.7
  • Updated numpy to 1.17.4
  • Updated pyparsing to 2.4.5
  • Updated pytest-cov to 2.8.1
  • Updated python-dateutil to 2.8.1

v0.4.6

4 years ago

Enhancements

  • Switched support from Travis-CI to GitHub Actions for more comprehensive, reliable, and robust tests (#208)

Fixes

  • Fixed an issue where the home and away scores were identical for NBA games (#207)
  • Fixed an issue with the exhaustive tests running duplicate actions (#213)
  • Added support for Peru to the MLB to resolve an error for an unsupported nationality (#212)
  • Fixed HTTP redirect issues in NCAAB module (#216)
  • Fixed an issue iterating over NFL schedules during the current season (#220)
  • Fixed an error that was thrown while attempting to pull empty NBA stats pages for future seasons (#218)
  • Fixed an issue where no players would be listed in NBA boxscores for older games (#223)
  • Resolved an error which was thrown when attempting to pull an NBA team's roster with an empty row (#228)

Dependency Updates

  • Updated pytest to 5.2.0
  • Updated attrs to 19.2.0
  • Updated urllib3 to 1.25.6

v0.4.5

4 years ago

Enhancements

  • Add defensive stats to NCAAF teams (#194)

Fixes

  • Fixed erroneous failure in integration test for NBA Boxscores (#201)
  • Added support for NBA players from Chad, allowing the Rosters module to be used for all teams (#202)

Dependency Updates

  • Updated pytest to 5.1.3
  • Updated urllib3 to 1.25.5
  • Updated packaging to 19.2
  • Updated importlib-metadata to 0.23
  • Updated certify to 2019.9.11
  • Updated pluggy to 0.13.0

v0.4.4

4 years ago

Deprecations

  • Support for Python 2.7 is now dropped - all users are encouraged to upgrade to Python 3.5 or newer moving forward (#132)
  • Added deprecation warning to attempted_passes for the NCAAF in favor of pass_attempts (#170)

Enhancements

  • Added support for coverage.io to verify code coverage of all commits (#155)
  • Updated documentation to reflect the Houston Texan's new abbreviation on pro-football-reference.com (#163)
  • Set default NCAAB game time to midnight in case no time is present (#185)

Fixes

  • Fixed an issue where the MLB tests were not completing properly (#151)
  • Force UTF-8 encoding for opening test HTML files for Windows compatibility (#152)
  • Fixed an issue where NCAAF player positions weren't being loaded properly (#150)
  • Fixed an issue where the weight of NCAAF players was not being loaded properly in older seasons (2000s and earlier) (#153)
  • Fixed an issue where NCAAF games would fail to be pulled when a time isn't associated with the game (#154)
  • Fixed an issue where rushing and receiving information wasn't being loaded for NFL players (#131)
  • Fixed an issue where new NBA players who are the first to represent their country would throw an error (#169)
  • Fixed an issue where the program would throw an error if a requested page was empty (#172)
  • Fixed an issue where passing_yards was not included for NCAAF players (#173)
  • Fixed an issue pulling NCAAB games without an associated time (#181)
  • Fixed an issue pulling NCAAB player pages with no information (#182)
  • Fixed an issue preventing the NCAAF schedule module from continuing if the conference pages on sports-reference.com were empty (#183)
  • Fixed an issue with NCAAF boxscores throwing errors when games haven't been played yet (#187)

Dependency Updates

  • Updated numpy to 1.17.2
  • Updated pytest to 5.1.2
  • Updated zipp to 0.6.0
  • Updated lxml to 4.4.1
  • Updated cssselect to 1.1.0
  • Updated pytz to 2019.2
  • Updated packaging to 19.1
  • Updated pyparsing to 2.4.2
  • Updated more-itertools to 7.2.0
  • Updated coverage to 4.5.4
  • Updated pandas to 0.25.1
  • Updated importlib-metadata to 0.20
  • Updated certify to 2019.6.16

v0.4.3

4 years ago

Enhancements

  • Added a binary playoff indicator for to the NBA Schedule class to indicate whether or not a game takes place in the post-season.

Fixes

  • Fixed an issue where home teams showed as empty in the Boxscores class for post-season NCAAB games.
  • Fixed an issue pulling stats for the Las Vegas Golden Knights in the NHL due to unique handling of the team on by hockey-reference.com.

Dependency Updates

  • Updated mock to 3.0.5
  • Updated pytest to 4.5.0
  • Updated requests to 2.22.0
  • Updated sphinxcontrib-websupport to 1.1.2
  • Updated urllib3 to 1.25.3
  • Updated babel to 2.7.0
  • Updated pluggy to 0.12.0
  • Updated pygments to 2.4.2
  • Updated numpy to 1.16.4
  • Updated pbr to 5.2.1
  • Updated tqdm to 4.32.1
  • Updated pytest-cov to 2.7.1

v0.4.2

5 years ago

Fixes

  • Fixed an error that was thrown when attempting to pull any data just prior to the beginning of a new season.
  • Fixed an issue pulling NBA schedules for that qualified for the playoffs prior to the end of the regular season.
  • Fixed an issue pulling historical NCAAB data prior to the 2009 season for fields that need to be calculated arithmetically (such as defensive_rebounds, opp_defensive_rebounds, and net_rating).

Dependency Updates

  • Updated pytest to 4.4.1
  • Updated numpy to 1.16.3
  • Updated urllib3 to 1.25.2
  • Updated pytz to 2019.1
  • Updated pyparsing to 2.4.0
  • Updated jinja to 2.10.1
  • Updated lxml to 4.3.3
  • Updated flexmock to 0.10.4