A lightweight wrapper for the OddsJam API
Project description
oddsjam-api
: A lightweight OddsJam API wrapper
What is oddsjam-api
?
oddsjam-api
is a fast, lightweight wrapper for the OddsJam API. It strives to be as intuitive to use as possible, providing strongly typed requests and responses to ensure predictability and consistency.
How do I use it?
Start by installing the oddsjam-api
package (currently only on TestPyPI):
pip install oddsjam-api
Create an instance of the OddsJamClient
:
from OddsJamClient import OddsJamClient;
Client = OddsJamClient(YOUR_API_KEY);
Then simply call whichever function you'd like to:
from OddsJamClient import OddsJamClient;
Client = OddsJamClient(YOUR_API_KEY);
GamesResponse = Client.GetGames();
Parameters are not required for any function call, but can be provided as desired:
from OddsJamClient import OddsJamClient;
Client = OddsJamClient(YOUR_API_KEY);
GamesResponse = Client.GetGames(league='ncaa', sport='football');
Parameters will raise specific errors:
GamesResponse = Client.GetGames(sport='curling');
#Raises SportError, with a list of valid values
OddsResponse = Client.GetOdds(sportsbook='212 Bet');
#Raises SportsBookError, with a list of valid values
Note: Sport and SportsBook parameters are case insensitive
Accessing the object of a response requires accessing the response's object:
from OddsJamClient import OddsJamClient;
Client = OddsJamClient(YOUR_API_KEY);
GamesResponse = Client.GetGames();
Games = GamesResponse.Games;
List comprehension can also be used to access objects:
AwayTeams = [g.away_team for g in GamesResponse.Games];
Nested objects can be accessed similarly:
OddsResponse = Client.GetOdds();
print(OddsResponse.Odds[0].game.sport)
The raw response from the API is also accessible via the RawResponse property of any Response object:
Raw = GamesResponse.RawResponse;
Jobj = json.loads(raw);
Built-in functions
Convert entire Odds collection to decimal, then back to American:
OddsResponse = Client.GetOdds();
OddsResponse.AsDecimal();
OddsResponse.AsAmerican();
Convert individual Odds object to decimal, then back to American:
OddsResponse = Client.GetOdds();
FirstOdd = OddsResponse.Odds[0];
FirstOdd.AsDecimal();
FirstOdd.AsAmerican();
Example usage
Flatten and output data using pandas:
import pandas as pd;
from OddsJamClient import OddsJamClient;
Client = OddsJamClient(YOUR_API_KEY);
Odds = Client.GetOdds().Odds;
df = pd.DataFrame(Odds);
#Lambda over rows to extract just the ID from the 'game' object in each row
df['game'] = df.apply(lambda row: row['game']['id'], axis=1)
#Get odds for Moneyline markets only
df = df.loc[df['market_name'] == 'Moneyline']
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for oddsjam_api-0.2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4993e022d19cfa9be1a2063eacfc09f9018d5777c9462f6b779df76a4e882dd3 |
|
MD5 | 5d1df83a9a93a74f997098a7afb5a3d9 |
|
BLAKE2b-256 | 44556e21412882d3f30e7b6a8ef180af9ff2a63736db53b461a008de2ec5b120 |