Skip to main content

Python API wrapper for the Yahoo Fantasy Sports public API.

Project description

 __     ________ _______     __
 \ \   / /  ____|  __ \ \   / /
  \ \_/ /| |__  | |__) \ \_/ / 
   \   / |  __| |  ___/ \   /  
    | |  | |    | |      | |   
    |_|  |_|    |_|      |_|   

Python API wrapper for the Yahoo Fantasy Sports public API

By Wren J. R. (uberfastman)

latest-release.png

Build Status PyPI PyPI PyPI PyPI


Do you like the YFPY API wrapper? Star the repository here on GitHub and please consider helping support its development:

Donate using PayPal or Credit/Debit card:

paypal

OR donate using cryptocurrency:
Cryptocurrency Donation Link (Trust Wallet) Wallet Address
Bitcoin - BTC donate-bitcoin bc1qataspvklhewtswm357m0677q4raag5new2xt3e
Ethereum - ETH donate-ethereum 0x5eAa522e66a90577D49e9E72f253EC952CDB4059
Nano Currency - NANO donate-nano nano_3ug3o6yy983jsqdsc773izhr3jfz4dq8bz7yfhhzkkeq7s8ern1ws7dng4pq

Yahoo Fantasy Sports API Wrapper (YFPY)

Table of Contents


About

YFPY is a comprehensive wrapper around the Yahoo Fantasy Sports API. It allows for easy retrieval and parsing of almost any data you might wish to extract and use from any Yahoo fantasy league to which your Yahoo account has access (or for public leagues). The primary focus of this wrapper is on fantasy football (NFL), but it also supports usage with fantasy hockey (NHL), fantasy baseball (MLB), and fantasy basketball (NBA).


Usage

  • In your project directory, run

    pip install yfpy
    

    or add yfpy to your project requirements.txt.

  • Follow the instructions in the below Setup section.

  • See test/test.py for fully functional code snippets within the query tests that demonstrate how to use YFPY.

  • PLEASE NOTE: Assuming you followed the setup instructions correctly, the first time you use YFPY, a browser window will open up asking you to allow your app to access your Yahoo fantasy sports data. You MUST hit allow, and then copy the verification code that pops up into the command line prompt where it will now be asking for verification, hit enter, and the OAuth2 three-legged handshake should be complete and your data should have been successfully retrieved.

  • YFPY should have now generated a token.json for you in the same directory where you stored your private.json credentials, and for all subsequent runs of your app, you should be able to keep retrieving Yahoo fantasy sports data using YFPY without re-verifying, since the generated refresh token should now just renew whenever you use the same token.json file to authenticate your app.


Setup

  • Log in to a Yahoo account with access to whatever fantasy leagues from which you wish to retrieve data.
  • Go to https://developer.yahoo.com/apps/create/ and create an app (you must be logged into your Yahoo account as stated above). For the app, select the following options:
    • Application Name (Required): yfpy (you can name your app whatever you want, but this is just an example).
    • Application Type (Required): select the Installed Application radio button.
    • Description (Optional): you may write a short description of what the app does.
    • Home Page URL (Optional): if you have a web address related to your app you may add it here.
    • Redirect URI(s) (Required): this field must contain a valid redirect address, so you can use https://localhost:8080
    • API Permissions (Required): check the Fantasy Sports checkbox. You can leave the Read option selected (appears in an accordion expansion underneath the Fantasy Sports checkbox once you select it).
    • Click the Create App button.
    • Once the app is created, it should redirect you to a page for your app, which will show both a Client ID and a Client Secret.
    • Make a copy of examples/EXAMPLE-private.json, rename it to just private.json, and copy the Client ID and Client Secret values to their respective fields (make sure the strings are wrapped regular quotes (""), NOT formatted quotes (“”)). The path to this file will be needed to point YFPY to your credentials.
    • Now you should be ready to initialize the OAuth2 connection between YFPY your Yahoo account.

Dependencies

YFPY has only been tested on macOS, but is written to be platform agnostic. It runs only in Python 3, and has only been tested with Python 3.7.

Direct project dependencies can be viewed in requirements.txt, and all dependencies, including transitive dependencies, can be viewed in dev-requirements.txt.


Troubleshooting

Occasionally when you use the Yahoo fantasy sports API, there are hangups on the other end that can cause data not to transmit, and you might encounter an error similar to this:

Traceback (most recent call last):
  File "yfpy-app.py", line 114, in <module>
    var = app.run()
  File "/Users/your_username/PATH/T0/LOCAL/PROJECT/yfpy-app.py", line 429, in run
    for team in team_standings:
IndexError: list index out of range

Typically when the above error (or a similar error) occurs, it simply means that one of the Yahoo Fantasy Sports API calls failed and so no data was retrieved. This can be fixed by simply re-running data query.

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

yfpy-3.3.1.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yfpy-3.3.1-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

Details for the file yfpy-3.3.1.tar.gz.

File metadata

  • Download URL: yfpy-3.3.1.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for yfpy-3.3.1.tar.gz
Algorithm Hash digest
SHA256 ec82b183c0ecf20d91d830e9764822bedbc09e011d5765d40eb8ddb67bca37bd
MD5 acb6dd1c0527dbb68e2a9aaa037a95c0
BLAKE2b-256 4f91c5cff61fdc96776065ad3ea2be4946f059a9d42de34a4bf5463acc686f9a

See more details on using hashes here.

File details

Details for the file yfpy-3.3.1-py3-none-any.whl.

File metadata

  • Download URL: yfpy-3.3.1-py3-none-any.whl
  • Upload date:
  • Size: 41.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for yfpy-3.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 45be6bbe6972c6f36cd700694eb035658eaa2fef7c62aedc1e2a96ee34c72047
MD5 eadd77b796381efb1518c2412e5e1110
BLAKE2b-256 67b43adf972f13c904688e44590c2dbc9db18e21cf23218efcf0d7e99662c331

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