Repository: bokeh/bokeh

Issue:
Do we want to deprecate callbacks in 0.10 or push out further?
When I implemented #2634 (changing `Action` to `Callback` and `Callback` to `CustomJS`) I added a deprecation warning for 0.10. This now seems close. Should we push it out to 0.11?



Discussion:
It's already been broken for anyone that imported from `bokeh.models` and there was not too much clamor I think we should just change it. 


Resolving patch:
diff --git a/bokeh/models/actions.py b/bokeh/models/actions.py
deleted file mode 100644
--- a/bokeh/models/actions.py
+++ /dev/null
@@ -1,39 +0,0 @@
-from __future__ import absolute_import
-
-from warnings import warn
-from . import callbacks
-
-warn(
-    '`bokeh.models.actions` is deprecated in favor of `bokeh.models.callbacks` '
-    'and will be removed in v0.10.',
-    FutureWarning, stacklevel=2
-)
-
-
-def Action(*args, **kwargs):
-    warn(
-        '`bokeh.models.actions.Action` is now `bokeh.models.callbacks.Callback`. '
-        '`bokeh.models.actions.Action` will be removed in v0.10.',
-        FutureWarning, stacklevel=2
-    )
-    return callbacks.Callback(*args, **kwargs)
-
-
-def Callback(*args, **kwargs):
-    warn(
-        '`bokeh.models.actions.Callback` is now `bokeh.models.callbacks.CustomJS`. '
-        'You can use `from bokeh.models import CustomJS`, and use `CustomJS` just '
-        'as you did before. `bokeh.models.actions.Callback` will be removed in v0.10.',
-        FutureWarning, stacklevel=2
-    )
-    return callbacks.CustomJS(*args, **kwargs)
-
-
-def OpenURL(*args, **kwargs):
-    warn(
-        '`bokeh.models.actions.OpenURL` is now `bokeh.models.callbacks.OpenURL`.'
-        'You can use `from bokeh.models import OpenURL`, and use `OpenURL` just '
-        'as you did before. `bokeh.models.actions.OpenURL` will be removed in v0.10.',
-        FutureWarning, stacklevel=2
-    )
-    return callbacks.OpenURL(*args, **kwargs)
diff --git a/bokeh/models/callbacks.py b/bokeh/models/callbacks.py
--- a/bokeh/models/callbacks.py
+++ b/bokeh/models/callbacks.py
@@ -2,8 +2,6 @@
 
 from __future__ import absolute_import
 
-from warnings import warn
-
 from ..plot_object import PlotObject
 from ..properties import Dict, Instance, String
 
@@ -39,16 +37,3 @@ class CustomJS(Callback):
     and an optional ``cb_data`` parameter that contains any tool-specific data
     (i.e. mouse coordinates and hovered glyph indices for the HoverTool).
     """)
-
-
-# Deprecated Action
-# In the unlikely event, someone has done from bokeh.models import Action,
-# this deprecation function handles it gracefully.
-
-def Action(*args, **kwargs):
-    warn(
-        '`bokeh.models.Action` is now `bokeh.models.Callback`. '
-        '`bokeh.models.Action` will be removed in v0.10.',
-        FutureWarning, stacklevel=2
-    )
-    return Callback(*args, **kwargs)


Test patch:
diff --git a/bokeh/tests/test_actions_deprecation.py b/bokeh/tests/test_actions_deprecation.py
deleted file mode 100644
--- a/bokeh/tests/test_actions_deprecation.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from __future__ import absolute_import
-
-import unittest
-import warnings
-
-from bokeh.models import Action as modelsAction
-from bokeh.models.actions import Callback, OpenURL, Action
-from bokeh.models import callbacks
-
-
-class ActionsDeprecationTests(unittest.TestCase):
-
-    # Test warnings
-
-    def _test_for_future_warning(self, ClassFunction):
-        with warnings.catch_warnings(record=True) as w:
-            ClassFunction()
-            self.assertEqual(len(w), 1)
-            self.assertTrue(w[0].category is FutureWarning)
-
-    def test_actions_callback_is_deprecated(self):
-        self._test_for_future_warning(Callback)
-
-    def test_actions_openurl_is_deprecated(self):
-        self._test_for_future_warning(OpenURL)
-
-    def test_actions_action_is_deprecated(self):
-        self._test_for_future_warning(Action)
-
-    def test_models_action_is_deprecated(self):
-        self._test_for_future_warning(modelsAction)
-
-    # Test new return classes
-
-    def test_actions_callback_returns_callbacks_customjs(self):
-        callback = Callback()
-        self.assertIsInstance(callback, callbacks.CustomJS)
-
-    def test_actions_openurl_returns_callbacks_openurl(self):
-        openurl = OpenURL()
-        self.assertIsInstance(openurl, callbacks.OpenURL)
-
-    def test_actions_action_returns_callbacks_callback(self):
-        action = Action()
-        self.assertIsInstance(action, callbacks.Callback)
-
-    def test_models_action_returns_callbacks_callback(self):
-        models_action = modelsAction()
-        self.assertIsInstance(models_action, callbacks.Callback)