internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: bokeh/bokeh

Issue:
Non-server bokeh requires tornado
E.g.:

```
$ python -c 'import bokeh.io'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "bokeh/io.py", line 29, in <module>
    from .core.state import State
  File "bokeh/core/state.py", line 46, in <module>
    from ..client import DEFAULT_SESSION_ID
  File "bokeh/client/__init__.py", line 6, in <module>
    from .session import ClientSession, pull_session, push_session, show_session, DEFAULT_SESSION_ID
  File "bokeh/client/session.py", line 10, in <module>
    from ._connection import ClientConnection
  File "bokeh/client/_connection.py", line 11, in <module>
    from tornado import gen, locks
ImportError: No module named tornado
```



Discussion:

Resolving patch:
diff --git a/bokeh/client/session.py b/bokeh/client/session.py
--- a/bokeh/client/session.py
+++ b/bokeh/client/session.py
@@ -7,14 +7,11 @@
 
 log = logging.getLogger(__name__)
 
-from ._connection import ClientConnection
-
 from bokeh.resources import ( DEFAULT_SERVER_WEBSOCKET_URL,
                               server_url_for_websocket_url,
                               _SessionCoordinates )
 from bokeh.document import Document
 from bokeh.util.session_id import generate_session_id
-from bokeh.util.tornado import _DocumentCallbackGroup
 
 DEFAULT_SESSION_ID = "default"
 
