Skip to main content

Python bindings to access the Yahoo! Fantasy APIs

Project description

Python bindings to the Yahoo! Fantasy API

Build status

https://travis-ci.com/spilchen/yahoo_fantasy_api.svg?branch=master Documentation Status

Installation

This package can be installed via pip:

pip install yahoo_fantasy_api

or from the repo:

git clone https://github.com/spilchen/yahoo_fantasy_api
cd yahoo_fantasy_api
python setup.py install

Documentation

The documentation are hosted at readthedocs.io: https://yahoo-fantasy-api.readthedocs.io/en/latest/

Sample API Usage

In [1]: from yahoo_oauth import OAuth2

In [2]: import yahoo_fantasy_api as yfa

In [3]: sc = OAuth2(None, None, from_file='examples/oauth2.json')
[2019-04-04 20:55:46,745 DEBUG] [yahoo_oauth.yahoo_oauth.__init__] Checking
[2019-04-04 20:55:46,746 DEBUG] [yahoo_oauth.yahoo_oauth.token_is_valid] ELAPSED TIME : 416.15308594703674
[2019-04-04 20:55:46,746 DEBUG] [yahoo_oauth.yahoo_oauth.token_is_valid] TOKEN IS STILL VALID

In [4]: gm = yfa.Game(sc, 'mlb')

In [5]: gm.league_ids(year=2019)
Out[5]: ['388.l.27081']

In [6]: lg = gm.to_league('388.l.27081')

In [7]: lg.stat_categories()
Out[7]:
[{'display_name': 'R', 'position_type': 'B'},
 {'display_name': 'HR', 'position_type': 'B'},
 {'display_name': 'RBI', 'position_type': 'B'},
 {'display_name': 'SB', 'position_type': 'B'},
 {'display_name': 'AVG', 'position_type': 'B'},
 {'display_name': 'OBP', 'position_type': 'B'},
 {'display_name': 'W', 'position_type': 'P'},
 {'display_name': 'K', 'position_type': 'P'},
 {'display_name': 'HLD', 'position_type': 'P'},
 {'display_name': 'ERA', 'position_type': 'P'},
 {'display_name': 'WHIP', 'position_type': 'P'},
 {'display_name': 'NSV', 'position_type': 'P'}]

In [8]: lg.team_key()
Out[8]: '388.l.27081.t.5'

In [9]: lg.current_week()
Out[9]: 12

In [10]: lg.end_week()
Out[10]: 24

In [11]: lg.week_date_range(12)
Out[11]: (datetime.date(2019, 6, 17), datetime.date(2019, 6, 23))

In [12]: tm = lg.to_team('388.l.27081.t.5')

In [13]: tm.roster(1)
Out[13]:
[{'player_id': 8578,
  'name': 'Buster Posey',
  'position_type': 'B',
  'eligible_positions': ['C', '1B', 'Util'],
  'selected_position': 'C'},
 {'player_id': 8967,
  'name': 'Paul Goldschmidt',
  'position_type': 'B',
  'eligible_positions': ['1B', 'Util'],
  'selected_position': '1B'},
 {'player_id': 9961,
  'name': 'Travis Shaw',
  'position_type': 'B',
  'eligible_positions': ['1B', '2B', '3B', 'Util'],
  'selected_position': '2B'},
 {'player_id': 9105,
  'name': 'Nolan Arenado',
  'position_type': 'B',
  'eligible_positions': ['3B', 'Util'],
  'selected_position': '3B'},
 {'player_id': 9468,
  'name': 'Jonathan Villar',
  'position_type': 'B',
  'eligible_positions': ['2B', 'SS', 'Util'],
  'selected_position': 'SS'},
 ...
 {'player_id': 7847,
  'name': 'Andrew Miller',
  'position_type': 'P',
  'eligible_positions': ['RP'],
  'selected_position': 'RP'}]

In [14]: fa_CF = lg.free_agents('CF')

In [15]: len(fa_CF)
Out[15]: 60

In [11]: fa_CF[0]
Out[11]:
{'player_id': 8370,
 'name': 'Dexter Fowler',
 'position_type': 'B',
 'eligible_positions': ['CF', 'RF', 'Util']}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for yahoo-fantasy-api, version 1.8.1
Filename, size File type Python version Upload date Hashes
Filename, size yahoo_fantasy_api-1.8.1.tar.gz (16.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page