First major release. Full coverage of The Odds API v4, an httr2 HTTP stack, and
per-request usage-quota reporting.
toa_sports_events() -- in-play and upcoming events for a sport (/v4/sports/{sport}/events).toa_event_markets() -- available market keys per bookmaker for a single event (/v4/sports/{sport}/events/{eventId}/markets).toa_sports_participants() -- teams or players for a sport (/v4/sports/{sport}/participants).toa_sports_events_history() -- historical events snapshot (/v4/historical/sports/{sport}/events).toa_event_odds_history() -- historical single-event odds (/v4/historical/sports/{sport}/events/{eventId}/odds).toa_quota() -- new exported accessor returning the usage credits
(requests_remaining, requests_used, requests_last) from the most recent call. The
same values are attached as attributes to every returned tibble and echoed when an
oddsapiR_data object is printed.@return documentation is now a 3-column table
(col_name | types | description) and carries a Usage quota cost note.httr to httr2. httr and janitor were removed
from Imports; tibble was promoted to Imports.toa_sports_odds_history() now calls the current
/v4/historical/sports/{sport}/odds endpoint (the legacy
/v4/sports/{sport}/odds-history path is deprecated upstream). Its signature changed:
date is now the required second argument and event_ids is an optional filter. The
return gains leading timestamp, previous_timestamp and next_timestamp columns.tryCatch, so an API error
(500/timeout/connection reset) returns an empty tibble and a cli message instead of
throwing object '...' not found.toa_event_odds() parsing is more robust (builds an explicit tibble rather than
as_tibble(data = ".")) and surfaces outcomes_description for player-prop markets.toa_sports_participants() echoes sport_key, and the
historical wrappers surface the snapshot timestamps.has_toa_key(),
skip on empty/out-of-season responses, and assert columns subset-direction
(expect_in(sort(cols), sort(colnames(x)))) so upstream column additions don't break the
suite.actions/checkout@v5,
r-lib/actions/*@v2, check-r-package, pak-based dependency installs).CLAUDE.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md,
.github/copilot-instructions.md, issue templates, and a pull request template.README installation now leads with pak (with devtools as an alternative).toa_event_odds() function addedtoa_sports_odds_history() function addedNEWS.md file to track changes to the package.toa_sports(): Get the Sports for which the Odds API provides coveragetoa_sports_odds(): Get the odds for the sports which the Odds API provides coveragetoa_sports_scores(): Get the scores for the sports which the Odds API provides coveragetoa_requests(): Get your usage and remaining calls for your key from The Odds API