All Projects → SwapnikKatkoori → sleeper-api-wrapper

SwapnikKatkoori / sleeper-api-wrapper

Licence: MIT license
A Python wrapper for the Sleeper Fantasy Football API.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to sleeper-api-wrapper

Discogs
A Ruby wrapper of the Discogs.com API
Stars: ✭ 195 (+375.61%)
Mutual labels:  api-client, api-wrapper
rdfp
This R package connects the DoubleClick for Publishers API from R
Stars: ✭ 16 (-60.98%)
Mutual labels:  api-client, api-wrapper
Binance
A .NET Standard Binance API library.
Stars: ✭ 199 (+385.37%)
Mutual labels:  api-client, api-wrapper
Mega.py
Python library for the https://mega.nz/ API.
Stars: ✭ 145 (+253.66%)
Mutual labels:  api-client, api-wrapper
zoho-crm-php
An API wrapper library for Zoho CRM, written in PHP.
Stars: ✭ 15 (-63.41%)
Mutual labels:  api-client, api-wrapper
Coingecko Api
A Node.js wrapper for the CoinGecko API with no dependencies.
Stars: ✭ 159 (+287.8%)
Mutual labels:  api-client, api-wrapper
fantasy-football-scoreboard
Display the score of your fantasy football team on a Raspberry Pi driven RGB LED matrix for maximum ease of disappointment
Stars: ✭ 43 (+4.88%)
Mutual labels:  fantasy-football, sleeper
Avenue
Wrapper around URLSession and URLSessionTask to enable seamless integration with Operation / OperationQueue.
Stars: ✭ 58 (+41.46%)
Mutual labels:  api-client, api-wrapper
notionapi-agent
Unofficial Node.js API client for Notion.so
Stars: ✭ 89 (+117.07%)
Mutual labels:  api-client, api-wrapper
mailerlite-api-python
Python wrapper for Mailerlite API v2
Stars: ✭ 31 (-24.39%)
Mutual labels:  api-client, api-wrapper
Anyapi
AnyAPI is a library that helps you to write any API wrappers with ease and in pythonic way.
Stars: ✭ 126 (+207.32%)
Mutual labels:  api-client, api-wrapper
ksoftapi.py
Official API Wrapper for KSoft.Si API
Stars: ✭ 31 (-24.39%)
Mutual labels:  api-client, api-wrapper
Instagram api gem
A Ruby wrapper for the Instagram API
Stars: ✭ 100 (+143.9%)
Mutual labels:  api-client, api-wrapper
Virustotal Api
Virus Total Public/Private/Intel API
Stars: ✭ 189 (+360.98%)
Mutual labels:  api-client, api-wrapper
Newsapi
A python wrapper for News API.
Stars: ✭ 71 (+73.17%)
Mutual labels:  api-client, api-wrapper
Notion Api
Unofficial Notion.so API
Stars: ✭ 250 (+509.76%)
Mutual labels:  api-client, api-wrapper
Wikipedir
R's MediaWiki API client library
Stars: ✭ 54 (+31.71%)
Mutual labels:  api-client, api-wrapper
Github
Ruby interface to GitHub API
Stars: ✭ 1,081 (+2536.59%)
Mutual labels:  api-client, api-wrapper
pinboard.net
Fully featured API wrapper for pinboard.in
Stars: ✭ 21 (-48.78%)
Mutual labels:  api-client, api-wrapper
clickupython
A client for working with the ClickUp API V2
Stars: ✭ 30 (-26.83%)
Mutual labels:  api-client, api-wrapper

Build Status GitHub GitHub issues PyPI

This repo is no longer actively maintained. @dtsong has created a new repo that will contain new updates for this project, please check it out: https://github.com/dtsong/sleeper-api-wrapper

sleeper-api-wrapper

A Python API wrapper for Sleeper Fantasy Football, as well as tools to simplify data recieved. It makes all endpoints found in the sleeper api docs: https://docs.sleeper.app/ available and turns the JSON response recieved into python types for easy usage.

