Skip to main content

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:

    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;
    from Enum.SportsEnum import SportsEnum;
    Client = OddsJamClient(YOUR_API_KEY);
    GamesResponse = Client.GetGames(league='ncaa', sport=SportsEnum.football);

And can be accessed by as parsed 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

oddsjam-api-0.2.5.tar.gz (10.8 kB view hashes)

Uploaded Source

Built Distribution

oddsjam_api-0.2.5-py3-none-any.whl (17.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page