@@ -206,9 +203,11 @@ def __init__(self, session_id=None, websocket_url=DEFAULT_SERVER_WEBSOCKET_URL,
         self._document = None
         self._id = self._ensure_session_id(session_id)
 
+        from ._connection import ClientConnection
         self._connection = ClientConnection(session=self, io_loop=io_loop, websocket_url=websocket_url)
 
         self._current_patch = None
+        from bokeh.util.tornado import _DocumentCallbackGroup
         self._callbacks = _DocumentCallbackGroup(self._connection.io_loop)
 
     def _attach_document(self, document):


Test patch:
diff --git a/tests/test_no_tornado_common.py b/tests/test_no_tornado_common.py
new file mode 100644
--- /dev/null
+++ b/tests/test_no_tornado_common.py
@@ -0,0 +1,22 @@
+from __future__ import print_function
+
+import pytest
+import subprocess
+
+basic_imports = [
+    "import bokeh.charts",
+    "import bokeh.client",
+    "import bokeh.embed",
+    "import bokeh.io",
+    "import bokeh.models",
+    "import bokeh.plotting",
+]
+
+def test_no_tornado_common():
+    proc = subprocess.Popen([
+        "python", "-c", "import sys; %s; sys.exit(1 if any('tornado' in x for x in sys.modules.keys()) else 0)" % ";".join(basic_imports)
+    ],stdout=subprocess.PIPE)
+    out, errs = proc.communicate()
+    msg = out.decode('utf-8', errors='ignore')
+    if proc.returncode != 0:
+        assert False
Repository: bokeh/bokeh

Issue:
deploy.sh version update fails when last version is a full release



Discussion:

Resolving patch:
diff --git a/scripts/update_bokehjs_versions.py b/scripts/update_bokehjs_versions.py
--- a/scripts/update_bokehjs_versions.py
+++ b/scripts/update_bokehjs_versions.py
@@ -20,7 +20,9 @@ def version_update(version, filename):
         print("ERROR: Unable to find version string to replace in %s" % filename)
         sys.exit(1)
 
-    old_version = match.group(3) + match.group(4)
+    old_version = match.group(3)
+    if match.group(4) is not None:
+        old_version += match.group(4)
 
     text = re.sub(pat, r'\g<1>\g<2>%s\g<6>' % version, text)
 


Test patch:
Repository: bokeh/bokeh

Issue:
session.show() does not take into account browser
This code does not work, it will open new tabs in the current opened browser:

```
from bokeh.client import push_session
from bokeh.io import curdoc
from bokeh.plotting import figure, show

# prepare some data
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

# create a new plot with a title and axis labels
p = figure(title='simple line example', x_axis_label='x', y_axis_label='y')

# add a line renderer with legend and line thickness
p.line(x, y, legend='Temp.', line_width=2)

session = push_session(curdoc())
custom_firefox = '/usr/bin/firefox -P ipython --new-tab %s'
session.show(obj=p, browser=custom_firefox)
```

I read the code source and see that `browser` and `new` keywords are ignored.



Discussion:

Resolving patch:
diff --git a/bokeh/client/session.py b/bokeh/client/session.py
--- a/bokeh/client/session.py
+++ b/bokeh/client/session.py
@@ -292,7 +292,7 @@ def show(self, obj=None, browser=None, new="tab"):
         """
         if obj and obj not in self.document.roots:
             self.document.add_root(obj)
-        show_session(session=self)
+        show_session(session=self, browser=browser, new=new)
 
     @classmethod
     def _ensure_session_id(cls, session_id):


Test patch:
Repository: bokeh/bokeh

Issue:
Upgrade timezone dependency and remove timezone from vendor
We have both timezone in vendor and in dependencies in package.json. Additionally we use some extremely old version.



Discussion:

Resolving patch:
diff --git a/examples/models/daylight.py b/examples/models/daylight.py
--- a/examples/models/daylight.py
+++ b/examples/models/daylight.py
@@ -38,10 +38,10 @@
 summer_start = df.Summer.tolist().index(1)
 summer_end = df.Summer.tolist().index(0, summer_start)
 
-calendar_start = df.Date.irow(0)
-summer_start = df.Date.irow(summer_start)
-summer_end = df.Date.irow(summer_end)
-calendar_end = df.Date.irow(-1)
+calendar_start = df.Date.iloc[0]
+summer_start = df.Date.iloc[summer_start]
+summer_end = df.Date.iloc[summer_end]
+calendar_end = df.Date.iloc[-1]
 
 d1 = calendar_start + (summer_start - calendar_start)/2
 d2 = summer_start + (summer_end - summer_start)/2


Test patch:
Repository: bokeh/bokeh

Issue:
BoxPlot: outlier_line_color missing in default_attributes of BoxPlotBuilder
Bokeh: 0.12.2
Python: 2.7.12

It's only possible to set the `outlier_fill_color` and not the `outlier_line_color`. Adding `outlier_line_color` to
BoxPlotBuilder `default_attributes` solved the issue on my site.

PR to be generated.



Discussion:

Resolving patch:
diff --git a/bokeh/charts/builders/boxplot_builder.py b/bokeh/charts/builders/boxplot_builder.py
--- a/bokeh/charts/builders/boxplot_builder.py
+++ b/bokeh/charts/builders/boxplot_builder.py
@@ -122,6 +122,7 @@ class BoxPlotBuilder(BarBuilder):
     default_attributes = {'label': CatAttr(),
                           'color': ColorAttr(default='DimGrey'),
                           'outlier_fill_color': ColorAttr(default='red'),
+                          'outlier_line_color': ColorAttr(default='red'),
                           'whisker_color': ColorAttr(default='black'),
                           'line_color': ColorAttr(default='black'),
                           'stack': CatAttr(),


Test patch:
Repository: bokeh/bokeh

Issue:
Move common/* to core/* and merge util/ with core/util/
This duality is confusing and unproductive.



Discussion:

Resolving patch:
diff --git a/examples/models/customjs.py b/examples/models/customjs.py
--- a/examples/models/customjs.py
+++ b/examples/models/customjs.py
@@ -28,11 +28,10 @@
 plot.add_layout(LinearAxis(), 'left')
 
 customjs = CustomJS.from_coffeescript(args=dict(source=source), code="""
-  Util = require "util/util"
-  data = source.data
+  {get_indices} = require "core/util/selection"
 
-  for i in Util.get_indices(source)
-    color = data['color'][i]
+  for i in get_indices(source)
+    color = source.data['color'][i]
     window.alert("Selected color: #{color}")
 """)
 


Test patch:
diff --git a/bokehjs/test/common/build_views.coffee b/bokehjs/test/common/build_views.coffee
--- a/bokehjs/test/common/build_views.coffee
+++ b/bokehjs/test/common/build_views.coffee
@@ -1,7 +1,7 @@
 {expect} = require "chai"
 utils = require "../utils"
 
-build_views = utils.require "common/build_views"
+build_views = utils.require "core/build_views"
 
 describe "build_views", ->
   describe "jQueryUIPrefixer", ->
diff --git a/bokehjs/test/common/selection_manager.coffee b/bokehjs/test/common/selection_manager.coffee
--- a/bokehjs/test/common/selection_manager.coffee
+++ b/bokehjs/test/common/selection_manager.coffee
@@ -1,7 +1,7 @@
 {expect} = require "chai"
 utils = require "../utils"
 
-SelectionManager = utils.require "common/selection_manager"
+SelectionManager = utils.require "core/selection_manager"
 
 SomeMarker = utils.require("models/markers/index").CircleX.Model
 GlyphRenderer = utils.require("models/renderers/glyph_renderer").Model
@@ -10,7 +10,7 @@ ColumnDataSource = utils.require("models/sources/column_data_source").Model
 LinearMapper = utils.require("models/mappers/linear_mapper").Model
 Range1d = utils.require("models/ranges/range1d").Model
 
-hittest = utils.require "common/hittest"
+hittest = utils.require "core/hittest"
 empty_selection = hittest.create_hit_test_result()
 
 describe "SelectionManager", ->
diff --git a/bokehjs/test/common/selector.coffee b/bokehjs/test/common/selector.coffee
--- a/bokehjs/test/common/selector.coffee
+++ b/bokehjs/test/common/selector.coffee
@@ -3,8 +3,8 @@ utils = require "../utils"
 fixtures = require "./fixtures/object"
 
 base = utils.require "base"
-Selector = utils.require "common/selector"
-hittest = utils.require "common/hittest"
+Selector = utils.require "core/selector"
+hittest = utils.require "core/hittest"
 
 empty_selection = hittest.create_hit_test_result()
 
diff --git a/bokehjs/test/common/ui_events.coffee b/bokehjs/test/common/ui_events.coffee
--- a/bokehjs/test/common/ui_events.coffee
+++ b/bokehjs/test/common/ui_events.coffee
@@ -3,7 +3,7 @@ utils = require "../utils"
 cheerio = require 'cheerio'
 sinon = require 'sinon'
 
-{UIEvents} = utils.require "common/ui_events"
+{UIEvents} = utils.require "core/ui_events"
 scroll = utils.require "models/tools/gestures/wheel_zoom_tool"
 # Stub out _hammer_element as not used in testing
 sinon.stub(UIEvents.prototype, "_configure_hammerjs")
Repository: bokeh/bokeh

Issue:
docserver.py input causes a SyntaxError
On Windows, when using `make.bat serve`, the server can't be stopped - pressing `<ENTER>` gives a syntax error:

```
Press <ENTER> to exit...

Traceback (most recent call last):
  File "docserver.py", line 70, in <module>
    ui()
  File "docserver.py", line 57, in ui
    input("Press <ENTER> to exit...\n")
  File "<string>", line 0
```

Suggestion is changing this to raw_input rather than input,



Discussion:

Resolving patch:
diff --git a/sphinx/docserver.py b/sphinx/docserver.py
--- a/sphinx/docserver.py
+++ b/sphinx/docserver.py
@@ -1,4 +1,5 @@
 from __future__ import print_function
+from builtins import input
 
 import flask
 import os
@@ -54,8 +55,10 @@ def shutdown_server():
 
 def ui():
     time.sleep(0.5)
-    input("Press <ENTER> to exit...\n")
-
+    try:
+        input("Press <ENTER> to exit...\n")
+    except (SyntaxError, KeyboardInterrupt):
+        pass
 
 if __name__ == "__main__":
 


Test patch:
Repository: bokeh/bokeh

Issue:
Change 0.12.4 deprecations to 0.12.3 due to delayed release
I did some deprecation on the premise that it will be part of 0.12.4, so this needs to be updated.



Discussion:

Resolving patch:
diff --git a/bokeh/models/formatters.py b/bokeh/models/formatters.py
--- a/bokeh/models/formatters.py
+++ b/bokeh/models/formatters.py
@@ -284,7 +284,7 @@ def from_coffeescript(cls, code, args={}):
     """)
 
 def DEFAULT_DATETIME_FORMATS():