Table of Contents

  1. Installation

  2. Usage

  3. Notes

  4. Dependecnies

  5. License

Install

pip install sleeper-api-wrapper

Usage

There are five objects that get data from the Sleeper API specified below. Most of them are intuitive based on the Sleeper Api docs.

League

Initiaize

from sleeper_wrapper import League

league = League(league_id)
  • league_id: (str)The id of your sleeper league

League.get_league()

Gets data for the league that was specified when the League object was initialized. Data returned looks like: https://docs.sleeper.app/#get-a-specific-league

League.get_rosters()

Gets all of the rosters in the league. Data returned looks like: https://docs.sleeper.app/#getting-rosters-in-a-league

League.get_users()

Gets all of the users in the league. Data returned looks like: https://docs.sleeper.app/#getting-users-in-a-league

League.get_matchups(week)

Gets all of the users in the league. Data returned looks like: https://docs.sleeper.app/#getting-matchups-in-a-league

  • week:(int or string) week of the matchups to be returned.

League.get_playoff_winners_bracket()

Gets the playoff winners bracket for the league. Data returned looks like: https://docs.sleeper.app/#getting-the-playoff-bracket

League.get_playoff_losers_bracket()

Gets the playoff losers bracket for the league. Data returned looks like: https://docs.sleeper.app/#getting-the-playoff-bracket

League.get_transactions(week)

Gets all of the transactions data in the league. Data returned looks like: https://docs.sleeper.app/#get-transactions

  • week:(int or str) week of the matchups to be returned.

League.get_traded_picks()

Gets all of the traded picks in the league. Data returned looks like: https://docs.sleeper.app/#get-traded-picks

League.get_all_drafts()

Gets all of the draft data in the league. Data returned looks like: https://docs.sleeper.app/#get-all-drafts-for-a-league

League.get_standings(rosters, users)

Gets the standings in a league. Returns a list of the standings in order of most wins to least wins.

  • rosters: (list)The data returned by the get_rosters() method.
  • users: (list)The data returned by the get_standings() method.

Data returned looks like:

[(username, number_of_wins, number_of_losses, total_points), (username, number_of_wins, number_of_losses, total_points),...]
  • types: username(str), number_of_wins(int), number_of_losses(int), total_points(int)
  • "username" could be None if a user does not have a username.

Example usage:

    	league = League(league_id)
	rosters = league.get_rosters()
	users = league.get_users()
	standings = league.get_standings(rosters,users)

League.get_scoreboards(rosters, matchups, users, score_type, week)

Gets the scoreboards of the league. Returns a dict of league mathups and scores.

  • rosters: (list)The data returned by the get_rosters() method.
  • matchups: (list)The data returned by the get_mathcups() method.
  • users: (list)The data returned by the get_standings() method.
  • score_type: (string) either "pts_std", "pts_half_ppr", or "pts_ppr".
  • week: (int) week

Data returned looks like:

{matchup_id:[(team_name,score), (team_name, score)], matchup_id:[(team_name,score), (team_name, score)], ... }
  • types: matchup_id(int), team_name(str), score(float)

Example usage:

    	league = League(league_id)
	matchups = league.get_matchups(11)
	users = league.get_users()
	rosters = league.get_rosters()
	scoreboards = league.get_scoreboards(rosters, matchups, users)

League.get_close_games(scoreboards, close_num)

Gets all of the close games in a league. Returns a dict.

  • scoreboards: (dict)The data returned by the get_scoreboards() method.
  • close_num: (int)How close the games need to be considered a close game. For example, if the close num is 5, the data returned would only include matchups that are within 5 points of each other.

Data returned looks like:

{matchup_id:[(team_name,score), (team_name, score)], matchup_id:[(team_name,score), (team_name, score)], ... }
  • types: matchup_id(int), team_name(str), score(float)

Example usage:

    	league = League(league_id)
	matchups = league.get_matchups(11)
	users = league.get_users()
	rosters = league.get_rosters()
	scoreboards = league.get_scoreboards(rosters, matchups, users)
	close_games = league.get_close_games(scoreboards, 10)

User

