bokeh.server

提供一个可定制的Bokeh服务器Tornadcore应用程序。

Bokeh的体系结构是这样的:在Python中创建高级的“模型对象”(表示诸如绘图、范围、轴、字形等),然后转换为客户机库BokehJS使用的JSON格式。(参见 定义关键概念 就其本身而言,这种灵活和解耦的设计提供了一些优势,例如,很容易让其他语言(R、Scala、Lua等)在浏览器中驱动完全相同的Bokeh图和可视化。

但是,如果可以使python和浏览器中的“模型对象”彼此保持同步,那么更多更强大的可能性会立即打开:

  • 使用python的全部功能通过计算或查询响应浏览器中生成的UI和工具事件

  • 自动将服务器端更新推送到UI(即浏览器中的小部件或绘图)

  • 使用定期、超时和异步回调来驱动流式更新

这种在python和浏览器之间同步的功能是Bokeh服务器的主要目的。

到目前为止,使用Bokeh服务器创建交互式数据可视化的最灵活的方法是创建Bokeh应用程序,并用Bokeh服务器为它们提供服务。在这种情况下,Bokeh服务器使用应用程序代码为所有连接到的客户端(通常是浏览器)创建会话和文档:

../../_images/bokeh_serve.svg

Bokeh服务器(左)使用应用程序代码创建Bokeh文档。浏览器(右)的每个新连接都会导致Bokeh服务器为该会话创建一个新文档。

每次建立新连接时,应用程序代码都在Bokeh服务器中执行,以创建新的Bokeh Document 将同步到浏览器。应用程序代码还设置了当控件值等属性发生更改时应该运行的任何回调。

侧栏中的参考链接记录了Bokeh服务器的详细信息。大多数用户可能不需要关心这些细节,除非他们有专门的要求,并且应该参考用户指南一章 运行Bokeh服务器 有关使用Bokeh服务器的信息。