bokeh.resources#

resources 模块提供 Resources 类,用于轻松配置 BokehJS 代码和 CSS 资源应如何定位、加载和嵌入到 Bokeh 文档中。

此外,此处还提供了用于检索 Bokeh JavaScript 文件的 Subresource Integrity 哈希值的函数。

一些预配置的 Resources 对象作为属性提供。

CDN#

从 CDN 加载精简的 BokehJS

INLINE#

从库静态目录提供精简的 BokehJS

class Resources(mode: Literal['inline', 'cdn', 'server', 'relative', 'absolute'] | Literal['server-dev', 'relative-dev', 'absolute-dev'] | None = None, *, version: str | None = None, root_dir: str | PathLike[str] | None = None, dev: bool | None = None, minified: bool | None = None, log_level: Literal['trace', 'debug', 'info', 'warn', 'error', 'fatal'] | None = None, root_url: str | None = None, path_versioner: Callable[[str], str] | None = None, components: list[Literal['bokeh', 'bokeh-gl', 'bokeh-widgets', 'bokeh-tables', 'bokeh-mathjax', 'bokeh-api']] | None = None, base_dir: str | PathLike[str] | None = None)[source]#

Resources 类封装了与加载或嵌入 Bokeh Javascript 和 CSS 相关的信息。

参数:
  • mode (str) –

    Bokeh JS 和 CSS 应如何包含在输出中

    请参阅下文,了解可用模式的描述

  • version (str, 可选) –

    要加载的 Bokeh JS 和 CSS 的版本

    仅对 'cdn' 模式有效

  • root_dir (str, 可选) –

    用于加载 Bokeh JS 和 CSS 资产的根目录

    仅对 'relative''relative-dev' 模式有效

  • minified (bool, 可选) – JavaScript 和 CSS 是否应精简(默认值:True)

  • root_url (str, 可选) –

    从中加载资源的 Bokeh 服务器的 URL 和端口

    仅对 'server''server-dev' 模式有效

以下 mode 值可用于配置 Resource 对象

  • 'inline' 配置为内联提供整个 Bokeh JS 和 CSS

  • 'cdn' 配置为从 https://cdn.bokeh.org 加载 Bokeh JS 和 CSS

  • 'server' 配置为从 Bokeh 服务器加载

  • 'server-dev'server 相同,但支持非精简资产

  • 'relative' 配置为相对于给定目录加载

  • 'relative-dev'relative 相同,但支持非精简资产

  • 'absolute' 配置为从已安装的 Bokeh 库静态目录加载

  • 'absolute-dev'absolute 相同,但支持非精简资产

配置完成后,Resource 对象公开以下公共属性

js_raw#

需要放置在 <script> 标签内的任何原始 JS

css_raw#

需要放置在 <style> 标签内的任何原始 CSS

js_files#

需要由 <script> 标签加载的任何 JS 文件的 URL

css_files#

需要由 <link> 标签加载的任何 CSS 文件的 URL

messages#

有关此配置的任何信息性消息

类型:

list[bokeh.resources.RuntimeMessage]

这些属性通常在嵌入 Bokeh 图时用作模板参数。

clone(*, components: list[Literal['bokeh', 'bokeh-gl', 'bokeh-widgets', 'bokeh-tables', 'bokeh-mathjax', 'bokeh-api']] | None = None) Resources[source]#

创建 resources 实例的克隆,允许覆盖其组件。

get_all_sri_versions() tuple[str, ...][source]#

报告所有具有 SRI 哈希值的版本。

返回值:

tuple

get_sri_hashes_for_version(version: str) dict[str, str][source]#

报告特定 BokehJS 版本的 SRI 脚本哈希值。

Bokeh 为发布到 CDN 的所有 JavaScript 文件提供 Subresource Integrity 哈希值,以实现完整发布。此函数返回一个字典,该字典将 JavaScript 文件名映射到其哈希值,用于单个 Bokeh 版本。

参数:

version (str) – 要返回 SRI 哈希值的 Bokeh 版本。哈希值仅针对完整版本提供,例如“1.4.0”,而不针对“dev”构建或候选版本。

返回值:

dict

Raises:

ValueError – 如果指定的版本不存在

示例

单个版本返回的 dict 将文件名映射到该版本的 SRI 哈希值

{
    'bokeh-1.4.0.js': 'vn/jmieHiN+ST+GOXzRU9AFfxsBp8gaJ/wvrzTQGpIKMsdIcyn6U1TYtvzjYztkN',
    'bokeh-1.4.0.min.js': 'mdMpUZqu5U0cV1pLU9Ap/3jthtPth7yWSJTu1ayRgk95qqjLewIkjntQDQDQA5cZ',
    'bokeh-api-1.4.0.js': 'Y3kNQHt7YjwAfKNIzkiQukIOeEGKzUU3mbSrraUl1KVfrlwQ3ZAMI1Xrw5o3Yg5V',
    'bokeh-api-1.4.0.min.js': '4oAJrx+zOFjxu9XLFp84gefY8oIEr75nyVh2/SLnyzzg9wR+mXXEi+xyy/HzfBLM',
    'bokeh-tables-1.4.0.js': 'I2iTMWMyfU/rzKXWJ2RHNGYfsXnyKQ3YjqQV2RvoJUJCyaGBrp0rZcWiTAwTc9t6',
    'bokeh-tables-1.4.0.min.js': 'pj14Cq5ZSxsyqBh+pnL2wlBS3UX25Yz1gVxqWkFMCExcnkN3fl4mbOF8ZUKyh7yl',
    'bokeh-widgets-1.4.0.js': 'scpWAebHEUz99AtveN4uJmVTHOKDmKWnzyYKdIhpXjrlvOwhIwEWUrvbIHqA0ke5',
    'bokeh-widgets-1.4.0.min.js': 'xR3dSxvH5hoa9txuPVrD63jB1LpXhzFoo0ho62qWRSYZVdyZHGOchrJX57RwZz8l'
}
verify_sri_hashes() None[source]#

验证完整发布包中的 SRI 哈希值。

此函数将完整发布包中 BokehJS 文件的计算 SRI 哈希值与 SRI 清单文件中的值进行比较。如果所有哈希值都匹配,则返回 None,否则将引发异常。

注意

此函数只能在完整发布(例如“1.2.3”)包上调用。

返回值:

None

Raises:
  • ValueError – 如果在完整发布包之外调用

  • RuntimeError – 如果存在丢失、多余或不匹配的文件