Metadata-Version: 1.2
Name: yahoo-fantasy-bot
Version: 1.2.0
Summary: A bot that can act as a manager in a Yahoo! fantasy league
Home-page: http://github.com/spilchen/yahoo_fantasy_bot
Author: Matt Spilchen
Author-email: matt.spilchen@gmail.com
License: MIT
Description: ==================
        Yahoo! Fantasy Bot
        ==================
        
        A bot that can act as a manager in a Yahoo! fantasy league
        
        Are you in a Yahoo! fantasy league with inactive managers?  Do you face teams that start players on the IR, and have been for weeks?  Or do you need a few more teams in your league?  This program helps eleviate that pain by intelligently managing a Yahoo! fantasy team.  It can optimize the lineup, taken into consideration available players in the free agent pool.  Adjust the IR and bench spots to account for star players that are a little banged up.  Approve or reject trades that are made to the team.  It does all of this by talking directly to Yahoo! without having to enter the transactions manually.  You just run the program whenever you need to set up the lineup, which takes only a few minutes to run.
        
        Build status
        ------------
        
        .. image:: https://travis-ci.com/spilchen/yahoo_fantasy_bot.svg?branch=master
            :target: https://travis-ci.com/spilchen/yahoo_fantasy_bot
        
        Restrictions
        ------------
        This program will only optimize lineups for teams in a Yahoo! Head-to-Head league.  It only works for teams in mlb or nhl leagues.
        
        Installation
        ------------
        
        You first neet to setup the environment by installing the app.  You can pull the latest from github
        
        ::
        
          git clone https://github.com/spilchen/yahoo_fantasy_bot.git
          cd yahoo_fantasy_bot
          virtualenv --python=python3.7 env
          source env/bin/activate
          pip install -r requirements.txt
          pip install -e .
        
        Or you can simply install the package from pip.
        
        ::
        
          pip install yahoo-fantasy-bot
        
        
        Once the app is installed you need to setup the config file.  The config file is what you pass to the bot.  It includes details about what Yahoo! league you are going to run the bot against, the location of the file that holds the OAuth credentials, what league type it is.  There is a setup wizard that you can run that will get you a working config file for your league.
        
        Before you can run the setup wizard you will first need to request an API key from Yahoo! from: https://developer.yahoo.com/apps/create.   The process is quick.  You will want to request read and write access, since we need write access to make changes to your roster.  Upon completion you will be given a consumer key and a consumer secret that you use with the setup wizard.
        
        With key and secret, run the wizard like this:
        
        ::
        
          ybot_setup -k <consumer key> -s <consumer secret> oauth2.json my.cfg
        
        `oauth2.json` is used to store the credentials to access the team.  Using the key and secret, it will pop up a webpage that will confirm you want to grant access to the application.  It will give you a code, which you then paste back into the window running the setup wizard.  The bearer token that it generates is then saved in `oauth2.json` for all subsequent access.
        
        Follow the rest of the prompts in the setup wizard.  Upon completion it will write out a config file -- `my.cfg` in the example above.
        
        Execution
        ---------
        
        Once installed and the config file created, you can run the program via this command:
        
        ::
        
          ybot <cfg_file>
        
        The script will choose a lineup based on available spots in the lineup.  You can have it do a dry run with the --dry-run option so that it doesn't make any roster moves with Yahoo.  These is also a prompt option that will confirm with you each time it is about to make a roster move with Yahoo.  To get a full help text use the `--help` option.
        
        Example
        -------
        
        Here is a sample run through.  In this run it will optimize the lineup, print out the lineup then list the roster changes.  It will manage two players on the IR and replace one player in the lineup from the free agent pool.
        
        ::
        
          $> ybot hockey.cfg
          Evaluating trades
          Adjusting lineup for player status
          Optimizing open lineup spots using available free agents
          100%|################################################################################################################|
          Optimizing lineup using players available from bench
          100%|################################################################################################################|
          Optimized lineup
          B   :                        WK_G G/A/PPP/SOG/PIM
          C   : Aleksander Barkov         3 38.0/63.0/32.0/241.0/10.0
          C   : Brayden Point             3 38.0/55.0/38.0/223.0/26.0
          LW  : Andrei Svechnikov         3 30.0/25.0/12.0/261.0/72.0
          LW  : Evander Kane              4 31.0/26.0/12.0/279.0/132.0
          RW  : David Pastrnak            3 44.0/53.0/39.0/281.0/40.0
          RW  : Alexander Radulov         3 28.0/45.0/24.0/212.0/64.0
          D   : Tyson Barrie              3 13.0/44.0/24.0/191.0/30.0
          D   : Thomas Chabot             3 15.0/43.0/15.0/197.0/36.0
          D   : P.K. Subban               4 12.0/40.0/16.0/174.0/70.0
          D   : Aaron Ekblad              3 14.0/25.0/11.0/186.0/55.0
          
          G   :                        WK_G W/SV%
          G   : Ben Bishop                3 31.0/0.922
          G   : Connor Hellebuyck         3 36.0/0.916
          
          Bench
          Jeff Skinner
          Patrice Bergeron
          
          Injury Reserve
          Sidney Crosby
          Mitchell Marner
          
          Computing roster moves to apply
          Move Sidney Crosby to IR
          Move Mitchell Marner to IR
          Add Brayden Point and drop Anthony Mantha
          Move David Pastrnak to RW
          Move Aleksander Barkov to C
          Move Ben Bishop to G
          Move Connor Hellebuyck to G
          Move Brayden Point to C
          Move Andrei Svechnikov to LW
          Move Evander Kane to LW
          Move Alexander Radulov to RW
          Move Tyson Barrie to D
          Move Thomas Chabot to D
          Move P.K. Subban to D
          Move Aaron Ekblad to D
          Move Jeff Skinner to BN
          Move Patrice Bergeron to BN
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Requires-Python: >=3
