bokeh.resources#

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

此外,还提供了用于检索 Bokeh JavaScript 文件的 子资源完整性 哈希的函数。

一些预配置的 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 Server 的 URL 和端口

    仅在 'server''server-dev' 模式下有效

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

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

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

  • 'server' 配置为从 Bokeh Server 加载

  • '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]#

克隆资源实例,允许覆盖其组件。

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

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

返回值:

元组

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

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

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

参数:

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

返回值:

字典

引发:

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

示例

单个版本的返回字典将把该版本的文件名映射到其 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

引发:
  • ValueError – 如果在完整发行版软件包之外调用

  • RuntimeError – 如果缺少、多余或文件不匹配