{ "info": { "author": "Matt Spilchen", "author_email": "matt.spilchen@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries" ], "description": "================\nbaseball_scraper\n================\n\n`baseball_scraper` is a Python package for baseball data analysis. This package scrapes baseball-reference.com and baseballsavant.com so you don't have to. So far, the package performs four main tasks: retrieving statcast data, pitching stats, batting stats, and division standings/team records. Data is available at the individual pitch level, as well as aggregated at the season level and over custom time periods. \n\nStatus\n------\n\n.. image:: https://travis-ci.com/spilchen/baseball_scraper.svg?branch=master\n :target: https://travis-ci.com/spilchen/baseball_scraper\n\nStatcast\n--------\n\n*data include pitch-level features such as Perceived Velocity (PV), Spin Rate (SR), Exit Velocity (EV), pitch X, Y, and Z coordinates, and more. The function `statcast(start_dt, end_dt)` pulls this data from baseballsavant.com.*\n\nPull advanced metrics from Major League Baseball's Statcast system. Statcast data include pitch-level features such as Perceived Velocity (PV), Spin Rate (SR), Exit Velocity (EV), pitch X, Y, and Z coordinates, and more. The function `statcast(start_dt, end_dt)` pulls this data from baseballsavant.com. \n\n::\n\n >>> from baseball_scraper import statcast\n >>> data = statcast(start_dt='2017-06-24', end_dt='2017-06-27')\n >>> data.head(2)\n \n index pitch_type game_date release_speed release_pos_x release_pos_z \n 0 314 CU 2017-06-27 79.7 -1.3441 5.4075\n 1 332 FF 2017-06-27 98.1 -1.3547 5.4196\n \n player_name batter pitcher events ... release_pos_y \n 0 Matt Bush 608070.0 456713.0 field_out ... 54.8585\n 1 Matt Bush 429665.0 456713.0 field_out ... 54.3470\n \n estimated_ba_using_speedangle estimated_woba_using_speedangle woba_value \n 0 0.100 0.137 0.0\n 1 0.269 0.258 0.0\n \n woba_denom babip_value iso_value launch_speed_angle at_bat_number pitch_number \n 0 1.0 0.0 0.0 3.0 64.0 1.0\n 1 1.0 0.0 0.0 3.0 63.0 3.0 \n [2 rows x 79 columns]\n\n\nIf `start_dt` and `end_dt` are supplied, it will return all statcast data between those two dates. If not, it will return yesterday's data. The argument `team` may also be supplied with a team's city abbreviation (i.e. BOS) to obtain only observations for games containing that team. The optional argument `verbose` will control whether the library updates you on its progress while it pulls the data.\n\nFor a player-specific statcast query, pull pitching or batting data using the `statcast_pitcher` and `statcast_batter` functions. These take the same `start_dt` and `end_dt` arguments as the statcast function, as well as a `player_id` argument. This ID comes from MLB Advanced Media, and can be obtained using the function `playerid_lookup`. A complete example: \n\n::\n\n >>> # Find Clayton Kershaw's player id\n >>> from baseball_scraper import playerid_lookup\n >>> from baseball_scraper import statcast_pitcher\n >>> playerid_lookup('kershaw', 'clayton')\n Gathering player lookup table. This may take a moment.\n \n name_last name_first key_mlbam key_retro key_bbref key_fangraphs \n 0 kershaw clayton 477132 kersc001 kershcl01 2036\n \n mlb_played_first mlb_played_last\n 0 2008.0 2017.0\n \n >>> # His MLBAM ID is 477132, so we feed that as the player_id argument to the following function \n >>> kershaw_stats = statcast_pitcher('2017-06-01', '2017-07-01', 477132)\n >>> kershaw_stats.head(2)\n pitch_type game_date release_speed release_pos_x release_pos_z \n 0 SL 2017-06-29 87.2 1.0865 6.4034\n 1 SL 2017-06-29 86.9 1.0195 6.4324\n \n player_name batter pitcher events description \n 0 Clayton Kershaw 458913 477132 strikeout swinging_strike_blocked\n 1 Clayton Kershaw 458913 477132 null ball\n \n ... release_pos_y estimated_ba_using_speedangle \n 0 ... 54.5463 0.0\n 1 ... 54.7625 0.0\n \n estimated_woba_using_speedangle woba_value woba_denom babip_value \n 0 0.0 0.00 1 0\n 1 0.0 null null null\n \n iso_value launch_speed_angle at_bat_number pitch_number\n 0 0 null 57 6\n 1 null null 57 5\n \n [2 rows x 78 columns]\n\n\nPitching Stats\n--------------\n\n*pitching stats for players across multiple seasons, single seasons, or during a specified time period*\n\nThis library contains two main functions for obtaining pitching data. For league-wide season-level pitching data, use the function `pitching_stats(start_season, end_season)`. This will return one row per player per season, and provide all metrics made available by FanGraphs. \n\nThe second is `pitching_stats_range(start_dt, end_dt)`. This allows you to obtain pitching data over a specific time interval, allowing you to get more granular than the FanGraphs function (for example, to see which pitcher had the strongest month of May). This query pulls data from Baseball Reference. Note that all dates should be in `YYYY-MM-DD` format.\n\nIf you prefer Baseball Reference to FanGraphs, there is actually a third option called `pitching_stats_bref(season)`. This works the same as `pitching_stats`, but retrieves its data from Baseball Reference instead. This is typically not recommended, however, because the Baseball Reference query currently can only retrieve one season's worth of data per request.\n\n::\n\n >>> from baseball_scraper import pitching_stats\n >>> data = pitching_stats(2012, 2016)\n >>> data.head()\n Season Name Team Age W L ERA WAR G GS \n 336 2015.0 Clayton Kershaw Dodgers 27.0 16.0 7.0 2.13 8.6 33.0 33.0\n 236 2014.0 Clayton Kershaw Dodgers 26.0 21.0 3.0 1.77 7.6 27.0 27.0\n 472 2014.0 Corey Kluber Indians 28.0 18.0 9.0 2.44 7.4 34.0 34.0\n 235 2015.0 Jake Arrieta Cubs 29.0 22.0 6.0 1.77 7.3 33.0 33.0\n 256 2013.0 Clayton Kershaw Dodgers 25.0 16.0 9.0 1.83 7.1 33.0 33.0\n \n ... wSL/C (pi) wXX/C (pi) O-Swing% (pi) Z-Swing% (pi) \n 336 ... 1.76 22.85 0.364 0.665\n 236 ... 2.62 NaN 0.371 0.670\n 472 ... 3.92 NaN 0.336 0.598\n 235 ... 2.42 NaN 0.329 0.618\n 256 ... 0.74 NaN 0.339 0.635\n \n Swing% (pi) O-Contact% (pi) Z-Contact% (pi) Contact% (pi) Zone% (pi) \n 336 0.511 0.478 0.811 0.689 0.487\n 236 0.525 0.536 0.831 0.730 0.515\n 472 0.468 0.485 0.886 0.744 0.505\n 235 0.468 0.595 0.856 0.762 0.483\n 256 0.484 0.563 0.873 0.763 0.492\n \n Pace (pi)\n 336 23.4\n 236 23.7\n 472 24.6\n 235 23.3\n 256 23.4\n \n [5 rows x 299 columns]\n\n\n\nBatting Stats\n-------------\n\n*hitting stats for players within seasons or during a specified time period*\n\nBatting stats are obtained similar to pitching stats. The function call for getting a season-level stats is `batting_stats(start_season, end_season)`, and for a particular time range it is `batting_stats_range(start_dt, end_dt)`. The Baseball Reference equivalent for season-level data is `batting_stats_bref(season)`. \n\n::\n\n >>> from baseball_scraper import batting_stats_range\n >>> data = batting_stats_range('2017-05-01', '2017-05-08')\n >>> data.head()\n Name Age #days Lev Tm G PA AB R H ... HBP \n 1 Jose Abreu 30 69 MLB-AL Chicago 7 31 30 5 9 ... 0\n 2 Lane Adams 27 69 MLB-NL Atlanta 6 6 6 0 2 ... 0\n 3 Matt Adams 28 68 MLB-NL St. Louis 6 9 9 2 4 ... 0\n 4 Jim Adduci 32 69 MLB-AL Detroit 6 24 21 3 5 ... 0\n 5 Tim Adleman 29 72 MLB-NL Cincinnati 1 2 2 0 0 ... 0\n \n SH SF GDP SB CS BA OBP SLG OPS mlb_ID\n 1 0 0 1 0 0 0.300 0.323 0.667 0.989 547989\n 2 0 0 1 1 0 0.333 0.333 0.333 0.667 572669\n 3 0 0 0 0 0 0.444 0.444 0.778 1.222 571431\n 4 0 0 0 0 0 0.238 0.333 0.381 0.714 451192\n 5 0 0 0 0 0 0.000 0.000 0.000 0.000 534947\n \n [5 rows x 28 columns]\n\n\nFangraphs\n---------\n\nVarious baseball projections are available at fangraphs.com. You can scrape that site using the fangraphs API. You supply it the fangraph player ID to lookup and the projection system. It will return a DataFrame with the projections.\n\nNote, due to the use of JavaScript on that site, we use Chrome through selenium to scrape the data. Chrome must be installed on your system in order to use these APIs.\n\n::\n\n >>> from baseball_scraper import fangraphs\n >>> from baseball_id import Lookup\n >>> player_id = Lookup.from_names(['Khris Davis']).iloc[0].fg_id\n >>> fangraphs.Scraper.instances()\n ['Steamer (RoS)', 'Steamer (Update)', 'ZiPS (Update)', 'Steamer600 (Update)', 'Depth Charts (RoS)', 'THE BAT (RoS)']\n >>> fg = fangraphs.Scraper(\"Steamer (RoS)\")\n >>> df = fg.scrape(player_id, scrape_as=fangraphs.ScrapeType.HITTER)\n >>> df.columns\n Index(['index', 'Name', 'Team', 'G', 'PA', 'AB', 'H', '2B', '3B', 'HR', 'R',\n 'RBI', 'BB', 'SO', 'HBP', 'SB', 'CS', '-1', 'AVG', 'OBP', 'SLG', 'OPS',\n 'wOBA', '-1.1', 'wRC+', 'BsR', 'Fld', '-1.2', 'Off', 'Def', 'WAR',\n 'playerid'],\n dtype='object')\n >>> df\n index Name Team G PA AB H ... BsR Fld -1.2 Off Def WAR playerid\n 60 Khris Davis Athletics 56 242 214 53 ... -0.7 -0.1 NaN 4.8 -5.9 0.7 9112\n\n [1 rows x 32 columns]\n >>> player_id = Lookup.from_names(['Max Scherzer']).iloc[0].fg_id\n >>> df = fg.scrape(player_id, scrape_as=fangraphs.ScrapeType.PITCHER)\n >>> df.columns\n Index(['index', 'Name', 'Team', 'W', 'L', 'ERA', 'GS', 'G', 'SV', 'IP', 'H',\n 'ER', 'HR', 'SO', 'BB', 'WHIP', 'K/9', 'BB/9', 'FIP', 'WAR', 'RA9-WAR',\n 'playerid'],\n dtype='object')\n >>> df\n index Name Team W L ERA ... K/9 BB/9 FIP WAR RA9-WAR playerid\n 0 5 Max Scherzer Nationals 6 3 3.04 ... 12.36 2.13 2.93 2.2 2.4 3137\n\n [1 rows x 22 columns]\n\n\nGame-by-Game Results and Schedule \n---------------------------------\n\nThe `baseball_reference` team scraper returns a team's game-by-game results for a given season or date range. The resulting DataFrame includes game date, home and away teams, end result (W/L/Tie), score, winning/losing/saving pitchers, attendance, and division standing at that date.\n\nYou define the `team` when the scraper is created. Then can reuse the scraper to scrape specific seasons or date ranges. The team name provided is the abbreviation (i.e. NYY for New York Yankees, SEA for Seattle Mariners).\n\nIf the season argument is set to the current season, the query returns results for past games and the schedule for those that have not occurred yet. \n\n::\n\n >>> # Example: Let's take a look at the individual-game results of the 1927 Yankees\n >>> from baseball_scraper import baseball_reference\n >>> s = baseball_reference.TeamScraper()\n >>> s.set_season(1927)\n >>> data = s.scrape('NYY')\n >>> data.head()\n Date Tm Home_Away Opp W/L R RA Inn W-L Rank \\\n 1 Tuesday, Apr 12 NYY Home PHA W 8.0 3.0 9.0 1-0 1.0\n 2 Wednesday, Apr 13 NYY Home PHA W 10.0 4.0 9.0 2-0 1.0\n 3 Thursday, Apr 14 NYY Home PHA T 9.0 9.0 10.0 2-0 1.0\n 4 Friday, Apr 15 NYY Home PHA W 6.0 3.0 9.0 3-0 1.0\n 5 Saturday, Apr 16 NYY Home BOS W 5.0 2.0 9.0 4-0 1.0\n \n GB Win Loss Save Time D/N Attendance Streak\n 1 Tied Hoyt Grove None 2:05 D 72000.0 1\n 2 up 0.5 Ruether Gray None 2:15 D 8000.0 2\n 3 Tied None None None 2:50 D 9000.0 2\n 4 Tied Pennock Ehmke None 2:27 D 16000.0 3\n 5 up 1.0 Shocker Ruffing None 2:05 D 25000.0 4\n\n >>> # Let get the games a team plays in a given week.\n >>> import datetime as dt\n >>> s.set_date_range(dt.datetime(2019,6,2), dt.datetime(2019,6,8))\n >>> df = s.scrape('TOR')\n >>> df.head()\n\n Date Tm Home_Away Opp W/L R ... Save Time D/N Attendance Streak Orig. Scheduled\n 59 2019-06-02 TOR @ COL L 1.0 ... None 2:43 D 37861.0 -6.0 None\n 60 2019-06-04 TOR Home NYY W 4.0 ... Giles 3:00 N 20671.0 1.0 None\n 61 2019-06-05 TOR Home NYY W 11.0 ... None 3:22 N 16609.0 2.0 None\n 62 2019-06-06 TOR Home NYY L 2.0 ... Chapman 3:07 N 25657.0 -1.0 None\n 63 2019-06-07 TOR Home ARI L 2.0 ... None 2:50 N 16555.0 -2.0 None\n\n [5 rows x 19 columns]\n\n\nTeam List\n---------\n\nUsing the `TeamListScraper` you can pull a list of active teams and a few attributes about each from baseball-reference. This has benefit mainly to get a list of abbreviations that baseball-reference uses for each team, as there doesn't seem to be a standard. This comes in handy when wanting to use another baseball-reference scraper such as `TeamList` and need to input the team abbreviation.\n\n::\n >>> from baseball_scraper import baseball_reference\n >>> tss = baseball_reference.TeamSummaryScraper()\n >>> df = tss.scrape(2019)\n >>> df.columns\n Index([u'Franchise', u'Tm', u'#Bat', u'BatAge', u'R/G',\n u'G', u'PA', u'AB', u'R', u'H',\n u'2B', u'3B', u'HR', u'RBI', u'SB',\n u'CS', u'BB', u'SO', u'BA', u'OBP',\n u'SLG', u'OPS', u'OPS+', u'TB', u'GDP',\n u'HBP', u'SH', u'SF', u'IBB', u'LOB'],\n dtype='object')\n >>> df[df.Franchise.str.endswith(\"Rays\")].abbrev.iloc(0)[0]\n 'TBR'\n\nStandings\n---------\n\nThe `standings(season)` function gives division standings for a given season. If the current season is chosen, it will give the most current set of standings. Otherwise, it will give the end-of-season standings for each division for the chosen season. \n\nThis function returns a list of dataframes. Each dataframe is the standings for one of MLB's six divisions. \n\n::\n\n >>> from baseball_scraper import standings\n >>> data = standings(2016)[4]\n >>> print(data)\n Tm W L W-L% GB\n 1 Chicago Cubs 103 58 .640 --\n 2 St. Louis Cardinals 86 76 .531 17.5\n 3 Pittsburgh Pirates 78 83 .484 25.0\n 4 Milwaukee Brewers 73 89 .451 30.5\n 5 Cincinnati Reds 68 94 .420 35.5\n\n\nESPN\n----\n\nWith the ESPN scraper you can pull probable starters for a given date range. This can be useful to see the two-start pitchers for a given week and their team matchups.\n\n::\n\n >>> from baseball_scraper import espn\n >>> from datetime import datetime\n >>> es = espn.ProbableStartersScraper(datetime(2019,8,5), datetime(2019,8,11))\n >>> df = es.scrape()\n >>> df.head(10)\n Date Name espn_id opponent\n 0 2019-08-05 Sandy Alcantara 35241 NYM\n 1 2019-08-05 Jacob deGrom 32796 MIA\n 2 2019-08-05 Jordan Lyles 31061 PIT\n 3 2019-08-05 Dario Agrazal 39813 MIL\n 4 2019-08-05 Masahiro Tanaka 33150 BAL\n 5 2019-08-05 Gabriel Ynoa 33651 NYY\n 6 2019-08-05 Lucas Giolito 32697 DET\n 7 2019-08-05 Spencer Turnbull 33732 CHW\n 8 2019-08-05 Mike Montgomery 31092 BOS\n 9 2019-08-05 Rick Porcello 29966 KC\n >>> df[df.duplicated(['espn_id'])].Name\n 127 Masahiro Tanaka\n 128 Jacob Waguespack\n 130 Rick Porcello\n 131 Vince Velasquez\n 132 Jeff Samardzija\n 133 Mike Montgomery\n 134 Spencer Turnbull\n 135 Mike Soroka\n 136 Sandy Alcantara\n 139 Jake Odorizzi\n 146 Kyle Hendricks\n 153 Charlie Morton\n 155 Andrew Cashner\n 157 Trent Thornton\n 158 Jakob Junis\n 159 Daniel Norris\n 160 Jacob deGrom\n 161 Max Fried\n 162 Jordan Yamamoto\n 163 Jon Lester\n 164 Luis Castillo\n 165 Chris Bassitt\n 166 Lucas Giolito\n 167 Mike Minor\n 168 Jordan Lyles\n 169 Zach Plesac\n 170 Jose Berrios\n 171 Dario Agrazal\n 172 Michael Wacha\n 173 German Marquez\n 174 Dinelson Lamet\n 175 Merrill Kelly\n 176 Wade LeBlanc\n 177 Jake Arrieta\n Name: Name, dtype: object\n >>> df[df.Name == \"Charlie Morton\"]\n Date Name espn_id opponent\n 15 2019-08-05 Charlie Morton 29155 TOR\n 153 2019-08-10 Charlie Morton 29155 SEA\n\n\nComplete Documentation\n----------------------\n\nSo far this has provided a basic overview of what this package can do and how you can use it. For full documentation on available functions and their arguments, see the [docs](https://github.com/spilchen/baseball_scraper/tree/master/docs) folder. \n\nInstallation\n------------\n\nTo install baseball_scraper, simply run \n\n::\n\n pip install baseball_scraper\n\nor, for the version currently on the repo (which may at times be more up to date):\n\n::\n\n git clone https://github.com/spilchen/baseball_scraper\n cd baseball_scraper\n python setup.py install\n\n\nTesting\n-------\n\nWe use pytest for testing the package. It can be invoked as follows:\n\n::\n python setup.py test\n\n\nDependencies\n------------\n\nThis library depends on: Pandas, NumPy, bs4 (beautiful soup), and Requests.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/spilchen/baseball_scraper", "keywords": "baseball sabermetrics data statistics statcast web scraping", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "baseball-scraper", "package_url": "https://pypi.org/project/baseball-scraper/", "platform": "", "project_url": "https://pypi.org/project/baseball-scraper/", "project_urls": { "Homepage": "https://github.com/spilchen/baseball_scraper" }, "release_url": "https://pypi.org/project/baseball-scraper/0.4.9/", "requires_dist": null, "requires_python": "", "summary": "Retrieve baseball data in Python", "version": "0.4.9" }, "last_serial": 5659570, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "344649913f072dc225a0bb488417dc0c", "sha256": "7187e2309c0d874e5406f0df4a008d145193c097bd47bd8e6f5b123e59bde0f1" }, "downloads": -1, "filename": "baseball_scraper-0.0.1.tar.gz", "has_sig": false, "md5_digest": "344649913f072dc225a0bb488417dc0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29948, "upload_time": "2019-05-14T01:41:09", "url": "https://files.pythonhosted.org/packages/df/c0/80e4825930d8336bcc55fc82d34efafd9b09ba596ecb40c02745cfe2abba/baseball_scraper-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "81c070a6eb4ff3c5142b77a54973d114", "sha256": "47e9294adb55c1e67e9fc3e613d38ada05415ef96c6aa49173f71d35392ae37d" }, "downloads": -1, "filename": "baseball_scraper-0.0.10.tar.gz", "has_sig": false, "md5_digest": "81c070a6eb4ff3c5142b77a54973d114", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100739, "upload_time": "2019-07-07T12:59:28", "url": "https://files.pythonhosted.org/packages/08/3a/e6c0d365a33f2bfe1a6ed505953fd04307d5e1d69c65111632dc6c32e3d9/baseball_scraper-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "8e72736430211aab3ae8bd720720ce12", "sha256": "8382601bc0985a87843f5c1c5ddc799720c1424f8e4a852898bf70cf5d42d31a" }, "downloads": -1, "filename": "baseball_scraper-0.0.11.tar.gz", "has_sig": false, "md5_digest": "8e72736430211aab3ae8bd720720ce12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100895, "upload_time": "2019-07-09T11:26:03", "url": "https://files.pythonhosted.org/packages/2a/49/d95cb32601473b08d9a7fb2a5ee0c7af3a8127109904ee85c316f33f55f3/baseball_scraper-0.0.11.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "015f4a5050783856ee6396a130a6de1d", "sha256": "f7b881247c66ddf4373d4e438c8a8c04e97f4e8da87ef51381bafe37aeb9e1a3" }, "downloads": -1, "filename": "baseball_scraper-0.0.2.tar.gz", "has_sig": false, "md5_digest": "015f4a5050783856ee6396a130a6de1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29923, "upload_time": "2019-06-01T18:53:52", "url": "https://files.pythonhosted.org/packages/d2/35/a9314dfc7ef3201584e3813393bfce47f028df93dcb89f3916c687c6730a/baseball_scraper-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "3cc8ed3266024ac8cf8ee2ba19d533da", "sha256": "3ebf4c1cfeaaac5289318bfbc91f90ce25f96f24204ea3df1c0fbb19efb0b870" }, "downloads": -1, "filename": "baseball_scraper-0.0.3.tar.gz", "has_sig": false, "md5_digest": "3cc8ed3266024ac8cf8ee2ba19d533da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30728, "upload_time": "2019-06-03T19:03:52", "url": "https://files.pythonhosted.org/packages/a3/68/8fd3ba2237b9010089f486709226ef4e9fcf95adbf0c7bb7e997616b7795/baseball_scraper-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "94c3438285c4376c8b8c275c0a7fc596", "sha256": "5fee0709684070ca2cd05c00230cb623b8146e6156f5ceaf5b8b2109c61342fb" }, "downloads": -1, "filename": "baseball_scraper-0.0.4.tar.gz", "has_sig": false, "md5_digest": "94c3438285c4376c8b8c275c0a7fc596", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31640, "upload_time": "2019-06-05T00:55:18", "url": "https://files.pythonhosted.org/packages/78/5b/b45bcbe204e89c1a40f56d5de89a09148111007f5b991395ab53d6bd6595/baseball_scraper-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "d4d43854c008bf32570169c3370aa7f4", "sha256": "1f034ee93d50b20540dc64d36a69d8b93926a4a6ef6405cebfa3693469b797c9" }, "downloads": -1, "filename": "baseball_scraper-0.0.5.tar.gz", "has_sig": false, "md5_digest": "d4d43854c008bf32570169c3370aa7f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32398, "upload_time": "2019-06-05T21:02:37", "url": "https://files.pythonhosted.org/packages/6c/13/c978f2b77915a2234b565219a73eecbf2785dde45d02b896f70f0f68d742/baseball_scraper-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "652b8d0a5d6d427e184fc3ee05812603", "sha256": "121185646ede9d514645020b6333c8deb18b5d6a18e1601bccf9bf5408013afa" }, "downloads": -1, "filename": "baseball_scraper-0.0.6.tar.gz", "has_sig": false, "md5_digest": "652b8d0a5d6d427e184fc3ee05812603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99461, "upload_time": "2019-06-19T02:13:15", "url": "https://files.pythonhosted.org/packages/26/a2/0b035dbf9d50b9ebee963eacfc2c1a8ba4b47be5f3f6b44ee18d5696e48d/baseball_scraper-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "a4e735edfe1b49d00374f9cbe9d4dc48", "sha256": "301557ca7b3cc593d7742ae846f5e3022af3cbb744ea1da30de5b9cdbf38a090" }, "downloads": -1, "filename": "baseball_scraper-0.0.7.tar.gz", "has_sig": false, "md5_digest": "a4e735edfe1b49d00374f9cbe9d4dc48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99469, "upload_time": "2019-06-20T00:52:54", "url": "https://files.pythonhosted.org/packages/af/f1/fafafeaa95212f93436d23c85b42a67b6e26a85bb6d0b0e80e86706fc113/baseball_scraper-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "d34a21f40fe0c5b0dd98f90b1106578f", "sha256": "f9a4e27e59b415cb6dbf70a71f559d5e9bf68bf7873f5ea8e810dc7122bfacd2" }, "downloads": -1, "filename": "baseball_scraper-0.0.8.tar.gz", "has_sig": false, "md5_digest": "d34a21f40fe0c5b0dd98f90b1106578f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100020, "upload_time": "2019-07-02T19:40:50", "url": "https://files.pythonhosted.org/packages/30/ff/ef5dafcc7ef50547edeed538e929b62a3dff7e54986e10a7829a14a25bf3/baseball_scraper-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "cc01139a99a479a03a31b6905e7bba11", "sha256": "8d4fda23179a7af157b060536b3a65de3418d7fbde90286f6a59b82c44254371" }, "downloads": -1, "filename": "baseball_scraper-0.0.9.tar.gz", "has_sig": false, "md5_digest": "cc01139a99a479a03a31b6905e7bba11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100711, "upload_time": "2019-07-03T01:13:29", "url": "https://files.pythonhosted.org/packages/ae/0e/3f0b113bbea982c2fcabcfbc1ff9e405b1af114404b3fd27f98dfabef28c/baseball_scraper-0.0.9.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8fde14ac293ce8fbdc6c0ed9c5f85059", "sha256": "882689da158d82ee0a7b319402d08f68f068776cdac0165672f9425234be3e73" }, "downloads": -1, "filename": "baseball_scraper-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8fde14ac293ce8fbdc6c0ed9c5f85059", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156370, "upload_time": "2019-07-24T01:59:31", "url": "https://files.pythonhosted.org/packages/7c/e1/f37331f730e7a1d0e592dc18da66681a1aa25d9da827050bd4a05384ffd4/baseball_scraper-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "89d1339caf3e8c3cf6ff62076a813bbd", "sha256": "7251c17c5ad59c2d539e2befbb81cdc45174f5be5153ca2baf918ab044bb5cac" }, "downloads": -1, "filename": "baseball_scraper-0.1.2.tar.gz", "has_sig": false, "md5_digest": "89d1339caf3e8c3cf6ff62076a813bbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156391, "upload_time": "2019-07-26T00:21:28", "url": "https://files.pythonhosted.org/packages/cc/f3/91e476320cd429f7a625c83eb92e3e8565ff8f37420f4a281ca96f2562f4/baseball_scraper-0.1.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b3ef0a2508d3ccf6bccac2af59ce747f", "sha256": "79b08c527b3773dd81e0c5b24b6f2666d9d5ac701d2b80fab8aca2981b6dd258" }, "downloads": -1, "filename": "baseball_scraper-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b3ef0a2508d3ccf6bccac2af59ce747f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 302259, "upload_time": "2019-07-29T00:40:35", "url": "https://files.pythonhosted.org/packages/49/82/4a25f85e0632c9b34999b9061f0e0c308c74ca74cfef03333f30ac427912/baseball_scraper-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "75bfbe0225aabc5d3d1005f37f648fd0", "sha256": "93108029ece68f7beb6b421f29e6ff39cac487752b02d002d343f93b6e9f6fc2" }, "downloads": -1, "filename": "baseball_scraper-0.2.2.tar.gz", "has_sig": false, "md5_digest": "75bfbe0225aabc5d3d1005f37f648fd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 302257, "upload_time": "2019-07-29T00:50:37", "url": "https://files.pythonhosted.org/packages/c6/ee/afe851eab25220257c5bd6fff80bf8c80149ba967257c90994e2ca2d923c/baseball_scraper-0.2.2.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "17d6e3e1dbe410ba4ead890999952dcd", "sha256": "20d1b2156d3debe031f1972165f80da5df8b13a6a281fefd6caa3ca871b07db8" }, "downloads": -1, "filename": "baseball_scraper-0.3.1.tar.gz", "has_sig": false, "md5_digest": "17d6e3e1dbe410ba4ead890999952dcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 302474, "upload_time": "2019-08-02T14:14:44", "url": "https://files.pythonhosted.org/packages/4c/a4/d44b57244ff37132ed4a0eedf20b56befc2204540952c910ee800d4636bf/baseball_scraper-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "2acf4e79496fa44f9459082f2b3b07a2", "sha256": "e2f42812905d3aa045ab46a3087b1b3f8a00c91df9a52424d4bf9975ce0b9131" }, "downloads": -1, "filename": "baseball_scraper-0.3.2.tar.gz", "has_sig": false, "md5_digest": "2acf4e79496fa44f9459082f2b3b07a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 302542, "upload_time": "2019-08-02T15:11:14", "url": "https://files.pythonhosted.org/packages/16/d4/8649d4d6873ba0fe657e838e2538226ae5684e1ce71974570780ece4149a/baseball_scraper-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "93404a6f4ea49cd6a052ba5f907cb0d9", "sha256": "7f118f9013716de3780d8bbb6978553a75b4d6b3ef2ddef463cec80ce45600f3" }, "downloads": -1, "filename": "baseball_scraper-0.3.3.tar.gz", "has_sig": false, "md5_digest": "93404a6f4ea49cd6a052ba5f907cb0d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 302613, "upload_time": "2019-08-02T17:01:16", "url": "https://files.pythonhosted.org/packages/a0/17/f0ee47e0c0bca5d9cdabb7339eb7b5bd66bd87a93dad32bb7081bb2cfa5c/baseball_scraper-0.3.3.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "a5ffd64fc782fe822fbf1141140c383d", "sha256": "373fc90e6f56507c5fb0a91285174b8eb86459ac05a32f1f08805127e2b31d86" }, "downloads": -1, "filename": "baseball_scraper-0.4.1.tar.gz", "has_sig": false, "md5_digest": "a5ffd64fc782fe822fbf1141140c383d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 302690, "upload_time": "2019-08-02T17:28:26", "url": "https://files.pythonhosted.org/packages/5a/02/d72a279cb47a7e1bce184758e94d028889d279cbdb1dd73cbaeabc2eb518/baseball_scraper-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "295d4d64e02d0ef967f8cc5b516988e5", "sha256": "ac0c275d40ef88205ab3eaf66996988e547187847e7078cd997733d5f9af9603" }, "downloads": -1, "filename": "baseball_scraper-0.4.2.tar.gz", "has_sig": false, "md5_digest": "295d4d64e02d0ef967f8cc5b516988e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 307000, "upload_time": "2019-08-05T13:19:33", "url": "https://files.pythonhosted.org/packages/b3/ad/a93efc9d1483b34452fc8f1b0f0c8c88a79230814eb1511f966ec88e8dc9/baseball_scraper-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "1bf59001c22cc05aa614a823ba5becf8", "sha256": "5c686dda10b335140dcbd25ad7d1f409ab38eb4440213d1a6ef9cde6c2034943" }, "downloads": -1, "filename": "baseball_scraper-0.4.3.tar.gz", "has_sig": false, "md5_digest": "1bf59001c22cc05aa614a823ba5becf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 307024, "upload_time": "2019-08-05T20:29:14", "url": "https://files.pythonhosted.org/packages/55/81/6a01af85367bb4cc4dd81742f9d52454727b2d7a864e1cfb11646c45e0d3/baseball_scraper-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "2fa124e614d4ce3063a86994532390b8", "sha256": "db9683cf80d57d7d2e20aabbfea78370a01ad4ceea3bf8e151cd8fb540e5cc3d" }, "downloads": -1, "filename": "baseball_scraper-0.4.4.tar.gz", "has_sig": false, "md5_digest": "2fa124e614d4ce3063a86994532390b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 308403, "upload_time": "2019-08-10T01:25:21", "url": "https://files.pythonhosted.org/packages/42/08/25f71592d6d2d9085fbd2121477a4e89a39e2d397dd950b062fa8eb3f99a/baseball_scraper-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "b82f19c8e46285627abb6e5d174a45d3", "sha256": "4aa3c38462d532b8a1bb1cb33d0b36a7eb197c4b90e4c8af311c2281ca1f991d" }, "downloads": -1, "filename": "baseball_scraper-0.4.5.tar.gz", "has_sig": false, "md5_digest": "b82f19c8e46285627abb6e5d174a45d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 308417, "upload_time": "2019-08-10T01:42:23", "url": "https://files.pythonhosted.org/packages/0e/07/3dc57c47a73a958a399440f3602342afc1b6ca05bff02e08db142c357d45/baseball_scraper-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "8507aaf3fb39801ffac4db666f0b83f4", "sha256": "69939b463cb3decd8d64161ced044e4298a21694f1b40a105841ae7f31e63ab1" }, "downloads": -1, "filename": "baseball_scraper-0.4.6.tar.gz", "has_sig": false, "md5_digest": "8507aaf3fb39801ffac4db666f0b83f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 308040, "upload_time": "2019-08-10T13:03:57", "url": "https://files.pythonhosted.org/packages/9f/b1/666c178c91a6c465eb55b367c89b5975a764ad6dec675e1b50ad65b4a82c/baseball_scraper-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "93c851f1f72564535e97ae031fba8ac8", "sha256": "edbe2837d62f47ac42893b8f5818bbdd5d636bd0d072c6cf0c40e9c000cb097b" }, "downloads": -1, "filename": "baseball_scraper-0.4.7.tar.gz", "has_sig": false, "md5_digest": "93c851f1f72564535e97ae031fba8ac8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 308045, "upload_time": "2019-08-10T13:08:57", "url": "https://files.pythonhosted.org/packages/5a/58/836c6df7763865d0377f60341b145e1ed7d0aa2fed313411197dac68eeb2/baseball_scraper-0.4.7.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "1ad071ea556450f9761f09a291988b39", "sha256": "2c9d350bf5d412dd4a697e8fff1fa0041fbc1b6ffd945ddcce00e683ece97457" }, "downloads": -1, "filename": "baseball_scraper-0.4.9.tar.gz", "has_sig": false, "md5_digest": "1ad071ea556450f9761f09a291988b39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 308386, "upload_time": "2019-08-10T14:22:41", "url": "https://files.pythonhosted.org/packages/36/bc/c6b564c29fd838c19d169fd60289d925acd466488588c786ddcb7e5eadd4/baseball_scraper-0.4.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1ad071ea556450f9761f09a291988b39", "sha256": "2c9d350bf5d412dd4a697e8fff1fa0041fbc1b6ffd945ddcce00e683ece97457" }, "downloads": -1, "filename": "baseball_scraper-0.4.9.tar.gz", "has_sig": false, "md5_digest": "1ad071ea556450f9761f09a291988b39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 308386, "upload_time": "2019-08-10T14:22:41", "url": "https://files.pythonhosted.org/packages/36/bc/c6b564c29fd838c19d169fd60289d925acd466488588c786ddcb7e5eadd4/baseball_scraper-0.4.9.tar.gz" } ] }