Repository: bokeh/bokeh

Issue:
Split up dev guide into multiple files
The developer's guide has become unweildy. 



Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -48,7 +48,6 @@
 
 ROOT = dirname(realpath(__file__))
 BOKEHJSROOT = join(ROOT, 'bokehjs')
-print(BOKEHJSROOT)
 BOKEHJSBUILD = join(BOKEHJSROOT, 'build')
 CSS = join(BOKEHJSBUILD, 'css')
 JS  = join(BOKEHJSBUILD, 'js')
diff --git a/sphinx/json_ref.py b/sphinx/json_ref.py
deleted file mode 100644
--- a/sphinx/json_ref.py
+++ /dev/null
@@ -1,82 +0,0 @@
-from __future__ import print_function
-
-import importlib
-import json
-
-import jinja2
-
-from bokeh.plot_object import PlotObject, Viewable
-from bokeh.protocol import serialize_json
-
-ITEM = jinja2.Template("""
-.. code-block:: javascript
-
-    {{ model_json|indent(4) }}
-""")
-
-
-module_names = [
-    'bokeh.models.axes',
-    'bokeh.models.formatters',
-    'bokeh.models.glyphs',
-    'bokeh.models.grids',
-    'bokeh.models.map_plots',
-    'bokeh.models.mappers',
-    'bokeh.models.markers',
-    'bokeh.models.plots',
-    'bokeh.models.ranges',
-    'bokeh.models.renderers',
-    'bokeh.models.sources',
-    'bokeh.models.tickers',
-    'bokeh.models.tools',
-    'bokeh.models.widget',
-]
-
-print("""
-
-.. contents::
-    :local:
-    :depth: 2
-
-Models
-------
-""")
-
-for module_name in module_names:
-    module = importlib.import_module(module_name)
-
-    models = [x for x in vars(module).values() if type(x)==Viewable and x.__module__==module_name]
-    models.sort(key=lambda x:x.__name__)
-
-    print(".. _%s:" % module_name.replace('.', "_dot_"))
-    print()
-
-    header = "``%s``" % module_name
-    print(header)
-    print('-' * len(header))
-
-    for m in models:
-
-        model_json = json.dumps(
-            json.loads(serialize_json(m().dump(changed_only=False))),
-            sort_keys=True,
-            indent=2,
-            separators=(',', ': ')
-        )
-
-        print(
-"""
-.. autoclass:: %s.%s
-    :members:
-""" % (module_name, m.__name__))
-
-        text = ITEM.render(
-            model_json=model_json,
-        )
-
-
-
-        print(text)
-
-    print()
-
diff --git a/sphinx/source/conf.py b/sphinx/source/conf.py
--- a/sphinx/source/conf.py
+++ b/sphinx/source/conf.py
@@ -222,6 +222,7 @@
     '*': ['sidebartoc.html', 'sourcelink.html', 'searchbox.html'],
     'tutorial/**': ['sidebartoc.html', 'sourcelink.html', 'searchbox.html'],
     'docs/*': ['sidebartoc.html', 'sourcelink.html', 'searchbox.html'],
+    'docs/dev_guide/**': ['sidebartoc.html', 'sourcelink.html', 'searchbox.html'],
     'docs/reference/**': ['sidebartoc.html', 'sourcelink.html', 'searchbox.html'],
     'docs/user_guide/**': ['sidebartoc.html', 'sourcelink.html', 'searchbox.html'],
     'docs/gallery': [],


Test patch:
diff --git a/sphinx/source/docs/dev_guide/testing.rst b/sphinx/source/docs/dev_guide/testing.rst
new file mode 100644
--- /dev/null
+++ b/sphinx/source/docs/dev_guide/testing.rst
@@ -0,0 +1,40 @@
+.. _devguide_testing:
+
+Testing
+=======
+
+.. contents::
+    :local:
+    :depth: 2
+
+There is a TravisCI project configured to execute on every GitHub push, it can
+be viewed at: https://travis-ci.org/bokeh/bokeh.
+
+To run the just the python unit tests, run the command::
+
+    $ python -c "import bokeh; bokeh.test()"
+
+To run just the BokehJS unit tests, execute::
+
+    $ grunt test
+
+in the `bokehjs` subdirectory of the source checkout.
+
+Additionally, there are "examples tests" that check whether all the examples
+produce outputs. This script is in the `examples` directory and can be run by
+executing::
+
+    $ test -D
+
+You can run all available tests (python and JS unit tests and example tests)
+from the top level directory by executing::
+
+    $ BOKEH_DEFAULT_NO_DEV=True nosetests
+
+.. note::
+    Currently this script does not support Windows.
+
+To help the test script choose the appropriate test runner, there are some
+naming conventions that examples should adhere to. Non-IPython notebook
+example scripts that rely on the Bokeh server should have 'server' or
+'animate' in their filenames.