Skip to main content

Python bindings to access the Yahoo! Fantasy APIs

Project description

Python bindings to the Yahoo! Fantasy API

Build status

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.

Source Distribution

yahoo_fantasy_api-2.12.2.tar.gz (27.2 kB view details)

Uploaded Source

File details

Details for the file yahoo_fantasy_api-2.12.2.tar.gz.

File metadata

  • Download URL: yahoo_fantasy_api-2.12.2.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.12

File hashes

Hashes for yahoo_fantasy_api-2.12.2.tar.gz
Algorithm Hash digest
SHA256 68b2662213be240a94c00bdde7b4b16641da36337cc7033aafaac0fed47bd831
MD5 72ae4147550f5d454c742ad131cb14df
BLAKE2b-256 2a77afc15549babb71cea562bb20e292889f617e39bc78c73aa70d158db551f7

See more details on using hashes here.

Supported by

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