Initiaize

from sleeper_wrapper import User

user = User(user_id)
  • user_id: (str)The id of a user. It can also be a username.

User.get_user()

Gets data for the user that was specified by the user_id or username when the User object was initialized. Data returned looks like: https://docs.sleeper.app/#user

User.get_all_leagues(sport, season)

Gets the data of all of the leagues that a user belongs to. Data returned looks like: https://docs.sleeper.app/#get-all-leagues-for-user

  • sport: (str)The sport of the leagues. Currently, it can ony be "nfl".
  • season: (int or str)The season of the leagues. ex. 2018,2019, etc.

User.get_all_drafts(sport, season)

Gets the data of all of the drafts of a user in the specified season. Data returned looks like: https://docs.sleeper.app/#get-all-drafts-for-user

  • sport: (str)The sport of the leagues. Currently, it can ony be "nfl".
  • season: (int or str)The season of the leagues. ex. 2018,2019, etc.

User.get_username()

Returns the username of the User. This can be useful if the User was initialized with a user_id.

User.get_user_id()

Returns the user_id of the User. This can be useful if the User was initialized with a username.

Stats

Initiaize

from sleeper_wrapper import Stats

stats = Stats()

Stats.get_all_stats(season_type, season)

Gets all of the stats in a season. Data returned looks like: https://docs.sleeper.app/#stats-and-projections

  • season_type: (str) The type of the season. Supports "regular", "pre", "post".
  • season: (int or str) The season of the leagues. ex. 2018,2019, etc.

Stats.get_week_stats(season_type, season, week)

Gets all of the stats for a specific week in a season. Data returned looks like: https://docs.sleeper.app/#stats-and-projections

  • season_type: (str) The type of the season. Supports "regular", "pre", "post".
  • season: (int or str) The season of the leagues. ex. 2018,2019, etc.
  • week: (int or str) The week of the stats to get.

Stats.get_all_projections(season_type, season)

Gets all of the projections in a season. Data returned looks like: https://docs.sleeper.app/#stats-and-projections

  • season_type: (str) The type of the season. Supports "regular", "pre", "post".
  • season: (int or str) The season of the leagues. ex. 2018,2019, etc.

Stats.get_week_projections(season_type, season, week)

Gets all of the projections for a specific week in a season. Data returned looks like: https://docs.sleeper.app/#stats-and-projections

  • season_type: (str) The type of the season. Supports "regular", "pre", "post".
  • season: (int or str) The season of the leagues. ex. 2018,2019, etc.
  • week: (int or str) The week of the stats to get.

Stats.get_player_week_score(week_stats, player_id)

Gets the player score of a specified week.

  • week_stats: (dict) The result of the method get_week_stats().
  • player_id: (str) The player_id of the player to get the stats of. ex. 2018,2019, etc.

Data returned looks like:

{'pts_ppr':score_float, 'pts_std': score_float, 'pts_half_ppr': score_float}
  • types: score_float(float)
  • If the score is not available for a format, the value will be None.

Example usage:

    	stats = Stats()
	week_stats = stats.get_week_stats("regular",2018, 5)
	score = stats.get_player_week_score(week_stats, "DET")

Players

Initiaize

from sleeper_wrapper import Players

players = Players()

Players.get_all_players()

Gets all of the players in fantasy football. Data returned looks like: https://docs.sleeper.app/#fetch-all-players

Players.get_trending_players(sport, add_drop, hours, limit)

Gets all of the players in fantasy football. Data returned looks like: https://docs.sleeper.app/#trending-players

  • sport: (str) The sport to get. Supports only "nfl" right now.
  • add_drop: (str) Either "add" or "drop".
  • hours: (int or str) Number of hours to look back. Default is 24 hours.
  • limit: (int or str) Number of results you want. Default is 25.

Notes

This package is intended to be used by Python version 3.5 and higher. There might be some wacky results for previous versions.

Dependancies

requests

  • Used for all http requests in sleeper_wrapper

pytest

  • Used for all testing in sleeper_wrapper

License

This project is licensed under the terms of the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].