Automate playing Yahoo Fantasy Football
Project description
fantasy-football-bot (ffbot)
Automate playing Yahoo Fantasy Football
Installation
pip install ffbot
Usage
>>> import ffbot
Scrape player forecasts
To connect to your Yahoo league and team, you need your league ID and team ID. Visit your team at https://football.fantasysports.yahoo.com/f1/, and the url will also include your league and team ID.
>>> LEAGUE = 123456
>>> TEAM = 1
>>> POSITIONS = "QB, WR, WR, WR, RB, RB, TE, W/R/T, K, DEF, BN, BN, BN, BN, IR"
>>> week = ffbot.current_week()
>>> df = ffbot.scrape(LEAGUE)
>>> # If playing an Individual Defensive Player (IDP) league, then scrape additional players with:
>>> # df = ffbot.scrape(LEAGUE, is_IDP=True)
Scraping all QB...
Scraping all WR...
Scraping all RB...
Scraping all TE...
Scraping all K...
Scraping all DEF...
Scraping weekly forecasts...
Total runtime: 0:10:33.784455
Optional methods to save data to CSV, and load data:
>>> ffbot.save(df, week)
>>> df, week = ffbot.load() # loads latest file, but you can also provide a filepath
Optimize add and drop players
ffbot.optimize()
is used to find players to add and drop that maximize your team's performance.
The optimizer decides which players to add and drop, and how to assign each player to positions each week.
Optimization is repeated for current roster, for one player add/drop, two player add/drops, etc.
>>> df_opt = ffbot.optimize(df, week, TEAM, POSITIONS)
>>> print(df_opt)
Add Drop Total points Discounted points VOR
0 <current roster> 1583.94 367.51 226.73
1 Kansas City 16.27 2.24 -7.98
2 Matt Bryant Joey Slye 4.6 1.67 -3.63
3 Dede Westbrook Kenyan Drake 4.27 0.65 2.75
4 Jordan Howard - Waivers (Oct 2) Marvin Jones Jr. 10.37 17.23 -3.54
which means that optimal weekly rosters of your current players scores 1583.94 points across the season and 367.51 discounted points (points in week 1 are worth more than week 12). The best free agent to add is Kansas City, which increases discounted points by 2.24 (although lowers total season points by 16.27 and lowers value over replacement by 7.98). Two other free agent pickups improve discounted points. Only one Waiver claim (for Jordon Howard) increases discounted points.
Contribution
Please add Issues or submit Pull Requests!
For local development, install optional testing dependencies and pre-commit hooks using
pip install ffbot[test]
pre-commit install
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ffbot-1.2.9.tar.gz
.
File metadata
- Download URL: ffbot-1.2.9.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 938435c59e3c38e5d74cc154ef9d75856e8bf1917030948bd1f45c8c914c5d72 |
|
MD5 | 047da7d7b389a4f40b2c977843ba5abc |
|
BLAKE2b-256 | e232c39607a341283289d87a3759e2e1f4475683ee71c0034778a155442169d5 |
File details
Details for the file ffbot-1.2.9-py3-none-any.whl
.
File metadata
- Download URL: ffbot-1.2.9-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e98069170a60b3be89453991ae1120b0868a4a7d8d9c745dc10c8cce645f3f1e |
|
MD5 | 0124b07acc4bf66c66f24337a5767b58 |
|
BLAKE2b-256 | 88d3724accb245024ec1427a6e7f93f57f7782dca3bbe72d3761e49d4eb38af0 |