Source code for bokeh.command.subcommands.info

'''

To display information about Bokeh and Bokeh server configuration,
type ``bokeh info`` on the command line.

.. code-block:: sh

    bokeh info

This will print general information to standard output, such as Python and Bokeh versions:

.. code-block:: none

    Python version      :  3.6.5
    IPython version     :  6.3.1
    Bokeh version       :  0.12.15
    BokehJS static path :  /opt/anaconda/lib/python3.6/site-packages/bokeh/server/static
    node.js version     :  v8.11.1
    npm version         :  5.8.0

Sometimes it can be useful to get just paths to the BokehJS static files in order
to configure other servers or processes. To do this, use the ``--static`` option

.. code-block:: sh

    bokeh info --static

This will produce output like what is shown below

.. code-block:: none

    /opt/anaconda/lib/python3.6/site-packages/bokeh/server/static

'''
from __future__ import absolute_import

import sys

from bokeh import __version__
from bokeh.settings import settings
from bokeh.util.compiler import nodejs_version, npmjs_version

from ..subcommand import Subcommand

def _ipython_version():
    try:
        import IPython
    except ImportError:
        return None
    else:
        return IPython.__version__

[docs]class Info(Subcommand): ''' Subcommand to print information about Bokeh and Bokeh server configuration. ''' #: name for this subcommand name = "info" help = "print information about Bokeh and Bokeh server configuration" args = ( ('--static', dict( action='store_true', help="Print the locations of BokehJS static files", )), )
[docs] def invoke(self, args): ''' ''' if args.static: print(settings.bokehjsdir()) else: if_installed = lambda version_or_none: version_or_none or "(not installed)" print("Python version : %s" % sys.version.split('\n')[0]) print("IPython version : %s" % if_installed(_ipython_version())) print("Bokeh version : %s" % __version__) print("BokehJS static path : %s" % settings.bokehjsdir()) print("node.js version : %s" % if_installed(nodejs_version())) print("npm version : %s" % if_installed(npmjs_version()))