-    deprecated((0, 12, 4), 'DEFAULT_DATETIME_FORMATS', 'individual DatetimeTickFormatter fields')
+    deprecated((0, 12, 3), 'DEFAULT_DATETIME_FORMATS', 'individual DatetimeTickFormatter fields')
     return {
         'microseconds': ['%fus'],
         'milliseconds': ['%3Nms', '%S.%3Ns'],
@@ -564,7 +564,7 @@ def formats(self):
         THIS PROPERTY IS DEPRECTATED. Use individual DatetimeTickFormatter fields instead.
 
         '''
-        deprecated((0, 12, 4), 'DatetimeTickFormatter.formats', 'individual DatetimeTickFormatter fields')
+        deprecated((0, 12, 3), 'DatetimeTickFormatter.formats', 'individual DatetimeTickFormatter fields')
         return dict(
             microseconds = self.microseconds,
             milliseconds = self.milliseconds,
@@ -579,7 +579,7 @@ def formats(self):
 
     @formats.setter
     def formats(self, value):
-        deprecated((0, 12, 4), 'DatetimeTickFormatter.formats', 'individual DatetimeTickFormatter fields')
+        deprecated((0, 12, 3), 'DatetimeTickFormatter.formats', 'individual DatetimeTickFormatter fields')
         if 'microseconds' in value: self.microseconds = value['microseconds']
         if 'milliseconds' in value: self.milliseconds = value['milliseconds']
         if 'seconds'      in value: self.seconds      = value['seconds']
diff --git a/bokeh/models/tools.py b/bokeh/models/tools.py
--- a/bokeh/models/tools.py
+++ b/bokeh/models/tools.py
@@ -37,7 +37,7 @@
 
 def _deprecated_dimensions(tool):
     def transformer(value):
-        deprecated((0, 12, 4), "List(Enum(Dimension)) in %s.dimensions" % tool, "Enum(Dimensions)")
+        deprecated((0, 12, 3), "List(Enum(Dimension)) in %s.dimensions" % tool, "Enum(Dimensions)")
 
         if "width" in value and "height" in value:
             return "both"


Test patch:
Repository: bokeh/bokeh

Issue:
Autoload_static seems to be broken in version 0.12
As of version 0.12 (tried 0.12.0 , 0.12.1 , and  0.12.2dev1), the autoload_static function seems to be broken. Autoload_static still outputs a script tag and associated javascript, but when placed into an html document, the plot is in the uppermost left corner and has no toolbar. Furthermore, if any text is in the html, the plot will overlay the text and any other plot. I had a rather large working document that works in version 0.11, but not 0.12. The simple example from the [documents](http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html) shows the same error.

``` python
from bokeh.resources import CDN
from bokeh.plotting import figure
from bokeh.embed import autoload_static

plot = figure()
plot.circle([1,2], [3,4])

js, tag = autoload_static(plot, CDN, "some/path")
```

 Python gives no errors. JavaScript also doesn't seem to give any errors, it may be in the CSS?
[BokehError.txt](https://github.com/bokeh/bokeh/files/403632/BokehError.txt)

I am using python version 3.5 and bokeh versions 0.12.0 and 0.12.1 and 0.12.2dev1 (still works in 0.11.x).



Discussion:
There was a fix to autoload_server in 0.12.1 - I wonder if it's related - ping @bryevdv 

Probably, I used `autoload_static` in the blog post at https://bokeh.github.io/blog/2016/6/28/release-0-12-1/ but I had to put in an explicit `bk-root` div. Seems like the same template bug.

@jnelson18 the immediate workaround until a fix is released is to put the script tag inside a `<div>` with `class="bk-root"` as is done here:

https://github.com/bokeh/bokeh.github.io/blob/source/content/blog/release-0-12-1/contents.lr#L85-L94

For reference here is the other issue: https://github.com/bokeh/bokeh/issues/4693

Tho looking at the fix in https://github.com/bokeh/bokeh/pull/4699 offhand I would have expected that to work for any script embed, either `autoload_server` or `autoload_static`. Will require some investigation. 

The workaround worked in my case, I'll update if I find any other issues.


Resolving patch:
diff --git a/bokeh/sphinxext/bokeh_plot.py b/bokeh/sphinxext/bokeh_plot.py
--- a/bokeh/sphinxext/bokeh_plot.py
+++ b/bokeh/sphinxext/bokeh_plot.py
@@ -104,13 +104,6 @@
 """)
 
 
-SCRIPT_TEMPLATE = jinja2.Template(u"""
-<div class="bk-root">
-    {{ script|indent(4) }}
-</div>
-""")
-
-
 class bokeh_plot(nodes.General, nodes.Element):
     pass
 
@@ -299,8 +292,7 @@ def html_visit_bokeh_plot(self, node):
             with open(dest_path, "w") as f:
                 f.write(js)
 
-        html = SCRIPT_TEMPLATE.render(script=script)
-        self.body.append(html)
+        self.body.append(script)
     except Exception as e:
         raise SphinxError("Unable to generate Bokeh plot at %s:%d:%s" % (node['rst_source'], node['rst_lineno'], e))
     else:


Test patch:
Repository: bokeh/bokeh

Issue:
clustering app example does not set .data atomically
This is not best practice and can result in flickering when some controls are used. 



Discussion:

Resolving patch:
diff --git a/examples/app/clustering/main.py b/examples/app/clustering/main.py
--- a/examples/app/clustering/main.py
+++ b/examples/app/clustering/main.py
@@ -154,9 +154,7 @@ def update_algorithm_or_clusters(attrname, old, new):
     X, y_pred = clustering(X, algorithm, n_clusters)
     colors = [spectral[i] for i in y_pred]
 
-    source.data['colors'] = colors
-    source.data['x'] = X[:, 0]
-    source.data['y'] = X[:, 1]
+    source.data = dict(colors=colors, x=X[:, 0], y=X[:, 1])
 
     plot.title.text = algorithm
 
@@ -172,9 +170,7 @@ def update_samples_or_dataset(attrname, old, new):
     X, y_pred = clustering(X, algorithm, n_clusters)
     colors = [spectral[i] for i in y_pred]
 
-    source.data['x'] = X[:, 0]
-    source.data['y'] = X[:, 1]
-    source.data['colors'] = colors
+    source.data = dict(colors=colors, x=X[:, 0], y=X[:, 1])
 
 algorithm_select.on_change('value', update_algorithm_or_clusters)
 clusters_slider.on_change('value', update_algorithm_or_clusters)


Test patch:
Repository: bokeh/bokeh

Issue:
app/surface3d doesn't work because custom model path is wrongly resolved
This is a peculiar issue. The problem is that custom model's path skips one directory and points to `examples/app/surface3d.pyc` instead of `examples/app/surface3d/surface3d.pyc` and thus coffeescript implementation cannot be found. Easy solution is to restore `open(path).read()`. This doesn't however resolve the bug and custom module compiler still thinks it's somewhere else. I think this is a problem with how `bokeh serve app` runs scripts and paths aren't set up properly, but I have to verify this.



Discussion:
Note that if changing to `open(path).read()`, then any `require()`s in `path` will fail anyway, but `surface3d` example doesn't use any.

Spectrogram is failing for the same reason. This used to work, I was running spectrogram constantly at strata

@mattpap OK the reason they worked in `0.12.2` is because they did `open(path)` 

OK I will make a PR with the "quick fix" and open a separate issue for addressing the wider problem in `0.12.4` and we will note the limitation in the release notes (added `MIGRATION` to note that)


Resolving patch:
diff --git a/examples/app/spectrogram/waterfall.py b/examples/app/spectrogram/waterfall.py
--- a/examples/app/spectrogram/waterfall.py
+++ b/examples/app/spectrogram/waterfall.py
@@ -1,9 +1,11 @@
+from os.path import dirname, join
+
 from bokeh.core.properties import List, Float, Seq, Color, Int
 from bokeh.models import DataSource
 
 class WaterfallSource(DataSource):
 
-    __implementation__ = "waterfall.coffee"
+    __implementation__ = open(join(dirname(__file__), "waterfall.coffee")).read()
 
     latest = List(Float)
 
diff --git a/examples/app/surface3d/surface3d.py b/examples/app/surface3d/surface3d.py
--- a/examples/app/surface3d/surface3d.py
+++ b/examples/app/surface3d/surface3d.py
@@ -1,3 +1,5 @@
+from os.path import dirname, join
+
 from bokeh.core.properties import Any, Dict, Instance, String
 from bokeh.models import ColumnDataSource, LayoutDOM
 
@@ -30,7 +32,7 @@ class Surface3d(LayoutDOM):
     # The special class attribute ``__implementation__`` should contain a string
     # of JavaScript (or CoffeeScript) code that implements the JavaScript side
     # of the custom extension model.
-    __implementation__ = "surface3d.coffee"
+    __implementation__ = open(join(dirname(__file__), "surface3d.coffee")).read()
 
     # Below are all the "properties" for this model. Bokeh properties are
     # class attributes that define the fields (and their types) that can be


Test patch:
Repository: bokeh/bokeh

Issue:
Examples with deprecation warnings
As of 0.12.3, the following examples have deprecation warnings
- plotting/file/hover.py
- plotting/file/tap.py



Discussion:

Resolving patch:
diff --git a/examples/plotting/file/hover.py b/examples/plotting/file/hover.py
--- a/examples/plotting/file/hover.py
+++ b/examples/plotting/file/hover.py
@@ -28,8 +28,8 @@
 
 p = figure(title="Hoverful Scatter", tools=TOOLS)
 
-p.circle(x, y, radius=radii, source=source,
-         fill_color=colors, fill_alpha=0.6, line_color=None)
+p.circle(x='x', y='y', radius='radius', source=source,
+         fill_color='colors', fill_alpha=0.6, line_color=None)
 
 p.text(x, y, text=inds, alpha=0.5, text_font_size="5pt",
        text_baseline="middle", text_align="center")
diff --git a/examples/plotting/file/tap.py b/examples/plotting/file/tap.py
--- a/examples/plotting/file/tap.py
+++ b/examples/plotting/file/tap.py
@@ -1,7 +1,6 @@
-import itertools
 import numpy as np
 
-from bokeh.plotting import ColumnDataSource, figure, show, output_file
+from bokeh.plotting import figure, show, output_file
 from bokeh.models import TapTool
 
 xx, yy = np.meshgrid(range(0,101,4), range(0,101,4))
@@ -14,20 +13,11 @@
     "#%02x%02x%02x" % (int(r), int(g), 150) for r, g in zip(50+2*x, 30+2*y)
 ]
 
-source = ColumnDataSource(data=dict(
-    x=x,
-    y=y,
-    radius=radii,
-    colors=colors,
-    foo=list(itertools.permutations("abcdef"))[:N],
-    bar=np.random.normal(size=N),
-))
-
 TOOLS="crosshair,pan,wheel_zoom,box_zoom,reset,tap,save"
 
 p = figure(title="Tappy Scatter", tools=TOOLS)
 
-cr = p.circle(x, y, radius=radii, source=source,
+cr = p.circle(x, y, radius=radii,
               fill_color=colors, fill_alpha=0.6, line_color=None)
 
 tr = p.text(x, y, text=inds, alpha=0.5, text_font_size="5pt",


Test patch:
Repository: bokeh/bokeh

Issue:
Depreciated example
https://github.com/bokeh/bokeh/blob/0.12.3/examples/embed/simple/simple.py

```
Because the ``resources`` argument is no longer needed, it is deprecated and no longer has any effect.
```

The link is also broken:
http://bokeh.pydata.org/en/latest/docs/user_guide/embedding.html#components



Discussion:
For reverence the link is now

http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

and the call to `components` just needs to have the second parameter `INLINE` dropped.

Thanks for the report @VelizarVESSELINOV 


Resolving patch:
diff --git a/examples/embed/simple/simple.py b/examples/embed/simple/simple.py
--- a/examples/embed/simple/simple.py
+++ b/examples/embed/simple/simple.py
@@ -41,7 +41,6 @@ def polynomial():
     """
 
     # Grab the inputs arguments from the URL
-    # This is automated by the button
     args = flask.request.args
 
     # Get all the form arguments in the url with defaults
@@ -49,20 +48,15 @@ def polynomial():
     _from = int(getitem(args, '_from', 0))
     to = int(getitem(args, 'to', 10))
 
-    # Create a polynomial line graph
+    # Create a polynomial line graph with those arguments
     x = list(range(_from, to + 1))
     fig = figure(title="Polynomial")
     fig.line(x, [i ** 2 for i in x], color=color, line_width=2)
 
-    # Configure resources to include BokehJS inline in the document.
-    # For more details see:
-    #   http://bokeh.pydata.org/en/latest/docs/reference/resources_embedding.html#bokeh-embed
     js_resources = INLINE.render_js()
     css_resources = INLINE.render_css()
 
-    # For more details see:
-    #   http://bokeh.pydata.org/en/latest/docs/user_guide/embedding.html#components
-    script, div = components(fig, INLINE)
+    script, div = components(fig)
     html = flask.render_template(
         'embed.html',
         plot_script=script,


Test patch:
Repository: bokeh/bokeh

Issue:
remove old bokeh-server
The command was kept to issue a loud migration warning. It can be removed at this point. 



Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -591,7 +591,7 @@ def package_tree(pkgroot):
     url='http://github.com/bokeh/bokeh',
     description='Statistical and novel interactive HTML plots for Python',
     license='New BSD',
-    scripts=['bin/bokeh', 'bin/bokeh-server'],
+    scripts=['bin/bokeh'],
     entry_points={'console_scripts': ['bokeh = bokeh.__main__:main',], },
     zip_safe=False,
     install_requires=REQUIRES


Test patch: