bokeh.client.session

BokehサーバにSessionオブジェクトを提供し、外部PythonクライアントでBokehドキュメントにサービスを提供します。

用例を用いる.

クライアントセッションには2つの主な用途がある:

  • Bokehサーバアプリケーションについて自動化テストインフラを実施した.

  • Bokehサーバアプリケーションの特定のセッションの作成とカスタマイズ(実行) Bokehサーバでは )、その後、それらを特定のビューアに渡す。

class ClientSession(session_id=None, websocket_url='ws://localhost:5006/ws', io_loop=None, arguments=None)[ソース]

サーバ側セッションへのWebSocket接続を表示する.

各サーバセッションは、その対応する文書と同期した文書を格納する ClientSession 例を挙げましょうコネクションが開いている限り,コネクションの両端の更新は自動的に他端に伝播する.

ClientSessionオブジェクトは、セッションを正確にオフにするために、通常、コンテキストマネージャとして使用されてもよい:

with pull_session(url=app_url) as mysession:
    # customize session here
    script = server_session(session_id=mysession.id, url=app_url)
    return render_template("embed.html", script=script, template="Flask")

もしあなたが使用しなければ ClientSession このようにして、あなたが確保します mysession.close() と言います。

__init__(session_id=None, websocket_url='ws://localhost:5006/ws', io_loop=None, arguments=None)[ソース]

サーバ上の名前付きセッションを特定する接続に接続します。

常にセッションを作成した後、すぐにPull()またはPush()を呼び出します(それらが呼び出されるまで session.document はい。はい。 None )。

♪the push_session() そして pull_session() 関数は1つを構築します ClientSession 一歩の推力や引張力で ClientSession それがそうです。

パラメータ
  • session_id (str) -- セッションの名前またはなしはセッションを生成する

  • websocket_url (str) -- 接続するWebSocket URL

  • io_loop (IOLoop, optional) -- WebSocket用IOLoop

  • arguments (dict[str, str], optional) -- HTTP要求パラメータとしてBokehアプリケーションコードに渡すキー/値辞書(デフォルト値:なし)に注意するためには、新しいセッションをプルする際にのみこの辞書を提供すべきである。もし session_id 無でも会話でもない session_id すでに存在しており、このような論点は機能しないだろう。

check_connection_errors()[ソース]

接続が確立できない場合にエラーを引き起こす.

使用すべきであり,呼び出し後に接続を行う.

戻り値

なし

close(why='closed')[ソース]

サーバとの接続をオフにします。

connect()[ソース]

構成されたURLを介してBokehサーバに接続されています。

force_roundtrip()[ソース]

強制往復要求/返信サーバは,競合を避ける必要がある場合がある.主にテストに用いられる。

テストキット以外では、この方法は性能に影響を与え、必要とされてはいけない。

戻り値

なし

pull()[ソース]

サーバの状態を取得してsession.documentに設定する.

複数回呼び出されると,session.documentは同じ対象インスタンスとなるが,その内容は上書きされる.

自動呼び出し. connect() 引く前に。

push(document=None)[ソース]

与えられた文書をサーバにプッシュし,session.documentとして記録する.

複数回呼び出されると,文書は同じでなければならない(またはなし,“session.document”を表す).

注釈

自動呼び出し. connect() 押す前に。

パラメータ

document (Document, optional) -- サーバ文書と同期した文書を保持する.Session.documentを使用したり、新しい文書を作成したりしません。

request_server_info()[ソース]

サーバに関する情報を問い合わせる.

戻り値

サーバ属性の辞書。

show(obj=None, browser=None, new='tab')[ソース]

このセッションを表示するブラウザを開きます。

パラメータ
  • obj (LayoutDOM object, optional) -- 表示するレイアウト(行/列)、描画、またはウィジェットオブジェクト。このオブジェクトはセッションの文書に追加される.

  • browser (str, optional) -- 表示するブラウザ(デフォルト値:なし)それをサポートするシステムについては、 ブラウザ パラメータは、“Safari”、“Firefox”、“Opera”、“windows-default”のようなどのブラウザに表示されるかを指定することができます(参照 webbrowser 詳細については、標準ライブラリのモジュール文書)を参照されたい。

  • new (str, optional) -- 新しいファイル出力モード(デフォルト値:“tab”)ファイルベースの出力に対して、現在出力されているファイルを表示するブラウザウィンドウを開きまたはアップグレードします。もし new “Tab”で、新しいタブを開きます。もし new “ウィンドウ”で、新しいウィンドウを開きます。

property connected

このセッションは現在接続されているかどうか。

property document

A Document これは,サーバ上の対応する文書と同期したままである.

この値は以下の場合に初期化される. pull() あるいは…。 push() 成功しました。はい。はい。 None その前に。

property id

このセッションの一意ID。

property token

セッションを認証するためのJWTトークン。

pull_session(session_id=None, url='default', io_loop=None, arguments=None)[ソース]

セッションは、現在のサーバ側ドキュメントをロードすることによって作成されます。

session.document サーバからロードされた新しい文書になります。サーバとの接続が開くと、サーバ側で行われた変更はこの文書に適用され、クライアントで行われた変更はサーバに同期される。

修正するつもりがなければ session.document この関数を使用する必要はないかもしれませんが、逆に、あなたは直接 show_session() あるいは…。 server_session() セッション文書を先にあなたのプロセスにダウンロードする必要はありません。必要でなければ、セッションをダウンロードすることを避けた方がはるかに効率的です。

生産計画では session_id ブラウザタブごとに一意であるべきであり,ユーザが踏みにじることを防ぐことができる.予測可能なセッションIDを使用するか、またはユーザ間でセッションIDを共有することは、伸縮することも安全でもない。

単一の機械で動作するノートでは session_id 人間が読むことができる内容であってもよく、例えば "default" 便宜上。

もしあなたが許すなら pull_session() 唯一のものを生成するためには session_id 属性は生成されたIDを取得する. id 属性対戻りの ClientSession それがそうです。

パラメータ
  • session_id (string, optional) -- セッションの名前、Noneは機会とともに自動的に生成されます(デフォルト値:None)

  • url -- (文字列、オプション):Bokehサーバ上のBokehアプリケーションのURLであってもよい "default" デフォルトのアプリケーションURLに接続されます

  • io_loop (tornado.ioloop.IOLoop, optional) -- ♪the IOLoop Webコンセント用

  • arguments (dict[str, str], optional) -- HTTP要求パラメータとしてBokehアプリケーションコードに渡すキー/値辞書(デフォルト値:なし)に注意するためには、新しいセッションをプルする際にのみこの辞書を提供すべきである。もし session_id 無でも会話でもない session_id すでに存在しており、このような論点は機能しないだろう。

戻り値

新しいのです ClientSession サーバに接続されています

戻り値の型

ClientSession

push_session(document, session_id=None, url='default', io_loop=None)[ソース]

所与の文書をサーバにプッシュし、任意の既存のサーバ側文書をカバーすることによってセッションを作成する。

session.document 返されたセッションには、提供されたドキュメントが含まれます。サーバとの接続が開くと、サーバ側で行われた変更はこの文書に適用され、クライアントで行われた変更はサーバに同期される。

生産計画では session_id ブラウザタブごとに一意であるべきであり,ユーザが踏みにじることを防ぐことができる.予測可能なセッションIDを使用するか、またはユーザ間でセッションIDを共有することは、伸縮することも安全でもない。

単一の機械で動作するノートでは session_id 人間が読むことができる内容であってもよく、例えば "default" 便宜上。

もしあなたが許すなら push_session() 唯一のものを生成するためには session_id 属性は生成されたIDを取得する. id 属性対戻りの ClientSession それがそうです。

パラメータ
  • document -- (boke.Document.Document)session.documentにプッシュして設定する文書

  • session_id -- (文字列、オプション)セッション名、Noneは機会とともに自動生成されること(デフォルト値:None)を表す

  • url -- (文字列、オプション):Bokehサーバ上のBokehアプリケーションのURLであってもよい "default" デフォルトのアプリケーションURLに接続されます

  • io_loop -- (tornado.ioloop.IOLoop,オプション)WebSocket用IOLoop

戻り値

ClientSessionサーバに接続された新しいClientSession

show_session(session_id=None, url='default', session=None, browser=None, new='tab', controller=None)[ソース]

セッション文書を表示するブラウザを開きます。

もしあなたの会話が pull_session() あるいは…。 push_session 君ならできる show_session(session=mysession) それがそうです。サーバへの接続を自分で開く必要がない場合は、提供するだけで、ブラウザに新しいセッションを表示することができます url それがそうです。

パラメータ
  • session_id (string, optional) -- セッションの名前、Noneは機会とともに自動的に生成されます(デフォルト値:None)

  • url -- (文字列、オプション):Bokehサーバ上のBokehアプリケーションのURLであってもよい "default" デフォルトのアプリケーションURLに接続されます

  • session (ClientSession, optional) -- セッションIDおよびサーバURLを取得するセッションがこれを指定する場合には、セッション_idおよびurlを指定する必要はない

  • browser (str, optional) -- 表示するブラウザ(デフォルト値:なし)それをサポートするシステムについては、 ブラウザ パラメータは、“Safari”、“Firefox”、“Opera”、“windows-default”のようなどのブラウザに表示されるかを指定することができます(参照 webbrowser 詳細については、標準ライブラリのモジュール文書)を参照されたい。

  • new (str, optional) -- 新しいファイル出力モード(デフォルト値:“tab”)ファイルベースの出力に対して、現在出力されているファイルを表示するブラウザウィンドウを開きまたはアップグレードします。もし new “Tab”で、新しいタブを開きます。もし new “ウィンドウ”で、新しいウィンドウを開きます。