bokeh.server

カスタマイズ可能なBokeh Server Tornadocoreアプリケーションを提供します。

Bokehのアーキテクチャは,高度な“モデルオブジェクト”(ブロック,範囲,軸,字形などを表す)である.Pythonで作成し、その後、クライアントライブラリBokehJSを使用するためにJSONフォーマットに変換します。(参照されたい) 重要な概念を定義する (より詳細な議論について。)それ自体では,このような柔軟かつデカップリングされた設計は,たとえば,他の言語(R,Scala,Luaなど)を使いやすいという利点を提供している.ブラウザではまったく同じBokeh描画と可視化効果を駆動する.

しかしながら、pythonの“モデルオブジェクト”とブラウザの“モデルオブジェクト”を互いに同期させることができれば、より強力な可能性がすぐに現れる:

  • Pythonのすべての機能を使用して、ブラウザで生成されたUIおよびツール·イベントに計算または照会応答する

  • サーバ側更新プッシュを自動的にUI(すなわち、ブラウザ内のウィジェットまたは描画)に自動的にプッシュする

  • フロー更新は、定期的、タイムアウト、および非同期コールを使用して駆動されます。

このようなPythonとブラウザ間の同期機能は、Bokeh Serverの主な用途です。

これまで,Bokehサーバを用いてインタラクティブなデータ可視化を作成する最も柔軟な方法は,Bokehアプリケーションを作成し,Bokehサーバを用いてサービスを提供することであった.このシナリオでは、Bokehサーバは、アプリケーションコードを使用して、すべてのクライアント(通常はブラウザ)のためのセッションおよび文書を作成し、これらのクライアントは、接続されている:

../../_images/bokeh_serve.svg

Bokehサーバ(左)アプリケーションコードを用いてBokeh文書を作成する.ブラウザ(右側)からの各新しい接続は、Bokehサーバがセッションのために1つの新しいドキュメントのみを作成することになります。

新しい接続を確立するたびに、Bokehサーバでアプリケーションコードを実行して、新しいBokehを作成します。 Document ブラウザに同期されますアプリケーションコードにはどのコールバックも設定されており,小さな部品の値などの属性が変更されれば,これらのコールバックを実行すべきである.

サイドバーの参照リンクにはBokeh Serverの詳細が記録されている.ほとんどのユーザは、専門的な要求がなければ、これらの詳細に関心を持つ必要がないかもしれません。ユーザーガイド章を参照すべきです。 Bokehサーバの実行 Bokehサーバを用いた情報について.