├── .gitignore ├── LICENSE ├── README.md ├── bokeh-app ├── README.md ├── data │ └── 2015_weather.csv └── main.py ├── bokehserverextension.py ├── environment.yml └── postBuild /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2018, Min RK 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Running a bokeh server with Binder 2 | 3 | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/binder-examples/bokeh/master?urlpath=/proxy/5006/bokeh-app) 4 | 5 | This repository demonstrates how to run a Bokeh server from within Binder. To do so, we did the following things: 6 | 7 | 1. Created a `bokeh-app` directory in the repo with a `main.py` file in it. This is the application that will be served. We've added the 8 | [Bokeh weather example](https://github.com/bokeh/bokeh/tree/master/examples/app/weather) as a demo. 9 | 2. Installed `bokeh` for the viz and `jupyter_server_proxy` which we'll use to direct people to the port on which Bokeh runs. See `environment.yml`. 10 | 3. Added a custom server extension (`bokehserverextension.py`) that will be run to direct people to the Bokeh app (which is run on a port) 11 | 4. Used `postBuild` to enable the `jupyter_server_proxy` extension, then set up and enable our custom server extension for Bokeh. 12 | 5. Created a Binder link that uses `urlpath` to point users to the port on which the Bokeh server will run: 13 | 14 | ``` 15 | https://mybinder.org/v2/gh/binder-examples/bokeh/master?urlpath=/proxy/5006/bokeh-app 16 | ``` 17 | 18 | When people click on the Binder link, they should be directed to the running Bokeh app. 19 | -------------------------------------------------------------------------------- /bokeh-app/README.md: -------------------------------------------------------------------------------- 1 | This example shows the daily record, average, and actual temperatures for three 2 | cities (Austin, Boston, Seattle) in 2015. The default view includes a discrete 3 | graph of the temperatures, but a smoothed representation can be selected. 4 | 5 | To run the script, execute: 6 | 7 | bokeh serve --show weather/ 8 | -------------------------------------------------------------------------------- /bokeh-app/data/2015_weather.csv: -------------------------------------------------------------------------------- 1 | airport,date,actual_max_temp,average_max_temp,record_max_temp,actual_min_temp,average_min_temp,record_min_temp 2 | BOS,2015-06-10,82,74,96,62,58,45 3 | BOS,2015-04-28,64,60,93,42,45,30 4 | SEA,2015-02-03,50,49,63,42,37,8 5 | SEA,2015-11-28,45,48,59,27,37,17 6 | SEA,2015-11-27,49,48,58,29,38,19 7 | AUS,2015-06-26,92,94,106,74,71,62 8 | BOS,2015-11-15,54,52,78,37,38,17 9 | BOS,2015-11-26,59,48,67,38,35,12 10 | SEA,2015-03-23,52,55,68,42,40,28 11 | BOS,2015-02-08,29,38,66,13,24,-12 12 | SEA,2015-06-15,86,70,88,61,52,43 13 | BOS,2015-05-23,65,68,93,44,52,40 14 | AUS,2015-06-17,87,93,104,67,70,62 15 | BOS,2015-02-19,30,40,65,10,25,4 16 | BOS,2015-11-04,60,55,78,49,41,21 17 | SEA,2015-08-27,85,75,88,58,55,44 18 | BOS,2015-05-14,69,65,86,49,49,37 19 | AUS,2015-04-17,74,80,100,65,55,31 20 | BOS,2015-02-22,39,40,66,28,26,2 21 | AUS,2015-04-02,83,77,91,67,51,38 22 | SEA,2015-08-05,74,77,93,54,57,49 23 | BOS,2015-07-15,82,82,98,67,66,54 24 | BOS,2015-03-14,39,45,76,31,30,12 25 | SEA,2015-05-05,58,63,86,45,45,36 26 | AUS,2015-07-28,99,96,104,73,72,68 27 | AUS,2015-02-28,37,68,87,31,42,24 28 | BOS,2015-07-04,72,81,104,62,64,53 29 | BOS,2015-03-05,39,42,72,18,28,-4 30 | SEA,2015-12-24,42,45,62,36,35,16 31 | AUS,2015-02-17,54,65,92,30,40,22 32 | AUS,2015-05-29,87,90,98,64,67,54 33 | BOS,2015-10-16,61,61,88,50,46,30 34 | AUS,2015-02-02,47,63,85,33,37,8 35 | SEA,2015-12-22,46,45,57,37,35,14 36 | BOS,2015-08-05,85,81,100,65,66,54 37 | SEA,2015-06-18,76,70,94,57,52,43 38 | BOS,2015-06-17,69,77,95,59,60,48 39 | AUS,2015-12-19,67,63,84,28,36,24 40 | AUS,2015-06-04,89,91,99,63,69,58 41 | BOS,2015-06-20,75,78,98,58,61,47 42 | SEA,2015-05-14,64,65,87,49,47,36 43 | SEA,2015-11-15,48,51,62,36,40,6 44 | SEA,2015-05-23,61,66,90,53,49,37 45 | AUS,2015-08-26,95,95,103,69,70,60 46 | SEA,2015-09-03,65,74,92,51,54,45 47 | SEA,2015-01-27,52,48,58,47,37,11 48 | SEA,2015-09-16,68,71,91,50,52,44 49 | SEA,2015-04-14,53,58,83,37,42,33 50 | BOS,2015-10-15,62,62,86,47,47,31 51 | AUS,2015-06-10,92,92,100,68,70,57 52 | BOS,2015-10-04,56,66,86,51,51,34 53 | AUS,2015-06-01,87,90,100,60,68,56 54 | AUS,2015-10-23,80,80,92,70,54,38 55 | SEA,2015-08-15,71,77,96,57,56,47 56 | SEA,2015-10-28,57,56,66,52,44,30 57 | AUS,2015-09-09,93,92,100,73,67,54 58 | AUS,2015-08-23,99,96,105,72,71,63 59 | SEA,2015-07-23,79,77,99,58,56,47 60 | SEA,2015-01-11,49,47,59,45,37,12 61 | AUS,2015-07-21,95,96,102,71,72,66 62 | AUS,2015-02-23,37,66,94,30,41,24 63 | SEA,2015-09-25,60,68,85,55,50,36 64 | BOS,2015-07-03,76,81,102,63,64,51 65 | AUS,2015-02-18,64,65,89,25,40,25 66 | SEA,2015-03-06,59,52,68,38,38,26 67 | AUS,2015-01-19,72,62,86,29,36,14 68 | AUS,2015-07-07,92,94,104,77,71,64 69 | AUS,2015-02-09,81,64,87,45,38,23 70 | SEA,2015-03-13,63,53,70,46,39,28 71 | BOS,2015-03-22,39,47,83,21,33,8 72 | BOS,2015-09-14,72,73,92,57,58,40 73 | AUS,2015-07-12,93,95,106,69,72,64 74 | BOS,2015-08-02,88,81,102,68,66,54 75 | BOS,2015-09-05,73,76,93,58,61,48 76 | BOS,2015-04-01,47,50,76,30,36,13 77 | AUS,2015-12-10,79,64,83,45,38,18 78 | SEA,2015-11-29,35,48,59,28,37,18 79 | SEA,2015-10-06,65,63,78,50,48,37 80 | AUS,2015-01-28,80,62,80,36,37,18 81 | SEA,2015-12-09,54,46,61,46,36,18 82 | BOS,2015-06-30,75,80,95,60,64,52 83 | SEA,2015-05-24,64,66,89,52,49,37 84 | BOS,2015-09-27,64,68,86,48,53,37 85 | SEA,2015-01-20,50,48,64,38,37,16 86 | AUS,2015-06-20,84,93,103,71,71,63 87 | BOS,2015-01-25,38,36,59,19,22,-5 88 | SEA,2015-10-16,68,60,70,48,46,35 89 | SEA,2015-01-31,45,49,61,38,37,0 90 | BOS,2015-10-21,61,60,82,53,45,30 91 | SEA,2015-10-09,67,62,79,54,47,35 92 | AUS,2015-11-23,64,69,87,27,43,27 93 | SEA,2015-04-04,55,57,75,39,41,31 94 | AUS,2015-08-07,99,97,106,74,72,70 95 | BOS,2015-12-22,60,39,62,48,26,1 96 | BOS,2015-10-03,54,66,85,49,51,35 97 | AUS,2015-03-29,82,75,95,53,50,30 98 | AUS,2015-10-28,81,78,89,51,52,33 99 | BOS,2015-02-04,38,37,64,14,23,-2 100 | BOS,2015-12-15,61,41,66,48,28,-2 101 | BOS,2015-05-07,79,63,95,53,47,37 102 | AUS,2015-03-30,80,76,91,61,50,31 103 | AUS,2015-10-31,73,77,90,63,51,36 104 | SEA,2015-01-09,50,46,56,38,37,13 105 | BOS,2015-02-15,20,39,61,-2,25,-14 106 | BOS,2015-11-06,73,55,73,62,41,21 107 | AUS,2015-03-07,60,69,90,34,44,25 108 | SEA,2015-01-18,57,48,60,45,37,9 109 | AUS,2015-07-26,96,96,106,70,72,69 110 | SEA,2015-02-24,52,51,62,36,37,24 111 | BOS,2015-01-12,38,36,61,33,22,-10 112 | AUS,2015-10-29,82,78,88,47,52,33 113 | BOS,2015-08-25,81,78,96,67,64,46 114 | BOS,2015-01-07,26,36,63,4,23,-2 115 | AUS,2015-08-29,94,95,108,65,70,62 116 | AUS,2015-07-08,90,95,105,76,72,68 117 | SEA,2015-05-09,80,63,81,49,46,38 118 | BOS,2015-07-24,81,82,98,66,66,54 119 | BOS,2015-03-25,49,48,78,28,34,10 120 | AUS,2015-05-16,88,87,97,66,64,48 121 | AUS,2015-07-19,96,96,106,74,72,64 122 | AUS,2015-12-06,69,65,83,38,39,19 123 | AUS,2015-04-25,91,82,93,66,57,42 124 | AUS,2015-05-25,84,89,100,66,66,58 125 | BOS,2015-04-06,42,52,82,36,38,20 126 | BOS,2015-08-16,90,80,97,67,65,47 127 | BOS,2015-04-13,69,55,86,41,40,20 128 | AUS,2015-01-21,56,62,81,48,37,17 129 | AUS,2015-12-20,68,63,84,46,36,24 130 | SEA,2015-02-13,60,50,60,44,37,18 131 | SEA,2015-10-12,65,61,72,51,47,40 132 | AUS,2015-01-30,58,63,88,44,37,0 133 | AUS,2015-12-31,55,62,82,36,36,18 134 | SEA,2015-02-06,58,49,64,50,37,18 135 | BOS,2015-10-01,59,67,90,54,52,36 136 | BOS,2015-11-10,53,53,78,44,40,25 137 | SEA,2015-06-07,88,68,90,60,51,44 138 | AUS,2015-08-13,102,97,103,75,72,59 139 | AUS,2015-08-24,98,96,107,72,71,61 140 | BOS,2015-04-22,67,58,88,43,43,26 141 | SEA,2015-10-30,63,55,66,53,43,30 142 | SEA,2015-11-03,51,54,74,41,43,29 143 | AUS,2015-11-11,87,73,86,64,47,26 144 | AUS,2015-03-26,69,75,91,47,49,26 145 | BOS,2015-12-12,61,42,68,49,29,2 146 | SEA,2015-06-12,68,69,85,53,51,38 147 | AUS,2015-09-07,99,93,102,70,68,50 148 | BOS,2015-04-09,37,53,85,33,39,24 149 | SEA,2015-08-22,80,76,86,54,56,45 150 | AUS,2015-09-12,90,91,102,63,67,56 151 | AUS,2015-04-10,71,79,93,55,53,34 152 | SEA,2015-07-01,90,73,94,63,54,45 153 | SEA,2015-08-19,89,76,89,61,56,48 154 | AUS,2015-03-11,59,70,92,54,45,20 155 | AUS,2015-09-29,93,87,99,65,61,45 156 | SEA,2015-07-10,70,75,90,62,55,46 157 | BOS,2015-03-11,57,44,67,37,30,9 158 | AUS,2015-07-27,97,96,104,73,72,67 159 | AUS,2015-05-19,87,87,97,73,65,46 160 | SEA,2015-11-30,42,48,59,25,37,21 161 | AUS,2015-01-04,51,62,80,29,36,15 162 | SEA,2015-12-21,42,45,56,37,35,12 163 | AUS,2015-10-11,95,84,95,59,58,43 164 | SEA,2015-04-22,60,60,78,41,43,35 165 | AUS,2015-01-15,58,62,78,35,36,17 166 | AUS,2015-08-28,96,95,110,64,70,61 167 | BOS,2015-06-07,67,73,97,53,57,45 168 | SEA,2015-05-31,77,67,90,53,50,35 169 | BOS,2015-07-09,69,81,99,63,65,53 170 | AUS,2015-08-19,97,96,106,76,71,65 171 | BOS,2015-06-12,79,75,96,65,59,46 172 | AUS,2015-09-21,94,89,102,69,64,54 173 | SEA,2015-11-25,45,49,59,32,38,18 174 | BOS,2015-06-25,81,79,97,64,62,48 175 | BOS,2015-11-17,45,51,76,33,38,14 176 | SEA,2015-06-20,77,71,88,55,53,43 177 | SEA,2015-11-12,52,52,60,41,41,13 178 | BOS,2015-11-20,61,50,74,44,37,15 179 | SEA,2015-09-19,70,70,82,58,52,40 180 | AUS,2015-12-29,50,62,80,35,36,20 181 | SEA,2015-09-04,65,74,87,50,54,42 182 | AUS,2015-06-22,87,93,103,71,71,64 183 | BOS,2015-06-22,77,78,97,61,62,46 184 | SEA,2015-03-25,58,55,64,45,40,31 185 | BOS,2015-10-22,73,59,83,52,45,28 186 | BOS,2015-05-25,81,69,92,58,53,40 187 | AUS,2015-06-15,89,92,105,70,70,62 188 | BOS,2015-12-06,59,44,72,36,32,8 189 | SEA,2015-08-29,72,75,91,56,55,44 190 | AUS,2015-03-09,54,70,86,48,45,29 191 | BOS,2015-05-16,71,66,93,55,50,34 192 | AUS,2015-04-19,89,81,99,55,56,40 193 | BOS,2015-02-24,19,41,70,2,26,-7 194 | AUS,2015-03-18,78,72,90,60,47,31 195 | SEA,2015-01-05,54,46,55,49,36,15 196 | SEA,2015-08-03,83,77,90,63,57,46 197 | BOS,2015-01-09,30,36,64,19,22,-4 198 | BOS,2015-07-13,77,82,97,67,66,56 199 | SEA,2015-07-24,73,77,95,56,56,43 200 | SEA,2015-05-07,69,63,81,43,46,33 201 | AUS,2015-02-26,52,67,88,26,42,23 202 | SEA,2015-02-28,54,51,68,38,38,24 203 | BOS,2015-03-07,38,43,69,17,29,2 204 | AUS,2015-06-19,84,93,103,71,70,58 205 | AUS,2015-02-15,67,65,83,50,39,23 206 | SEA,2015-03-03,51,52,69,32,38,20 207 | BOS,2015-03-30,45,50,81,30,35,10 208 | AUS,2015-02-04,57,63,84,42,38,20 209 | BOS,2015-07-27,86,82,98,68,66,52 210 | BOS,2015-03-29,42,49,86,26,35,4 211 | BOS,2015-09-11,73,74,99,63,59,40 212 | BOS,2015-08-07,73,81,98,64,66,55 213 | AUS,2015-10-16,90,82,92,52,56,41 214 | AUS,2015-04-29,75,83,93,49,59,42 215 | BOS,2015-09-08,96,75,96,72,60,48 216 | SEA,2015-10-18,59,59,70,55,45,32 217 | AUS,2015-10-08,88,85,96,63,58,44 218 | SEA,2015-04-30,63,61,85,46,44,32 219 | SEA,2015-05-12,60,64,81,51,47,38 220 | SEA,2015-12-02,51,47,57,40,37,25 221 | AUS,2015-10-03,85,86,96,51,60,49 222 | SEA,2015-05-21,78,66,93,53,48,39 223 | BOS,2015-11-29,44,47,69,32,34,8 224 | SEA,2015-06-26,89,72,90,64,53,46 225 | AUS,2015-06-08,92,91,99,64,69,58 226 | AUS,2015-06-30,91,94,100,71,71,63 227 | SEA,2015-01-25,63,48,63,45,37,7 228 | BOS,2015-01-28,24,36,63,13,22,-5 229 | SEA,2015-09-14,62,71,93,51,53,46 230 | SEA,2015-04-16,64,59,81,39,42,34 231 | SEA,2015-11-02,52,54,72,45,43,31 232 | BOS,2015-10-13,72,62,87,55,47,30 233 | SEA,2015-04-03,52,56,71,41,41,32 234 | BOS,2015-12-09,46,43,70,37,31,-8 235 | AUS,2015-08-02,98,97,106,67,72,64 236 | BOS,2015-10-06,64,65,86,48,50,31 237 | AUS,2015-06-03,89,90,98,62,68,58 238 | AUS,2015-10-25,65,80,92,58,53,32 239 | SEA,2015-08-17,81,76,96,57,56,45 240 | BOS,2015-05-02,50,62,91,39,46,33 241 | AUS,2015-08-12,103,97,104,74,72,64 242 | SEA,2015-01-02,42,46,56,32,36,6 243 | BOS,2015-10-17,56,61,89,40,46,27 244 | SEA,2015-01-17,56,47,56,38,37,15 245 | AUS,2015-07-23,98,96,103,74,72,62 246 | AUS,2015-02-21,78,66,101,55,41,30 247 | SEA,2015-09-23,69,68,83,47,51,40 248 | SEA,2015-02-23,55,51,61,33,37,27 249 | SEA,2015-03-04,55,52,68,31,38,11 250 | BOS,2016-01-01,41,37,70,33,24,-3 251 | AUS,2015-07-05,91,94,105,73,71,64 252 | SEA,2015-03-15,51,54,65,43,39,30 253 | BOS,2015-03-20,32,46,79,23,32,10 254 | BOS,2015-09-16,81,72,96,65,57,42 255 | AUS,2015-07-14,95,95,105,73,72,67 256 | AUS,2015-04-20,72,81,93,53,56,33 257 | BOS,2015-09-03,82,76,97,70,62,47 258 | BOS,2015-04-03,59,51,77,45,37,21 259 | BOS,2015-06-03,56,72,98,47,56,44 260 | AUS,2015-12-16,65,63,80,37,37,18 261 | SEA,2015-10-04,73,64,76,50,48,38 262 | BOS,2015-04-16,60,56,87,41,41,28 263 | AUS,2015-12-25,73,63,91,51,36,11 264 | SEA,2015-10-15,70,60,77,49,46,35 265 | AUS,2015-09-23,93,89,101,62,63,45 266 | SEA,2015-07-28,82,77,97,57,57,47 267 | BOS,2015-01-27,19,36,63,14,22,-6 268 | BOS,2015-04-30,55,61,86,44,45,31 269 | SEA,2015-06-02,64,68,94,55,50,40 270 | SEA,2015-10-29,59,55,65,54,43,31 271 | AUS,2015-08-14,99,97,104,74,72,62 272 | AUS,2015-08-22,97,96,103,74,71,65 273 | BOS,2015-04-27,57,60,92,45,44,33 274 | AUS,2015-08-05,99,97,105,77,72,64 275 | SEA,2015-10-24,59,57,72,48,44,33 276 | AUS,2015-11-16,76,71,84,66,45,26 277 | SEA,2015-06-28,83,72,91,65,54,45 278 | SEA,2015-03-29,60,56,78,48,41,24 279 | BOS,2015-02-02,31,37,55,10,23,-5 280 | BOS,2015-12-17,52,41,64,39,28,-4 281 | BOS,2015-05-05,70,63,89,54,47,35 282 | BOS,2015-10-24,49,59,80,38,44,30 283 | BOS,2015-02-17,23,39,61,10,25,-11 284 | AUS,2015-03-05,46,69,93,26,44,17 285 | AUS,2015-09-19,93,90,101,67,64,47 286 | BOS,2015-02-28,31,41,63,12,27,2 287 | AUS,2015-03-14,77,71,93,48,46,29 288 | BOS,2015-01-14,25,35,69,14,22,-8 289 | AUS,2015-07-31,101,97,103,77,72,64 290 | BOS,2015-11-02,64,56,83,51,42,26 291 | BOS,2015-01-05,50,36,63,17,23,-4 292 | AUS,2015-05-05,83,84,101,61,60,44 293 | SEA,2015-12-19,47,45,56,37,35,17 294 | BOS,2015-07-22,84,82,103,69,66,55 295 | AUS,2015-05-14,86,86,96,66,63,45 296 | AUS,2015-01-01,39,62,84,35,36,24 297 | AUS,2015-04-27,84,83,94,60,58,45 298 | AUS,2015-05-23,86,88,99,64,66,50 299 | BOS,2015-04-08,42,53,85,34,38,21 300 | BOS,2015-08-14,86,80,101,63,65,52 301 | BOS,2015-07-29,92,82,97,71,66,55 302 | BOS,2015-04-11,57,54,78,42,39,25 303 | AUS,2015-01-27,80,62,84,35,37,21 304 | SEA,2015-02-11,55,50,62,42,37,23 305 | BOS,2015-10-20,66,60,79,45,45,32 306 | BOS,2015-11-07,69,54,77,50,40,25 307 | BOS,2015-11-12,57,53,76,46,39,25 308 | BOS,2015-09-22,68,70,94,56,55,35 309 | BOS,2015-11-25,44,48,70,30,35,13 310 | AUS,2015-11-28,45,67,88,40,41,25 311 | BOS,2015-04-20,51,57,89,41,42,21 312 | SEA,2015-09-09,76,73,89,57,53,40 313 | AUS,2015-03-20,73,73,92,59,48,24 314 | BOS,2015-05-31,77,71,96,48,55,39 315 | AUS,2015-11-02,81,77,87,57,50,29 316 | SEA,2015-06-10,78,69,83,52,51,44 317 | BOS,2015-05-20,66,67,91,51,51,40 318 | SEA,2015-08-24,75,76,88,54,55,45 319 | AUS,2015-09-10,96,92,100,73,67,52 320 | AUS,2015-04-12,82,79,92,65,54,38 321 | BOS,2015-02-21,34,40,63,4,26,-1 322 | BOS,2015-06-04,58,72,96,49,56,44 323 | AUS,2015-03-13,76,71,91,50,46,25 324 | AUS,2015-04-07,86,78,95,65,52,28 325 | SEA,2015-07-12,79,75,97,62,55,47 326 | BOS,2015-04-05,49,52,84,32,37,11 327 | AUS,2015-05-02,81,84,96,50,60,47 328 | BOS,2015-03-17,51,46,70,28,31,10 329 | SEA,2015-12-10,53,46,66,43,36,16 330 | AUS,2015-10-06,88,85,95,57,59,42 331 | BOS,2015-03-02,37,42,66,26,28,0 332 | AUS,2015-01-06,68,62,84,31,36,20 333 | AUS,2015-12-09,75,64,81,43,38,23 334 | AUS,2015-02-12,60,64,83,40,39,16 335 | AUS,2015-10-13,93,83,98,55,57,39 336 | AUS,2015-01-13,42,62,78,36,36,18 337 | BOS,2015-04-18,60,57,94,43,42,26 338 | AUS,2015-12-30,56,62,82,38,36,19 339 | SEA,2015-12-26,40,45,62,32,36,22 340 | BOS,2015-06-14,74,76,96,62,59,46 341 | BOS,2015-10-30,61,57,78,42,42,28 342 | BOS,2015-11-08,56,54,74,44,40,25 343 | SEA,2015-11-23,44,49,58,32,38,10 344 | BOS,2015-06-27,68,79,96,57,63,52 345 | SEA,2015-12-29,45,45,54,33,36,8 346 | BOS,2015-06-09,78,74,96,64,58,47 347 | BOS,2015-11-19,55,50,75,43,37,14 348 | SEA,2015-11-10,52,52,63,39,41,30 349 | BOS,2015-11-22,49,49,74,36,36,9 350 | SEA,2015-09-06,61,73,90,53,54,45 351 | AUS,2015-11-18,72,70,83,38,45,26 352 | SEA,2015-06-24,78,72,92,61,53,45 353 | SEA,2015-09-13,69,72,87,55,53,39 354 | SEA,2015-03-27,65,55,71,48,41,26 355 | AUS,2015-11-09,75,74,88,50,48,26 356 | SEA,2016-01-01,46,46,58,28,36,10 357 | BOS,2015-05-27,85,70,96,65,53,39 358 | AUS,2015-06-13,94,92,102,73,70,57 359 | AUS,2015-10-19,85,82,93,44,55,42 360 | BOS,2015-12-04,48,45,70,38,32,2 361 | BOS,2015-12-28,38,38,63,29,24,-2 362 | BOS,2015-05-10,89,64,94,59,48,34 363 | AUS,2015-06-06,90,91,103,66,69,59 364 | BOS,2015-02-26,22,41,68,17,27,-1 365 | SEA,2015-08-10,84,77,98,61,56,46 366 | SEA,2015-11-09,50,52,64,41,41,27 367 | BOS,2015-05-09,71,64,95,46,48,35 368 | BOS,2015-10-26,52,58,84,43,43,25 369 | SEA,2015-07-19,95,77,95,63,56,48 370 | SEA,2015-01-07,46,46,59,42,37,19 371 | SEA,2015-08-01,92,77,92,60,57,50 372 | BOS,2015-07-11,83,82,100,68,65,54 373 | BOS,2015-03-18,30,46,74,22,32,5 374 | SEA,2015-01-12,52,47,59,40,37,13 375 | AUS,2015-02-24,37,67,86,30,41,24 376 | SEA,2015-10-31,60,55,71,53,43,30 377 | BOS,2015-03-09,48,43,72,26,29,5 378 | SEA,2015-03-01,52,52,62,34,38,23 379 | BOS,2015-09-28,78,68,90,56,53,37 380 | AUS,2015-07-02,89,94,104,69,71,63 381 | AUS,2015-02-06,58,63,79,37,38,21 382 | SEA,2015-03-10,56,53,68,41,39,20 383 | SEA,2015-07-27,74,77,95,54,57,46 384 | BOS,2015-09-13,66,74,93,63,59,45 385 | BOS,2015-08-01,90,81,98,68,66,54 386 | BOS,2015-08-23,71,79,96,67,64,49 387 | BOS,2015-08-18,87,80,95,71,65,53 388 | BOS,2015-12-07,56,44,76,37,31,4 389 | SEA,2015-05-10,67,64,80,52,46,38 390 | SEA,2015-12-04,51,47,57,43,36,21 391 | SEA,2015-11-19,48,50,60,37,39,25 392 | SEA,2015-05-27,76,67,89,53,49,37 393 | SEA,2015-12-31,42,46,56,28,36,13 394 | SEA,2015-01-23,54,48,56,47,37,16 395 | SEA,2015-06-30,87,73,96,59,54,43 396 | BOS,2015-09-20,75,71,97,57,56,42 397 | SEA,2015-04-10,57,57,74,46,42,30 398 | SEA,2015-11-11,52,52,65,43,41,15 399 | SEA,2015-05-29,79,67,85,55,50,35 400 | BOS,2015-10-11,68,63,82,48,48,32 401 | SEA,2015-04-01,55,56,82,42,41,29 402 | BOS,2015-05-19,65,67,90,52,51,38 403 | AUS,2015-10-27,85,79,94,53,52,37 404 | BOS,2015-11-03,73,56,76,47,41,27 405 | BOS,2015-02-07,29,37,56,16,23,-5 406 | BOS,2015-12-18,52,40,61,39,27,-6 407 | AUS,2015-04-09,86,78,95,65,53,33 408 | SEA,2015-08-08,77,77,98,60,56,47 409 | SEA,2015-01-15,46,47,58,34,37,15 410 | AUS,2015-07-25,96,96,103,68,72,67 411 | SEA,2015-09-21,65,69,88,49,51,39 412 | SEA,2015-02-21,54,51,67,42,37,25 413 | BOS,2015-01-11,33,36,62,15,22,-4 414 | SEA,2015-11-07,54,53,62,49,42,31 415 | SEA,2015-09-30,65,66,82,50,49,36 416 | BOS,2015-07-30,91,82,98,74,66,52 417 | SEA,2015-03-17,56,54,65,40,40,27 418 | BOS,2015-03-26,56,48,79,38,34,13 419 | AUS,2015-05-13,71,86,94,63,63,48 420 | AUS,2015-07-16,94,95,106,69,72,62 421 | AUS,2015-12-05,66,65,86,30,39,19 422 | AUS,2015-04-22,79,81,94,66,56,39 423 | BOS,2015-09-01,79,77,96,69,62,50 424 | SEA,2015-04-28,60,61,76,48,44,31 425 | BOS,2015-08-13,82,80,100,66,65,53 426 | AUS,2015-12-14,74,64,83,40,37,22 427 | SEA,2015-10-02,60,65,79,50,49,35 428 | BOS,2015-04-14,65,55,81,52,40,26 429 | AUS,2015-12-23,82,63,82,46,36,6 430 | SEA,2015-02-16,59,50,59,42,37,13 431 | SEA,2015-05-28,82,67,92,54,50,38 432 | BOS,2015-06-18,76,77,94,57,60,47 433 | BOS,2015-01-30,34,36,63,19,22,-5 434 | BOS,2015-01-21,34,35,68,22,22,0 435 | SEA,2015-04-19,70,59,74,47,42,33 436 | AUS,2015-08-16,97,97,104,70,72,59 437 | AUS,2015-11-27,77,67,87,42,41,22 438 | SEA,2015-04-08,63,57,70,43,41,29 439 | BOS,2015-12-26,55,38,61,41,25,-4 440 | AUS,2015-11-14,67,72,88,55,46,25 441 | AUS,2015-03-25,80,74,88,61,49,28 442 | AUS,2015-06-28,90,94,105,73,71,61 443 | AUS,2015-08-30,92,95,104,70,70,62 444 | BOS,2015-12-11,58,43,68,43,30,-2 445 | AUS,2015-11-05,87,75,90,73,49,27 446 | AUS,2015-09-02,93,94,106,65,69,63 447 | SEA,2015-11-22,50,49,58,35,39,14 448 | BOS,2015-02-11,25,38,62,14,24,-4 449 | BOS,2015-08-28,75,78,99,64,63,47 450 | AUS,2015-03-03,59,68,85,41,43,19 451 | AUS,2015-09-17,94,90,105,73,65,50 452 | SEA,2015-07-04,92,74,91,59,54,43 453 | AUS,2015-03-16,75,72,85,47,47,32 454 | BOS,2015-01-16,38,35,64,15,22,-7 455 | SEA,2015-07-15,79,76,92,58,56,49 456 | BOS,2015-01-03,37,37,64,22,23,-1 457 | AUS,2015-05-07,84,85,102,72,61,44 458 | AUS,2015-10-01,93,86,98,65,61,45 459 | SEA,2015-12-17,44,45,57,39,35,11 460 | BOS,2015-07-20,92,82,99,70,66,54 461 | BOS,2015-06-19,86,77,96,63,61,47 462 | AUS,2015-01-03,60,62,86,34,36,17 463 | AUS,2015-12-02,68,66,85,40,40,25 464 | SEA,2015-10-23,55,57,73,45,45,32 465 | AUS,2015-05-21,75,88,97,62,65,46 466 | SEA,2015-04-27,77,61,81,51,44,31 467 | AUS,2015-01-16,63,62,82,27,36,19 468 | AUS,2015-05-30,87,90,100,68,68,53 469 | BOS,2015-06-02,49,72,96,46,55,42 470 | AUS,2015-01-25,72,62,89,32,37,19 471 | AUS,2015-08-21,90,96,104,70,71,66 472 | SEA,2015-02-02,52,49,64,41,37,8 473 | SEA,2015-11-26,49,48,61,30,38,25 474 | BOS,2015-06-28,59,80,97,52,63,52 475 | BOS,2015-11-14,47,52,71,37,39,16 476 | BOS,2015-08-26,85,78,99,69,63,50 477 | BOS,2015-11-27,64,48,72,48,35,8 478 | BOS,2015-12-05,53,45,66,39,32,4 479 | AUS,2015-03-22,77,74,98,52,48,30 480 | BOS,2015-09-26,63,69,95,50,54,34 481 | SEA,2015-03-20,57,54,69,48,40,26 482 | BOS,2015-02-09,25,38,61,14,24,-18 483 | SEA,2015-06-16,73,70,88,52,52,42 484 | BOS,2015-05-22,76,68,93,52,52,39 485 | SEA,2015-03-31,55,56,75,43,41,30 486 | BOS,2015-02-18,29,39,66,17,25,-4 487 | BOS,2015-12-03,52,46,69,41,33,0 488 | SEA,2015-08-26,83,75,91,57,55,46 489 | BOS,2015-05-15,67,66,93,48,50,36 490 | AUS,2015-04-14,77,80,95,55,54,30 491 | BOS,2015-02-23,33,40,65,4,26,-3 492 | AUS,2015-04-05,66,77,89,58,52,36 493 | SEA,2015-08-04,79,77,95,58,57,44 494 | BOS,2015-07-16,68,82,99,59,66,54 495 | BOS,2015-03-15,41,45,72,27,31,12 496 | SEA,2015-05-02,65,62,74,46,45,33 497 | AUS,2015-07-29,99,96,105,71,72,68 498 | AUS,2015-10-04,86,86,95,53,60,45 499 | BOS,2015-03-04,43,42,70,33,28,2 500 | AUS,2015-01-08,37,62,81,21,36,13 501 | SEA,2015-12-25,41,45,60,36,35,24 502 | AUS,2015-02-10,80,64,89,38,38,19 503 | BOS,2015-09-19,79,71,92,62,56,42 504 | AUS,2015-10-15,93,83,93,54,56,38 505 | AUS,2015-09-24,92,88,101,62,63,50 506 | AUS,2015-01-11,49,62,85,35,36,14 507 | AUS,2015-11-19,77,70,87,41,44,26 508 | AUS,2015-02-01,73,63,83,44,37,13 509 | AUS,2015-11-21,65,69,86,38,43,28 510 | SEA,2015-02-18,54,50,62,40,37,20 511 | BOS,2015-06-16,71,76,96,56,60,48 512 | SEA,2015-02-09,56,49,62,47,37,26 513 | AUS,2015-12-18,57,63,81,30,37,25 514 | SEA,2015-11-21,48,50,62,33,39,21 515 | BOS,2015-06-21,76,78,96,60,61,48 516 | SEA,2015-05-17,67,65,90,51,48,39 517 | AUS,2015-06-27,90,94,104,75,71,60 518 | SEA,2015-12-01,50,47,57,39,37,20 519 | SEA,2015-11-16,48,51,68,35,40,21 520 | AUS,2015-09-26,93,88,107,64,62,47 521 | BOS,2015-10-28,65,57,81,42,43,28 522 | SEA,2015-06-22,77,71,92,55,53,45 523 | SEA,2015-01-28,54,48,57,41,37,7 524 | SEA,2015-09-11,81,72,93,59,53,40 525 | SEA,2015-04-15,57,58,74,38,42,33 526 | BOS,2015-05-29,72,70,94,55,54,39 527 | AUS,2015-06-11,92,92,99,70,70,58 528 | AUS,2015-12-27,75,62,80,38,36,20 529 | BOS,2015-05-12,87,65,88,48,49,33 530 | BOS,2015-10-19,48,60,84,31,45,28 531 | AUS,2015-10-20,87,81,92,48,55,36 532 | SEA,2015-08-12,83,77,96,62,56,49 533 | SEA,2015-01-01,42,46,58,26,36,10 534 | SEA,2015-07-20,80,77,100,62,56,50 535 | SEA,2015-01-10,46,47,59,43,37,12 536 | AUS,2015-02-22,56,66,98,37,41,25 537 | SEA,2015-09-26,65,67,78,50,50,39 538 | BOS,2015-07-02,80,80,98,64,64,51 539 | SEA,2015-07-31,94,77,94,64,57,47 540 | SEA,2015-12-27,40,45,58,35,36,20 541 | AUS,2015-02-19,70,66,92,29,40,23 542 | SEA,2015-03-07,62,52,66,39,38,26 543 | AUS,2015-01-18,70,62,83,32,36,19 544 | SEA,2015-11-01,54,55,67,48,43,30 545 | AUS,2015-02-08,75,64,85,50,38,21 546 | SEA,2015-03-12,64,53,68,49,39,25 547 | BOS,2015-09-15,84,73,94,62,58,41 548 | AUS,2015-07-11,93,95,104,65,72,64 549 | BOS,2015-08-03,90,81,98,68,66,55 550 | SEA,2015-10-21,61,58,72,47,45,32 551 | BOS,2015-09-04,72,76,94,62,61,43 552 | AUS,2015-12-13,77,64,81,48,37,12 553 | AUS,2015-06-05,88,91,98,62,69,56 554 | SEA,2015-10-07,61,63,75,57,48,37 555 | AUS,2015-01-29,76,63,85,44,37,17 556 | SEA,2015-12-06,55,46,57,45,36,19 557 | SEA,2015-07-09,84,75,93,58,55,48 558 | SEA,2015-05-25,60,66,84,52,49,37 559 | AUS,2015-08-27,96,95,108,67,70,64 560 | SEA,2015-01-21,45,48,62,31,37,13 561 | BOS,2015-01-24,34,36,62,31,22,-13 562 | SEA,2015-04-12,56,58,79,42,42,33 563 | SEA,2015-01-30,47,49,59,34,37,7 564 | BOS,2015-12-30,37,37,63,25,24,-15 565 | AUS,2015-11-22,56,69,87,31,43,31 566 | SEA,2015-04-07,58,57,78,44,41,29 567 | AUS,2015-08-06,100,97,104,73,72,68 568 | BOS,2015-12-21,53,39,62,32,26,-5 569 | BOS,2015-10-02,54,66,88,50,51,34 570 | BOS,2015-09-24,74,70,90,58,54,39 571 | BOS,2015-02-05,36,37,65,7,23,-10 572 | BOS,2015-05-06,73,63,90,52,47,33 573 | AUS,2015-10-30,75,78,88,66,51,32 574 | BOS,2015-02-14,30,39,59,3,25,-3 575 | BOS,2015-07-18,78,82,98,64,66,54 576 | SEA,2015-07-06,85,74,94,60,55,45 577 | SEA,2015-02-27,50,51,70,44,37,20 578 | BOS,2015-01-13,35,36,63,15,22,-9 579 | SEA,2015-03-08,63,53,67,39,38,28 580 | BOS,2015-01-06,18,36,69,15,23,-10 581 | AUS,2015-05-08,83,85,97,70,61,48 582 | AUS,2015-07-09,93,95,104,68,72,67 583 | SEA,2015-03-19,60,54,63,47,40,27 584 | BOS,2015-03-24,35,48,72,20,33,6 585 | AUS,2015-05-11,77,86,98,67,62,44 586 | AUS,2015-07-18,96,95,103,74,72,67 587 | BOS,2015-08-08,76,81,96,61,66,52 588 | AUS,2015-12-07,69,65,81,35,39,17 589 | AUS,2015-04-24,84,82,94,68,57,41 590 | AUS,2015-05-26,88,89,96,64,67,58 591 | BOS,2015-04-07,42,53,90,36,38,16 592 | BOS,2015-08-11,72,80,99,64,65,54 593 | SEA,2015-05-19,71,65,88,53,48,38 594 | BOS,2015-04-12,68,54,85,39,40,20 595 | AUS,2015-01-22,53,62,83,40,37,20 596 | AUS,2015-12-21,74,63,81,50,36,22 597 | SEA,2015-02-14,58,50,63,44,37,22 598 | SEA,2015-10-11,64,61,83,51,47,37 599 | BOS,2015-04-29,54,61,85,48,45,31 600 | SEA,2015-02-05,56,49,62,47,37,14 601 | AUS,2015-06-21,87,93,102,71,71,58 602 | BOS,2015-01-23,37,36,68,24,22,-6 603 | SEA,2015-06-06,85,68,90,56,51,42 604 | AUS,2015-08-10,103,97,107,71,72,63 605 | SEA,2015-10-08,66,63,80,56,47,39 606 | AUS,2015-11-25,77,68,85,59,42,23 607 | BOS,2015-04-23,51,58,86,38,43,29 608 | AUS,2015-08-09,101,97,106,74,72,66 609 | AUS,2015-11-12,71,73,87,56,47,26 610 | AUS,2015-03-27,80,75,96,49,50,30 611 | BOS,2015-04-24,50,59,84,37,43,28 612 | BOS,2015-12-13,53,42,63,46,29,4 613 | SEA,2015-08-30,68,75,88,55,55,45 614 | SEA,2015-06-13,75,69,94,49,52,42 615 | AUS,2015-09-04,96,93,110,73,69,58 616 | BOS,2015-02-13,22,38,66,7,24,-3 617 | BOS,2015-11-05,76,55,79,50,41,17 618 | SEA,2015-08-21,72,76,88,58,56,46 619 | AUS,2015-03-01,43,68,88,35,43,25 620 | AUS,2015-09-15,92,91,99,69,66,56 621 | AUS,2015-04-11,70,79,92,59,53,42 622 | SEA,2015-07-02,93,73,92,64,54,43 623 | SEA,2015-09-28,70,67,84,49,50,38 624 | AUS,2015-03-10,64,70,93,47,45,28 625 | BOS,2015-01-18,51,35,63,20,22,-3 626 | SEA,2015-07-17,82,76,96,57,56,48 627 | BOS,2015-08-24,75,79,96,68,64,50 628 | BOS,2015-01-01,33,37,70,22,24,-3 629 | AUS,2015-05-01,83,83,95,48,59,42 630 | BOS,2015-03-12,43,44,71,25,30,7 631 | SEA,2015-10-19,63,58,72,54,45,28 632 | SEA,2015-12-15,44,45,63,34,35,19 633 | AUS,2015-05-18,88,87,95,71,64,51 634 | AUS,2015-01-05,51,62,78,24,36,14 635 | SEA,2015-06-27,92,72,92,63,53,45 636 | AUS,2015-10-10,89,84,93,65,58,43 637 | SEA,2015-04-21,63,59,76,44,43,29 638 | AUS,2015-01-14,41,62,79,38,36,11 639 | SEA,2015-05-30,73,67,87,50,50,36 640 | SEA,2015-06-19,75,70,92,56,52,43 641 | BOS,2015-06-11,88,75,98,64,58,46 642 | BOS,2015-10-09,72,64,87,52,49,32 643 | SEA,2015-11-24,44,49,59,37,38,14 644 | SEA,2015-11-06,60,53,65,47,42,30 645 | BOS,2015-11-16,61,51,76,39,38,12 646 | SEA,2015-11-13,56,51,62,49,41,14 647 | AUS,2015-09-30,93,87,97,66,61,46 648 | BOS,2015-11-21,48,50,74,38,37,10 649 | AUS,2015-08-25,99,95,104,71,71,61 650 | SEA,2015-09-05,69,74,88,48,54,44 651 | BOS,2015-11-30,38,47,69,28,34,-2 652 | SEA,2015-03-22,53,55,68,43,40,28 653 | SEA,2015-06-14,82,70,86,53,52,43 654 | BOS,2015-05-24,83,69,93,51,52,36 655 | AUS,2015-06-16,81,92,102,72,70,57 656 | SEA,2015-04-25,56,60,77,42,43,34 657 | BOS,2015-12-01,45,46,71,32,33,0 658 | SEA,2015-08-28,74,75,95,60,55,46 659 | BOS,2015-05-17,67,66,92,52,50,39 660 | AUS,2015-04-16,79,80,95,63,55,32 661 | BOS,2015-02-25,35,41,65,14,27,-6 662 | AUS,2015-09-25,92,88,108,67,63,50 663 | AUS,2015-04-03,85,77,89,66,51,35 664 | BOS,2015-10-27,54,58,85,38,43,25 665 | SEA,2015-08-02,87,77,89,61,57,46 666 | BOS,2015-01-08,19,36,67,-1,22,-6 667 | BOS,2015-07-14,82,82,100,65,66,55 668 | SEA,2015-07-25,70,77,94,58,56,47 669 | SEA,2015-05-04,63,62,85,45,45,33 670 | BOS,2015-07-05,83,81,101,61,65,52 671 | BOS,2015-03-06,24,43,70,9,28,-8 672 | AUS,2015-02-16,66,65,83,37,40,20 673 | AUS,2015-05-28,88,89,100,73,67,56 674 | BOS,2015-03-31,50,50,89,37,36,15 675 | AUS,2015-02-03,43,63,80,38,38,16 676 | BOS,2015-03-28,40,49,85,30,35,11 677 | BOS,2015-08-04,89,81,96,66,66,52 678 | BOS,2015-08-27,82,78,100,65,63,47 679 | AUS,2015-04-28,64,83,93,51,58,43 680 | AUS,2015-09-20,94,89,103,62,64,52 681 | BOS,2015-06-23,88,78,96,60,62,47 682 | SEA,2015-05-15,68,65,85,49,47,38 683 | SEA,2015-06-21,78,71,89,57,53,45 684 | SEA,2015-11-14,49,51,65,43,40,9 685 | SEA,2015-05-22,62,66,86,53,49,37 686 | SEA,2015-09-02,67,74,98,52,55,41 687 | SEA,2015-01-26,61,48,61,43,37,9 688 | AUS,2015-06-23,91,93,103,71,71,63 689 | SEA,2015-09-17,65,70,85,55,52,42 690 | SEA,2015-04-17,66,59,74,43,42,33 691 | BOS,2015-10-23,59,59,84,40,44,29 692 | BOS,2015-10-14,68,62,81,51,47,31 693 | SEA,2015-04-02,56,56,76,42,41,30 694 | BOS,2015-10-29,75,57,79,57,43,26 695 | BOS,2015-12-08,44,44,65,37,31,-4 696 | BOS,2015-10-05,61,65,87,48,50,28 697 | AUS,2015-06-02,88,90,100,64,68,56 698 | AUS,2015-10-22,85,81,92,70,54,41 699 | BOS,2015-12-20,41,40,63,31,27,-11 700 | SEA,2015-08-14,65,77,95,59,56,44 701 | AUS,2015-09-08,97,92,103,74,68,56 702 | SEA,2015-01-03,41,46,58,35,36,6 703 | SEA,2015-07-22,75,77,96,57,56,49 704 | SEA,2015-01-16,53,47,55,42,37,13 705 | AUS,2015-07-20,96,96,103,68,72,66 706 | AUS,2015-02-20,73,66,94,52,40,29 707 | SEA,2015-09-24,72,68,89,52,50,38 708 | SEA,2015-02-22,53,51,64,38,37,30 709 | AUS,2015-06-18,88,93,105,72,70,63 710 | SEA,2015-03-05,56,52,66,37,38,13 711 | AUS,2015-06-25,91,93,107,68,71,62 712 | AUS,2015-07-06,92,94,103,76,71,63 713 | SEA,2015-03-14,57,53,64,49,39,26 714 | BOS,2015-03-23,33,47,78,18,33,6 715 | BOS,2015-09-17,89,72,91,64,57,44 716 | AUS,2015-07-13,95,95,104,72,72,68 717 | AUS,2015-10-17,87,82,96,54,56,35 718 | BOS,2015-09-02,91,77,100,66,62,49 719 | AUS,2015-12-11,81,64,83,47,38,24 720 | SEA,2015-10-05,74,64,82,49,48,38 721 | SEA,2015-12-08,60,46,59,50,36,13 722 | SEA,2015-10-14,59,60,80,50,46,36 723 | AUS,2015-11-07,63,75,88,57,49,30 724 | AUS,2015-06-09,94,92,99,68,69,64 725 | BOS,2015-01-26,29,36,72,11,22,0 726 | SEA,2015-06-01,61,67,94,53,50,40 727 | AUS,2015-08-15,97,97,104,74,72,62 728 | AUS,2015-11-20,77,70,85,42,44,30 729 | SEA,2015-04-05,62,57,73,37,41,29 730 | AUS,2015-08-04,98,97,105,71,72,66 731 | BOS,2015-12-23,56,39,67,45,26,-12 732 | AUS,2015-11-17,76,71,89,42,45,26 733 | AUS,2015-03-28,81,75,97,39,50,28 734 | BOS,2015-02-03,22,37,59,6,23,-5 735 | BOS,2015-12-14,58,42,66,46,29,0 736 | BOS,2015-05-04,84,62,90,49,46,33 737 | AUS,2015-03-31,79,76,89,66,51,33 738 | AUS,2015-09-01,93,94,107,69,69,63 739 | SEA,2015-01-08,46,46,54,35,37,18 740 | BOS,2015-02-16,19,39,60,-3,25,-9 741 | AUS,2015-03-06,54,69,98,21,44,21 742 | AUS,2015-09-18,95,90,99,72,65,48 743 | SEA,2015-01-19,50,48,62,43,37,18 744 | SEA,2015-07-07,81,74,90,57,55,47 745 | SEA,2015-02-25,50,51,64,44,37,20 746 | BOS,2015-01-15,31,35,66,25,22,-12 747 | AUS,2015-07-30,100,96,105,69,72,67 748 | BOS,2015-01-04,52,36,64,35,23,-4 749 | SEA,2015-05-08,75,63,84,47,46,36 750 | SEA,2015-12-18,48,45,54,40,35,18 751 | BOS,2015-07-25,69,82,96,62,66,53 752 | AUS,2015-05-17,83,87,93,65,64,50 753 | AUS,2015-12-01,57,66,84,47,40,23 754 | AUS,2015-04-26,84,82,96,69,58,44 755 | AUS,2015-05-24,82,89,99,62,66,58 756 | SEA,2015-04-24,54,60,76,43,43,30 757 | BOS,2015-08-17,91,80,97,71,65,51 758 | BOS,2015-12-02,51,46,65,39,33,4 759 | BOS,2015-04-10,55,54,85,36,39,26 760 | AUS,2015-01-20,80,62,82,33,36,15 761 | BOS,2015-07-08,88,81,99,69,65,55 762 | SEA,2015-02-12,62,50,66,49,37,21 763 | SEA,2015-10-13,62,61,75,49,46,35 764 | AUS,2015-01-31,62,63,82,43,37,-5 765 | AUS,2015-09-22,94,89,103,65,63,47 766 | SEA,2015-02-07,54,49,66,49,37,20 767 | BOS,2015-11-11,50,53,69,46,39,24 768 | SEA,2015-06-23,79,71,92,53,53,40 769 | AUS,2015-08-31,96,94,106,67,70,62 770 | SEA,2015-07-08,86,75,95,58,55,47 771 | SEA,2015-09-18,67,70,85,55,52,41 772 | BOS,2015-04-21,65,58,88,46,42,21 773 | SEA,2015-10-17,67,59,74,53,46,34 774 | AUS,2015-11-10,75,73,90,54,48,31 775 | AUS,2015-03-21,61,73,90,56,48,26 776 | AUS,2015-11-01,75,77,88,59,51,36 777 | SEA,2015-06-11,76,69,84,52,51,40 778 | AUS,2015-09-06,98,93,101,72,68,52 779 | BOS,2015-12-24,69,39,69,48,26,0 780 | SEA,2015-08-23,82,76,91,57,56,46 781 | AUS,2015-09-13,90,91,102,59,66,59 782 | AUS,2015-04-13,84,79,94,62,54,31 783 | SEA,2015-08-18,86,76,88,59,56,47 784 | AUS,2015-03-12,70,71,89,52,46,19 785 | AUS,2015-09-28,87,87,105,65,62,46 786 | AUS,2015-04-06,84,78,91,63,52,38 787 | SEA,2015-07-11,72,75,98,62,55,49 788 | AUS,2016-01-01,50,62,84,44,36,24 789 | BOS,2015-11-01,62,56,77,48,42,26 790 | AUS,2015-05-03,83,84,94,48,60,42 791 | BOS,2015-03-10,48,44,71,31,29,6 792 | SEA,2015-05-01,65,62,85,48,44,28 793 | SEA,2015-12-13,46,46,59,43,35,19 794 | AUS,2015-10-07,91,85,96,58,59,42 795 | BOS,2015-03-01,30,42,63,12,27,-1 796 | AUS,2015-01-07,51,62,80,30,36,12 797 | SEA,2015-12-20,46,45,57,40,35,14 798 | AUS,2015-02-13,67,64,83,35,39,23 799 | BOS,2015-08-20,78,79,98,68,64,52 800 | SEA,2015-04-23,54,60,72,44,43,31 801 | AUS,2015-01-12,47,62,80,42,36,12 802 | BOS,2015-07-26,79,82,96,63,66,56 803 | BOS,2015-06-06,67,73,100,52,57,45 804 | BOS,2015-06-13,85,75,98,64,59,46 805 | BOS,2015-10-31,52,57,81,38,42,27 806 | BOS,2015-11-09,60,54,74,41,40,24 807 | AUS,2015-10-09,87,84,93,67,58,39 808 | BOS,2015-06-24,84,79,95,67,62,46 809 | BOS,2015-11-18,48,51,73,31,37,14 810 | BOS,2015-04-25,56,59,83,36,44,27 811 | BOS,2015-11-23,42,49,77,30,36,11 812 | SEA,2015-09-07,70,73,94,56,54,45 813 | BOS,2015-08-31,90,77,97,71,62,47 814 | SEA,2015-09-12,80,72,85,58,53,44 815 | SEA,2015-03-24,55,55,68,43,40,30 816 | AUS,2015-11-08,69,74,90,53,48,33 817 | BOS,2015-05-26,87,69,97,64,53,39 818 | AUS,2015-06-14,88,92,109,71,70,60 819 | SEA,2015-06-05,80,68,92,55,51,41 820 | AUS,2015-03-08,53,70,88,48,44,26 821 | BOS,2015-05-11,80,64,91,50,48,33 822 | AUS,2015-04-18,76,80,99,56,55,35 823 | BOS,2015-02-27,27,41,64,15,27,-4 824 | SEA,2015-08-11,86,77,96,62,56,46 825 | AUS,2015-03-19,80,73,90,57,48,29 826 | BOS,2015-05-08,71,64,87,46,48,34 827 | AUS,2015-04-01,81,76,92,66,51,36 828 | SEA,2015-07-18,92,76,93,64,56,47 829 | SEA,2015-01-04,51,46,61,38,36,14 830 | SEA,2015-04-29,61,61,80,45,44,31 831 | BOS,2015-07-12,89,82,97,72,65,54 832 | BOS,2015-03-19,34,46,74,19,32,5 833 | SEA,2015-05-06,62,63,87,45,45,36 834 | AUS,2015-02-27,37,67,89,31,42,13 835 | BOS,2015-07-07,84,81,99,65,65,52 836 | BOS,2015-03-08,42,43,68,24,29,7 837 | AUS,2015-02-14,77,65,84,40,39,24 838 | BOS,2015-10-08,62,64,88,51,49,35 839 | SEA,2015-03-02,52,52,64,40,38,22 840 | AUS,2015-07-03,90,94,102,73,71,60 841 | AUS,2015-02-05,52,63,83,39,38,17 842 | SEA,2015-11-05,53,53,65,46,42,31 843 | BOS,2015-09-23,68,70,96,54,55,35 844 | SEA,2015-07-26,72,77,92,57,56,49 845 | BOS,2015-09-10,77,74,95,64,60,41 846 | BOS,2015-08-06,82,81,97,65,66,52 847 | SEA,2015-08-06,77,77,91,59,57,50 848 | BOS,2015-09-09,93,75,93,72,60,45 849 | SEA,2015-10-01,70,65,89,49,49,35 850 | SEA,2015-05-13,54,64,84,50,47,37 851 | BOS,2015-06-08,76,74,97,53,57,42 852 | SEA,2015-12-05,50,47,55,43,36,23 853 | SEA,2015-05-20,74,66,92,51,48,40 854 | SEA,2015-12-30,42,45,56,30,36,6 855 | BOS,2015-11-28,60,47,74,41,34,11 856 | SEA,2015-01-24,58,48,58,52,37,10 857 | SEA,2015-07-29,90,77,103,58,57,45 858 | BOS,2015-01-29,32,36,65,10,22,-6 859 | SEA,2015-06-25,87,72,88,60,53,45 860 | SEA,2015-09-15,64,71,93,50,52,42 861 | SEA,2015-04-11,53,58,80,42,42,35 862 | BOS,2015-10-12,76,63,90,51,48,31 863 | AUS,2015-08-03,97,97,105,68,72,65 864 | BOS,2015-10-07,72,65,90,52,49,30 865 | AUS,2015-10-24,77,80,93,60,53,37 866 | SEA,2015-08-16,77,77,98,58,56,50 867 | BOS,2015-12-19,40,40,64,33,27,-10 868 | BOS,2015-05-03,67,62,92,45,46,31 869 | AUS,2015-04-08,78,78,92,68,53,34 870 | SEA,2015-01-14,43,47,59,33,37,8 871 | AUS,2015-07-22,96,96,102,75,72,66 872 | SEA,2015-09-22,66,69,92,46,51,37 873 | SEA,2015-02-20,52,50,62,45,37,25 874 | BOS,2015-07-31,89,81,98,73,66,54 875 | BOS,2015-09-30,78,67,87,57,52,36 876 | AUS,2015-07-04,91,94,103,73,71,63 877 | SEA,2015-03-16,57,54,66,43,39,29 878 | BOS,2015-03-21,41,47,83,28,32,7 879 | AUS,2015-05-12,68,86,97,66,63,48 880 | AUS,2015-07-15,95,95,105,70,72,66 881 | AUS,2015-04-21,79,81,92,47,56,44 882 | BOS,2015-08-22,73,79,93,67,64,47 883 | BOS,2015-04-02,61,51,75,30,36,19 884 | BOS,2015-08-12,85,80,101,68,65,53 885 | AUS,2015-12-17,66,63,85,33,37,21 886 | BOS,2015-07-28,86,82,99,70,66,54 887 | BOS,2015-04-17,65,56,93,47,41,26 888 | AUS,2015-12-24,73,63,82,44,36,14 889 | SEA,2015-02-17,61,50,58,40,37,23 890 | AUS,2015-04-30,80,83,93,44,59,44 891 | BOS,2015-10-25,63,58,80,48,44,26 892 | BOS,2015-01-31,21,36,62,11,23,-8 893 | BOS,2015-01-20,39,35,60,27,22,-3 894 | BOS,2015-09-21,66,71,94,53,56,40 895 | SEA,2015-06-03,68,68,89,53,50,42 896 | AUS,2015-08-17,95,96,105,69,72,61 897 | AUS,2015-11-26,75,68,85,69,42,27 898 | BOS,2015-04-26,56,59,87,43,44,28 899 | BOS,2015-12-25,62,38,65,49,25,-8 900 | AUS,2015-11-15,73,71,89,51,46,28 901 | SEA,2015-06-29,84,73,93,63,54,45 902 | SEA,2015-03-28,60,56,73,49,41,26 903 | BOS,2015-02-01,30,36,66,12,23,-7 904 | BOS,2015-12-16,48,41,64,38,28,1 905 | AUS,2015-11-04,80,76,89,55,50,26 906 | AUS,2015-09-03,92,94,107,68,69,61 907 | BOS,2015-02-10,30,38,60,14,24,-5 908 | AUS,2015-03-04,70,69,91,35,43,17 909 | AUS,2015-09-16,93,90,99,73,65,54 910 | SEA,2015-07-05,91,74,91,62,55,47 911 | BOS,2015-06-05,59,73,96,50,56,45 912 | AUS,2015-03-15,68,72,87,44,46,30 913 | BOS,2015-01-17,22,35,59,9,22,-4 914 | SEA,2015-07-14,82,76,91,61,56,50 915 | BOS,2015-01-02,41,37,66,31,23,-3 916 | AUS,2015-05-04,84,84,98,59,60,37 917 | SEA,2015-12-16,43,45,57,37,35,10 918 | BOS,2015-07-23,82,82,100,67,66,54 919 | AUS,2015-05-15,76,87,96,64,64,42 920 | AUS,2015-11-24,66,68,87,44,42,26 921 | AUS,2015-12-03,63,66,86,34,40,27 922 | AUS,2015-05-22,78,88,97,62,66,47 923 | SEA,2015-04-26,60,61,78,40,44,32 924 | BOS,2015-08-15,91,80,98,68,65,52 925 | SEA,2015-06-08,87,69,87,58,51,42 926 | AUS,2015-01-26,74,62,86,34,37,24 927 | SEA,2015-02-10,55,49,65,47,37,24 928 | SEA,2015-10-03,67,65,80,52,48,39 929 | SEA,2015-02-01,49,49,63,40,37,1 930 | BOS,2015-06-29,75,80,99,53,63,49 931 | BOS,2015-11-13,59,52,69,46,39,14 932 | AUS,2015-11-30,55,66,83,45,40,20 933 | BOS,2015-11-24,44,49,72,29,36,11 934 | AUS,2015-11-29,47,67,85,43,41,20 935 | SEA,2015-09-08,73,73,85,56,54,43 936 | AUS,2015-03-23,79,74,90,46,49,30 937 | BOS,2015-05-30,88,71,96,58,54,35 938 | SEA,2015-03-21,56,55,69,47,40,29 939 | AUS,2015-09-27,93,87,105,63,62,45 940 | AUS,2015-11-03,82,76,87,58,50,26 941 | SEA,2015-06-17,77,70,91,52,52,43 942 | BOS,2015-05-21,67,68,93,45,51,41 943 | SEA,2015-03-30,64,56,72,51,41,27 944 | SEA,2015-12-12,48,46,60,42,35,22 945 | SEA,2015-08-25,78,75,87,54,55,45 946 | AUS,2015-09-11,91,92,102,72,67,56 947 | AUS,2015-04-15,80,80,92,49,55,34 948 | BOS,2015-02-20,20,40,68,5,26,0 949 | AUS,2015-04-04,68,77,92,56,52,36 950 | SEA,2015-07-13,78,76,93,61,56,50 951 | SEA,2015-08-07,83,77,95,60,56,48 952 | BOS,2015-12-10,58,43,64,43,30,-1 953 | BOS,2015-07-17,75,82,98,60,66,54 954 | BOS,2015-03-16,45,45,71,26,31,10 955 | SEA,2015-05-03,69,62,77,46,45,35 956 | SEA,2015-12-11,49,46,58,40,35,21 957 | AUS,2015-11-06,75,75,89,61,49,31 958 | AUS,2015-10-05,85,85,96,62,59,43 959 | BOS,2015-03-03,33,42,61,20,28,4 960 | AUS,2015-01-09,39,62,84,34,36,10 961 | AUS,2015-12-08,75,65,83,33,38,23 962 | AUS,2015-02-11,76,64,81,37,39,16 963 | AUS,2015-10-14,95,83,95,52,57,43 964 | AUS,2015-01-10,37,62,86,32,36,13 965 | BOS,2015-08-30,88,77,99,69,63,48 966 | SEA,2015-10-26,54,56,65,50,44,29 967 | BOS,2015-04-19,50,57,87,41,42,22 968 | SEA,2015-02-19,51,50,67,47,37,22 969 | BOS,2015-06-15,63,76,98,54,60,42 970 | SEA,2015-02-08,59,49,68,47,37,22 971 | SEA,2015-11-20,47,50,64,33,39,25 972 | BOS,2015-06-26,72,79,100,59,63,51 973 | SEA,2015-05-16,60,65,84,52,47,40 974 | SEA,2015-11-17,56,51,61,44,40,23 975 | SEA,2015-10-25,67,57,67,48,44,31 976 | SEA,2015-12-28,41,45,56,35,36,12 977 | SEA,2015-09-01,67,74,91,57,55,46 978 | SEA,2015-01-29,54,49,60,38,37,6 979 | SEA,2015-09-10,77,72,85,58,53,39 980 | SEA,2015-03-26,69,55,70,50,40,32 981 | AUS,2015-10-18,84,82,93,47,55,42 982 | BOS,2015-05-28,86,70,92,64,54,43 983 | AUS,2015-06-12,93,92,101,72,70,57 984 | BOS,2015-09-06,82,76,94,61,61,43 985 | BOS,2015-12-29,40,37,73,24,24,-17 986 | BOS,2015-05-13,69,65,87,53,49,38 987 | AUS,2015-06-07,89,91,98,64,69,59 988 | AUS,2015-10-21,88,81,92,71,54,36 989 | SEA,2015-08-13,83,77,92,60,56,44 990 | AUS,2015-08-20,82,96,105,70,71,67 991 | SEA,2015-01-06,54,46,57,43,37,14 992 | BOS,2015-07-10,77,81,101,60,65,53 993 | SEA,2015-07-21,75,77,97,59,56,48 994 | SEA,2015-01-13,49,47,56,37,37,11 995 | AUS,2015-02-25,62,67,89,33,42,23 996 | SEA,2015-09-27,64,67,89,45,50,35 997 | BOS,2015-07-01,82,80,98,62,64,50 998 | SEA,2015-07-30,94,77,96,63,57,48 999 | BOS,2015-09-18,85,72,90,65,57,43 1000 | BOS,2015-09-29,84,68,88,65,52,34 1001 | AUS,2015-07-01,89,94,103,66,71,66 1002 | AUS,2015-02-07,68,64,84,38,38,19 1003 | SEA,2015-03-11,58,53,65,48,39,23 1004 | BOS,2015-09-12,71,74,93,60,59,43 1005 | AUS,2015-07-10,93,95,103,66,72,65 1006 | BOS,2015-09-07,93,75,102,66,60,43 1007 | BOS,2015-08-19,88,79,92,71,65,51 1008 | AUS,2015-12-12,75,64,88,71,37,22 1009 | SEA,2015-05-11,57,64,87,50,46,35 1010 | AUS,2015-06-24,91,93,104,70,71,65 1011 | SEA,2015-12-07,52,46,58,47,36,18 1012 | SEA,2015-11-18,48,50,59,38,40,29 1013 | SEA,2015-05-26,71,67,89,53,49,40 1014 | SEA,2015-06-04,73,68,91,53,50,41 1015 | SEA,2015-01-22,49,48,60,43,37,19 1016 | SEA,2015-04-13,53,58,75,39,42,33 1017 | AUS,2015-08-18,98,96,104,73,71,64 1018 | BOS,2015-12-31,47,37,65,33,24,-8 1019 | BOS,2015-10-10,61,63,87,48,48,32 1020 | SEA,2015-04-06,57,57,78,44,41,31 1021 | AUS,2015-12-26,78,62,81,73,36,18 1022 | AUS,2015-08-01,97,97,105,68,72,65 1023 | SEA,2015-10-27,61,56,67,46,44,31 1024 | BOS,2015-05-18,58,67,91,49,50,37 1025 | BOS,2015-10-18,47,61,82,33,46,31 1026 | AUS,2015-10-26,79,79,98,58,53,33 1027 | BOS,2015-02-06,21,37,57,5,23,-6 1028 | BOS,2015-05-01,49,61,89,39,46,33 1029 | SEA,2015-08-09,83,77,99,59,56,47 1030 | BOS,2015-08-29,82,78,96,63,63,47 1031 | BOS,2015-07-19,90,82,99,71,66,54 1032 | SEA,2015-11-04,50,54,74,38,42,30 1033 | AUS,2015-07-24,98,96,103,73,72,68 1034 | BOS,2015-07-06,80,81,101,68,65,50 1035 | SEA,2015-09-20,73,69,88,54,51,40 1036 | SEA,2015-02-26,53,51,67,46,37,18 1037 | BOS,2015-01-10,24,36,56,17,22,-3 1038 | SEA,2015-03-09,58,53,67,40,39,28 1039 | AUS,2015-10-12,97,84,97,70,57,41 1040 | AUS,2015-05-09,86,85,98,69,62,47 1041 | SEA,2015-03-18,60,54,70,45,40,29 1042 | BOS,2015-03-27,44,49,79,37,34,16 1043 | AUS,2015-05-10,87,85,94,75,62,49 1044 | AUS,2015-07-17,96,95,105,75,72,66 1045 | BOS,2015-08-09,73,81,99,62,66,53 1046 | AUS,2015-12-04,63,65,84,32,39,23 1047 | SEA,2015-10-20,64,58,69,51,45,29 1048 | AUS,2015-04-23,83,82,97,67,57,42 1049 | AUS,2015-05-27,87,89,100,67,67,59 1050 | BOS,2015-04-04,52,51,77,36,37,17 1051 | BOS,2015-08-10,83,81,101,63,65,53 1052 | AUS,2015-12-15,76,63,81,46,37,19 1053 | SEA,2015-05-18,78,65,89,54,48,37 1054 | BOS,2015-04-15,67,55,82,50,41,28 1055 | AUS,2015-01-23,50,62,89,34,37,18 1056 | AUS,2015-12-22,78,63,80,39,36,16 1057 | SEA,2015-02-15,54,50,65,39,37,13 1058 | SEA,2015-10-10,70,62,77,56,47,40 1059 | SEA,2015-06-09,84,69,96,58,51,44 1060 | SEA,2015-02-04,51,49,63,40,37,7 1061 | BOS,2015-01-22,37,36,66,29,22,-3 1062 | SEA,2015-12-03,60,47,60,46,36,27 1063 | SEA,2015-04-18,66,59,77,47,42,34 1064 | AUS,2015-08-11,103,97,105,68,72,67 1065 | SEA,2015-10-22,61,57,70,48,45,34 1066 | SEA,2015-04-09,63,57,73,43,41,34 1067 | AUS,2015-08-08,100,97,108,74,72,68 1068 | BOS,2015-12-27,50,38,61,38,25,0 1069 | AUS,2015-11-13,65,72,90,57,46,28 1070 | AUS,2015-03-24,80,74,88,51,49,30 1071 | BOS,2015-09-25,66,69,89,55,54,38 1072 | AUS,2015-06-29,92,94,107,71,71,63 1073 | SEA,2015-11-08,52,53,64,46,42,27 1074 | BOS,2015-08-21,83,79,97,67,64,52 1075 | SEA,2015-08-31,66,74,92,61,55,46 1076 | AUS,2015-09-05,99,93,112,74,68,55 1077 | BOS,2015-02-12,30,38,58,16,24,-11 1078 | AUS,2015-12-28,48,62,77,35,36,25 1079 | SEA,2015-08-20,73,76,87,58,56,47 1080 | AUS,2015-03-02,45,68,86,38,43,19 1081 | AUS,2015-09-14,89,91,101,58,66,54 1082 | SEA,2015-07-03,92,74,92,64,54,44 1083 | SEA,2015-09-29,71,66,81,48,49,37 1084 | AUS,2015-03-17,76,72,89,63,47,30 1085 | BOS,2015-01-19,46,35,61,32,22,-6 1086 | SEA,2015-07-16,79,76,98,59,56,50 1087 | AUS,2015-05-06,87,85,98,71,61,45 1088 | BOS,2015-03-13,40,44,73,24,30,3 1089 | SEA,2015-12-14,46,45,59,35,35,22 1090 | BOS,2015-07-21,81,82,102,70,66,52 1091 | AUS,2015-10-02,87,86,97,57,60,47 1092 | AUS,2015-01-02,42,62,81,38,36,16 1093 | SEA,2015-12-23,41,45,58,37,35,9 1094 | AUS,2015-05-20,88,88,99,70,65,45 1095 | SEA,2015-04-20,73,59,74,46,43,30 1096 | AUS,2015-01-17,71,62,80,33,36,21 1097 | AUS,2015-05-31,84,90,100,64,68,51 1098 | BOS,2015-06-01,49,71,96,47,55,41 1099 | AUS,2015-01-24,62,62,82,26,37,14 1100 | -------------------------------------------------------------------------------- /bokeh-app/main.py: -------------------------------------------------------------------------------- 1 | from os.path import join, dirname 2 | import datetime 3 | 4 | import pandas as pd 5 | from scipy.signal import savgol_filter 6 | 7 | from bokeh.io import curdoc 8 | from bokeh.layouts import row, column 9 | from bokeh.models import ColumnDataSource, DataRange1d, Select 10 | from bokeh.palettes import Blues4 11 | from bokeh.plotting import figure 12 | 13 | STATISTICS = ['record_min_temp', 'actual_min_temp', 'average_min_temp', 'average_max_temp', 'actual_max_temp', 'record_max_temp'] 14 | 15 | def get_dataset(src, name, distribution): 16 | df = src[src.airport == name].copy() 17 | del df['airport'] 18 | df['date'] = pd.to_datetime(df.date) 19 | # timedelta here instead of pd.DateOffset to avoid pandas bug < 0.18 (Pandas issue #11925) 20 | df['left'] = df.date - datetime.timedelta(days=0.5) 21 | df['right'] = df.date + datetime.timedelta(days=0.5) 22 | df = df.set_index(['date']) 23 | df.sort_index(inplace=True) 24 | if distribution == 'Smoothed': 25 | window, order = 51, 3 26 | for key in STATISTICS: 27 | df[key] = savgol_filter(df[key], window, order) 28 | 29 | return ColumnDataSource(data=df) 30 | 31 | def make_plot(source, title): 32 | plot = figure(x_axis_type="datetime", plot_width=800, tools="", toolbar_location=None) 33 | plot.title.text = title 34 | 35 | plot.quad(top='record_max_temp', bottom='record_min_temp', left='left', right='right', 36 | color=Blues4[2], source=source, legend="Record") 37 | plot.quad(top='average_max_temp', bottom='average_min_temp', left='left', right='right', 38 | color=Blues4[1], source=source, legend="Average") 39 | plot.quad(top='actual_max_temp', bottom='actual_min_temp', left='left', right='right', 40 | color=Blues4[0], alpha=0.5, line_color="black", source=source, legend="Actual") 41 | 42 | # fixed attributes 43 | plot.xaxis.axis_label = None 44 | plot.yaxis.axis_label = "Temperature (F)" 45 | plot.axis.axis_label_text_font_style = "bold" 46 | plot.x_range = DataRange1d(range_padding=0.0) 47 | plot.grid.grid_line_alpha = 0.3 48 | 49 | return plot 50 | 51 | def update_plot(attrname, old, new): 52 | city = city_select.value 53 | plot.title.text = "Weather data for " + cities[city]['title'] 54 | 55 | src = get_dataset(df, cities[city]['airport'], distribution_select.value) 56 | source.data.update(src.data) 57 | 58 | city = 'Austin' 59 | distribution = 'Discrete' 60 | 61 | cities = { 62 | 'Austin': { 63 | 'airport': 'AUS', 64 | 'title': 'Austin, TX', 65 | }, 66 | 'Boston': { 67 | 'airport': 'BOS', 68 | 'title': 'Boston, MA', 69 | }, 70 | 'Seattle': { 71 | 'airport': 'SEA', 72 | 'title': 'Seattle, WA', 73 | } 74 | } 75 | 76 | city_select = Select(value=city, title='City', options=sorted(cities.keys())) 77 | distribution_select = Select(value=distribution, title='Distribution', options=['Discrete', 'Smoothed']) 78 | 79 | df = pd.read_csv(join(dirname(__file__), 'data/2015_weather.csv')) 80 | source = get_dataset(df, cities[city]['airport'], distribution) 81 | plot = make_plot(source, "Weather data for " + cities[city]['title']) 82 | 83 | city_select.on_change('value', update_plot) 84 | distribution_select.on_change('value', update_plot) 85 | 86 | controls = column(city_select, distribution_select) 87 | 88 | curdoc().add_root(row(plot, controls)) 89 | curdoc().title = "Weather" 90 | -------------------------------------------------------------------------------- /bokehserverextension.py: -------------------------------------------------------------------------------- 1 | from subprocess import Popen 2 | 3 | 4 | def load_jupyter_server_extension(nbapp): 5 | """serve the bokeh-app directory with bokeh server""" 6 | Popen(["bokeh", "serve", "bokeh-app", "--allow-websocket-origin=*"]) 7 | -------------------------------------------------------------------------------- /environment.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - bokeh 3 | - pandas 4 | - scipy 5 | - pip 6 | - pip: 7 | - jupyter-server-proxy 8 | -------------------------------------------------------------------------------- /postBuild: -------------------------------------------------------------------------------- 1 | # enable jupyter_server_proxy 2 | jupyter serverextension enable --sys-prefix jupyter_server_proxy 3 | # install the bokeh server extension so that 4 | # bokeh launches at startup 5 | mv bokehserverextension.py ${NB_PYTHON_PREFIX}/lib/python*/site-packages/ 6 | # enable bokeh extension 7 | jupyter serverextension enable --sys-prefix bokehserverextension 8 | --------------------------------------------------------------------------------