Table of Contents generated with DocToc
httr with
httr2 as the HTTP backend for all API requests across the
package.httr from package dependencies
(Imports).request_with_proxy() now uses httr2
request/retry pipeline instead of rvest::session() with
httr config arguments, resolving segfaults on systems with
libcurl >= 8.x / curl R package >= 7.0.0..retry_request(),
.resp_text()) backed by httr2.check_status() now uses
httr2::resp_status() instead of
httr::status_code().kp_*) functions now use httr2
cookie jar authentication via login(),
.kp_get_page(), and .kp_request()
helpers.usethis::ui_*() messaging calls in
database builder and loader functions with cli
equivalents.usethis::ui_stop() → cli::cli_abort(),
usethis::ui_oops() → cli::cli_alert_danger(),
usethis::ui_todo() → cli::cli_ul(),
usethis::ui_info() →
cli::cli_alert_info().usethis::ui_value() →
{.val}, usethis::ui_path() →
{.file}, usethis::ui_code() →
{.code}.usethis from Imports to
Suggests (retained for
usethis::edit_r_environ() documentation references).logo=twitter → logo=x;
profile URLs twitter.com → x.com.fa-twitter to
fa-x-twitter.nba_playercareerstats(),
nba_playerdashptshotdefend(), and
nba_playerprofilev2()).nba_playerprofilev2() assertions to validate
core columns while tolerating empty optional result sets.nba_playbyplayv3() function added — dedicated wrapper
for the NBA Stats PlayByPlayV3 endpoint.nba_pbp() and nba_pbps() now default to
version = "v3" (previously "v2"). Pass
version = "v2" to use the previous behavior..v3_to_v2_format() internal helper added — converts V3
play-by-play data to V2-compatible column format with mapped event
types, player resolution, and retained V3 shot coordinate columns
(x_legacy, y_legacy,
shot_distance, shot_result,
is_field_goal, points_total,
shot_value)..build_player_roster() internal helper added —
retrieves player roster from nba_boxscoretraditionalv3()
for name-to-ID resolution during V3-to-V2 conversion..players_on_court_v3() internal helper rewritten — now
uses nba_gamerotation() stint data with interval mapping
for robust on-court player determination (replaces previous
substitution-parsing approach).nba_pbp() p parameter is now optional
(default: NULL) — previously required even when not using
progress tracking.stringr::str_match import from NAMESPACE — V3
clock parsing now uses base R regex functions.nba_boxscoresummaryv3() function added — returns a
named list of 9 data frames: GameSummary, GameInfo, ArenaInfo,
Officials, LineScore, InactivePlayers, LastFiveMeetings, OtherStats,
AvailableVideo.nba_commonteamyears() function added — returns team IDs
with their active year ranges.nba_dunkscoreleaders() function added — returns dunk
tracking data with biomechanics, scores, and style metrics.nba_gravityleaders() function added — returns gravity
scores measuring how much defensive attention each player draws.nba_iststandings() function added — returns In-Season
Tournament (NBA Cup) standings.nba_scheduleleaguev2int() function added — returns
international schedule data with broadcaster information.nba_teamandplayersvsplayers() function added — returns
team and player lineup comparison stats (5 datasets).nba_videoeventsasset() function added — returns video
event asset data for a given game event.espn_nba_team_current_roster() function added — returns
current team roster from ESPN.espn_mbb_team_current_roster() function added — returns
current MBB team roster from ESPN.nbagl_live_pbp() function added — returns live G-League
play-by-play data.nbagl_live_boxscore() function added — returns live
G-League box score data.nba_endpoint() registry updated with all V3
boxscore endpoints and boxscoresummaryv3.qs dependency..Rbuildignore duplicates.CONTRIBUTING.md with naming
conventions and test environment documentation.furrr and future dependencies to
Suggests with version requirements for users who want to use parallel
features, but not required for core functionality.lifecycle dependency and deprecation warnings for
unstable functions/endpoints to guide users to maintained
alternatives.df_list not initialized before
tryCatch in 147 NBA Stats API wrapper functions, preventing
crashes on API errors.nba_data_pbp() plays_df not
initialized before tryCatch.helper-skip.R test guard functions to use proper
string comparison (!= "1") instead of numeric comparison
(== 0).nba_dunkscoreleaders() HTTP 400 error caused by
empty string parameters.nba_iststandings() nested games column
flattening.%||% import for R < 4.4.0 compatibility.data not initialized before tryCatch
in nba_playbyplayv3() and nba_pbp(),
preventing crashes on API errors.nbagl_pbp() to avoid on-court enrichment
dependency failures for G-League game IDs by using the stable core
play-by-play path.tryCatch.nba_boxscorefourfactorsv2() in favor of
nba_boxscorefourfactorsv3() due to unstable/partial V2 API
responses.nba_boxscoremiscv2() in favor of
nba_boxscoremiscv3() due to unstable/partial V2 API
responses.nba_boxscorescoringv2() in favor of
nba_boxscorescoringv3() due to unstable/partial V2 API
responses.nba_boxscoreusagev2() in favor of
nba_boxscoreusagev3() due to unstable/partial V2 API
responses.nba_boxscoreplayertrackv2() in favor of
nba_boxscoreplayertrackv3() due to unstable/partial V2 API
responses.nba_boxscorehustlev2() in favor of
nba_hustlestatsboxscore() due to unstable/partial V2 API
responses.nba_homepageleaders() in favor of
nba_leagueleaders() due to unstable/empty endpoint
responses.nba_homepagev2() in favor of
nba_leagueleaders() due to unstable/empty endpoint
responses.nba_leaderstiles() in favor of
nba_leagueleaders() due to unstable/empty endpoint
responses.nba_teamgamestreakfinder() in favor of
nba_teamgamelogs() due to unstable/empty endpoint
responses.nba_teamhistoricalleaders() in favor of
nba_franchiseleaders() due to unstable/empty endpoint
responses.nba_videodetails() in favor of
nba_videodetailsasset() due to unstable/empty endpoint
responses.nba_winprobabilitypbp() in favor of
nba_playbyplayv3() due to unstable/empty endpoint
responses.nba_playercareerbycollege() in favor of
nba_playercareerbycollegerollup()/nba_leaguedashplayerbiostats()
due to unstable/empty endpoint responses.nba_playernextngames() in favor of
nba_playerprofilev2() due to unstable/empty endpoint
responses.nba_scoreboard() in favor of
nba_scoreboardv3() due to unstable/empty endpoint
responses.nba_scoreboardv2() in favor of
nba_scoreboardv3() due to unstable/partial endpoint
responses.expect_equal(colnames()) assertions to
expect_in() for subset validation, preventing test failures
when APIs add new columns.skip_ncaa_mbb_test() and
skip_ncaa_wbb_test() helpers.nbagl_players() and nbagl_standings()
named-list returns, and current schedule/PBP core columns).load_nba_*() functions now use
sportsdataverse-data releases url instead of
hoopR-data repository URLload_mbb_*() functions now use
sportsdataverse-data releases url instead of
hoopR-data repository URLnba_pbp() and nba_pbps() functions add
parameter on_court (default TRUE) to return
on-court players for each play event, courtesy of @shufinskiynba_live_pbp() function added.nba_live_boxscore() function added.nba_todays_scoreboard() function added.nba_scoreboardv3() function added.nba_boxscoretraditionalv3() function added.nba_boxscoreadvancedv3() function added.nba_boxscoremiscv3() function added.nba_boxscorescoringv3() function added.nba_boxscoreusagev3() function added.nba_boxscorefourfactorsv3() function added.nba_boxscoreplayertrackv3() function added.nba_boxscorematchupsv3() function added.nba_boxscorehustlev2() function added.nba_boxscoredefensivev2() function added.nba_shotchartlineupdetail() function added.nba_synergyplaytypes() function added.nba_franchiseleaderswrank() function added.nba_videodetailsasset() function added.nba_infographicfanduelplayer() function added.nba_teams() function added.ncaa_mbb_teams() function added.httr::use_proxy()
option to nba_*() functionskp_* functionsespn_mbb_game_rosters() function added.espn_nba_game_rosters() function added.espn_mbb_player_stats() function exported
properly.espn_nba_player_stats() function exported
properly.kp_ functions.espn_mbb_player_stats() function added.espn_mbb_team_stats() function added.espn_nba_player_stats() function added.espn_nba_team_stats() function added.nba_pbps() function added, courtesy of @papagorgio23.nbagl_players() function added, courtesy of @billyfryer.nbagl_schedule() function added, courtesy of @billyfryer.nbagl_pbp() function added, courtesy of @billyfryer.nbagl_standings() function added, courtesy of @billyfryer.nba_gamerotation() function added.nba_playerindex() function added.nba_playerheadshot() function added.nba_drafthistory() function added.kp_referee() functionkp_box() functionnba_boxscore(.*) functionsteams_links internal dataset for 2022 (need a
better solve here)nba_teams dataset for working with the NBA Stats
APIhoopR::espn_mbb_betting()
function addedhoopR::espn_nba_betting()
function addedkp_winprob
function, adding runs as third outputAdding roughly 127 functions
| Function | File Location |
|---|---|
| nba_alltimeleadersgrids | R/nba_stats_leaders.R |
| nba_assistleaders | R/nba_stats_leaders.R |
| nba_assisttracker | R/nba_stats_leaders.R |
| nba_boxscoreadvancedv2 | R/nba_stats_boxscore.R |
| nba_boxscoredefensive | R/nba_stats_boxscore.R |
| nba_boxscorefourfactorsv2 | R/nba_stats_boxscore.R |
| nba_boxscorematchups | R/nba_stats_boxscore.R |
| nba_boxscoremiscv2 | R/nba_stats_boxscore.R |
| nba_boxscoreplayertrackv2 | R/nba_stats_boxscore.R |
| nba_boxscorescoringv2 | R/nba_stats_boxscore.R |
| nba_boxscoresimilarityscore | R/nba_stats_boxscore.R |
| nba_boxscoresummaryv2 | R/nba_stats_boxscore.R |
| nba_boxscoretraditionalv2 | R/nba_stats_boxscore.R |
| nba_boxscoreusagev2 | R/nba_stats_boxscore.R |
| nba_commonallplayers | R/nba_stats_roster.R |
| nba_commonplayerinfo | R/nba_stats_roster.R |
| nba_commonplayoffseries | R/nba_stats_roster.R |
| nba_commonteamroster | R/nba_stats_roster.R |
| nba_cumestatsplayer | R/nba_stats_cume.R |
| nba_cumestatsplayergames | R/nba_stats_cume.R |
| nba_cumestatsteam | R/nba_stats_cume.R |
| nba_cumestatsteamgames | R/nba_stats_cume.R |
| nba_defensehub | R/nba_stats_leaders.R |
| nba_draftboard | R/nba_stats_draft.R |
| nba_draftcombinedrillresults | R/nba_stats_draft.R |
| nba_draftcombinenonstationaryshooting | R/nba_stats_draft.R |
| nba_draftcombineplayeranthro | R/nba_stats_draft.R |
| nba_draftcombinespotshooting | R/nba_stats_draft.R |
| nba_draftcombinestats | R/nba_stats_draft.R |
| nba_fantasywidget | R/nba_stats_lineups.R |
| nba_franchisehistory | R/nba_stats_franchise.R |
| nba_franchiseleaders | R/nba_stats_franchise.R |
| nba_franchiseplayers | R/nba_stats_franchise.R |
| nba_glalumboxscoresimilarityscore | R/nba_stats_boxscore.R |
| nba_homepageleaders | R/nba_stats_leaders.R |
| nba_homepagev2 | R/nba_stats_leaders.R |
| nba_hustlestatsboxscore | R/nba_stats_boxscore.R |
| nba_leaderstiles | R/nba_stats_leaders.R |
| nba_leaguedashlineups | R/nba_stats_lineups.R |
| nba_leaguedashoppptshot | R/nba_stats_league_dash.R |
| nba_leaguedashplayerbiostats | R/nba_stats_league_dash.R |
| nba_leaguedashplayerclutch | R/nba_stats_league_dash.R |
| nba_leaguedashplayerptshot | R/nba_stats_league_dash.R |
| nba_leaguedashplayershotlocations | R/nba_stats_league_dash.R |
| nba_leaguedashplayerstats | R/nba_stats_league_dash.R |
| nba_leaguedashptdefend | R/nba_stats_league_dash.R |
| nba_leaguedashptstats | R/nba_stats_league_dash.R |
| nba_leaguedashptteamdefend | R/nba_stats_league_dash.R |
| nba_leaguedashteamclutch | R/nba_stats_league_dash.R |
| nba_leaguedashteamptshot | R/nba_stats_league_dash.R |
| nba_leaguedashteamshotlocations | R/nba_stats_league_dash.R |
| nba_leaguedashteamstats | R/nba_stats_league_dash.R |
| nba_leaguegamefinder | R/nba_stats_league.R |
| nba_leaguegamelog | R/nba_stats_league.R |
| nba_leaguehustlestatsplayer | R/nba_stats_hustle.R |
| nba_leaguehustlestatsplayerleaders | R/nba_stats_hustle.R |
| nba_leaguehustlestatsteam | R/nba_stats_hustle.R |
| nba_leaguehustlestatsteamleaders | R/nba_stats_hustle.R |
| nba_leagueleaders | R/nba_stats_leaders.R |
| nba_leaguelineupviz | R/nba_stats_lineups.R |
| nba_leagueplayerondetails | R/nba_stats_lineups.R |
| nba_leagueseasonmatchups | R/nba_stats_lineups.R |
| nba_leaguestandings | R/nba_stats_league.R |
| nba_leaguestandingsv3 | R/nba_stats_league.R |
| nba_matchupsrollup | R/nba_stats_lineups.R |
| nba_pbp | R/nba_stats_pbp.R |
| nba_playerawards | R/nba_stats_player.R |
| nba_playercareerbycollege | R/nba_stats_player.R |
| nba_playercareerbycollegerollup | R/nba_stats_player.R |
| nba_playercareerstats | R/nba_stats_player.R |
| nba_playercompare | R/nba_stats_player.R |
| nba_playerdashboardbyclutch | R/nba_stats_player_dash.R |
| nba_playerdashboardbygamesplits | R/nba_stats_player_dash.R |
| nba_playerdashboardbygeneralsplits | R/nba_stats_player_dash.R |
| nba_playerdashboardbylastngames | R/nba_stats_player_dash.R |
| nba_playerdashboardbyopponent | R/nba_stats_player_dash.R |
| nba_playerdashboardbyshootingsplits | R/nba_stats_player_dash.R |
| nba_playerdashboardbyteamperformance | R/nba_stats_player_dash.R |
| nba_playerdashboardbyyearoveryear | R/nba_stats_player_dash.R |
| nba_playerdashptpass | R/nba_stats_player_dash.R |
| nba_playerdashptreb | R/nba_stats_player_dash.R |
| nba_playerdashptshotdefend | R/nba_stats_player_dash.R |
| nba_playerdashptshots | R/nba_stats_player_dash.R |
| nba_playerestimatedmetrics | R/nba_stats_player.R |
| nba_playerfantasyprofile | R/nba_stats_player.R |
| nba_playerfantasyprofilebargraph | R/nba_stats_player.R |
| nba_playergamelog | R/nba_stats_player.R |
| nba_playergamelogs | R/nba_stats_player.R |
| nba_playergamestreakfinder | R/nba_stats_player.R |
| nba_playernextngames | R/nba_stats_player.R |
| nba_playerprofilev2 | R/nba_stats_player.R |
| nba_playervsplayer | R/nba_stats_player.R |
| nba_playoffpicture | R/nba_stats_league.R |
| nba_schedule | R/nba_stats_pbp.R |
| nba_scoreboard | R/nba_stats_scoreboard.R |
| nba_scoreboardv2 | R/nba_stats_scoreboard.R |
| nba_shotchartdetail | R/nba_stats_shotchart.R |
| nba_shotchartleaguewide | R/nba_stats_shotchart.R |
| nba_teamdashboardbyclutch | R/nba_stats_team_dash.R |
| nba_teamdashboardbygamesplits | R/nba_stats_team_dash.R |
| nba_teamdashboardbygeneralsplits | R/nba_stats_team_dash.R |
| nba_teamdashboardbylastngames | R/nba_stats_team_dash.R |
| nba_teamdashboardbyopponent | R/nba_stats_team_dash.R |
| nba_teamdashboardbyshootingsplits | R/nba_stats_team_dash.R |
| nba_teamdashboardbyteamperformance | R/nba_stats_team_dash.R |
| nba_teamdashboardbyyearoveryear | R/nba_stats_team_dash.R |
| nba_teamdashlineups | R/nba_stats_team_dash.R |
| nba_teamdashptpass | R/nba_stats_team_dash.R |
| nba_teamdashptreb | R/nba_stats_team_dash.R |
| nba_teamdashptshots | R/nba_stats_team_dash.R |
| nba_teamdetails | R/nba_stats_team.R |
| nba_teamestimatedmetrics | R/nba_stats_team.R |
| nba_teamgamelog | R/nba_stats_team.R |
| nba_teamgamelogs | R/nba_stats_team.R |
| nba_teamgamestreakfinder | R/nba_stats_team.R |
| nba_teamhistoricalleaders | R/nba_stats_team.R |
| nba_teaminfocommon | R/nba_stats_team.R |
| nba_teamplayerdashboard | R/nba_stats_team.R |
| nba_teamplayeronoffdetails | R/nba_stats_team.R |
| nba_teamplayeronoffsummary | R/nba_stats_team.R |
| nba_teamvsplayer | R/nba_stats_team.R |
| nba_teamyearbyyearstats | R/nba_stats_team.R |
| nba_videodetails | R/nba_stats_video.R |
| nba_videoevents | R/nba_stats_video.R |
| nba_videostatus | R/nba_stats_video.R |
| nba_winprobabilitypbp | R/nba_stats_scoreboard.R |
hoopR::load_mbb_schedule()
function addedhoopR::load_nba_schedule()
function addedhoopR::load_mbb_team_box()
function addedhoopR::load_nba_team_box()
function addedhoopR::load_mbb_player_box()
function addedhoopR::load_nba_player_box()
function addedhttr::retry()
to all function calls to more naturally navigate rejected/failed
requests from the API.This update is a non-user facing change to package dependencies to shrink the list of dependencies.
To reflect that the package is no longer just a men’s college basketball and KenPom package, but also an NBA package.
janitor::clean_names()
treatmenthoopR::espn_mbb_teams()
has updated the returns to be more identity information related
onlyhoopR::espn_nba_teams()
to be more identity information related onlyhoopR::load_mbb_pbp()
and hoopR::update_mbb_db()
functions addedhoopR::load_nba_pbp()
and hoopR::update_nba_db()
functions addedhoopR::espn_nba_game_all() - a convenience wrapper
function around the following three functions (returns the results as a
list of three data frames)hoopR::espn_nba_team_box()hoopR::espn_nba_player_box()hoopR::espn_nba_pbp()hoopR::espn_nba_teams()hoopR::espn_nba_scoreboard()R version 3.5.0 or greater dependency addedpurrr version 0.3.0 or greater dependency addedrvest version 1.0.0 or greater dependency addedprogressr version 0.6.0 or greater dependency
addedusethis version 1.6.0 or greater dependency addedxgboost version 1.1.0 or greater dependency addedtidyr version 1.0.0 or greater dependency addedstringr version 1.3.0 or greater dependency addedtibble version 3.0.0 or greater dependency addedfurrr dependency addedfuture dependency addedkp_ as opposed to get_espn_ as opposed to cbb_. Moreover, all
references to cbb_ have been changed to mbb_
as appropriate.ncaa_hoopR::espn_mbb_game_all() - a convenience wrapper
function around the following three functions (returns the results as a
list of three data frames)hoopR::espn_mbb_team_box()hoopR::espn_mbb_player_box()hoopR::espn_mbb_pbp()hoopR::espn_mbb_teams() (bumps to v0.2.1)hoopR::espn_mbb_conferences() (bumps to v0.2.1)hoopR::espn_mbb_scoreboard() (bumps to v0.2.2)hoopR::ncaa_mbb_NET_rankings() (bumps to v0.2.3)hoopR::espn_mbb_rankings() (bumps to v0.2.3)Initial Commits, remaining tasks: