bokeh.util

提供用于实现Bokeh功能的通用实用程序集合。

bokeh.util.browser

帮助处理涉及浏览器的操作的实用程序函数。

class DummyWebBrowser[源代码]

一个“无操作”的网络浏览器控制器。

open(url: str, new: int = 0, autoraise: bool = True)bool[源代码]

接收标准参数,不执行任何操作。

get_browser_controller(browser: Optional[str] = None) → bokeh.util.browser.BrowserLike[源代码]

返回浏览器控制器。

参数

browser (str or None) -- 浏览器名称,或 None (默认: None )如果传递字符串 'none' ,则返回一个虚拟的web浏览器控制器,否则,请使用该值使用 webbrowser 标准库模块。在值中是 None 然后使用系统默认值。

返回

web浏览器控制器

返回类型

controller

view(location: str, browser: Optional[str] = None, new: typing_extensions.Literal[same, window, tab] = 'same', autoraise: bool = True)None[源代码]

打开浏览器以查看指定位置。

参数
  • location (str) -- 如果位置不是以“http:”开头,则打开的位置假定为本地文件系统上的文件路径。

  • browser (str or None) -- 要使用的浏览器(默认值:无)如果 None ,使用系统默认浏览器。

  • new (str) -- 如何打开位置。有效值: 'same' -在当前选项卡中打开 'tab' -在当前窗口中打开新选项卡 'window' -在新窗口中打开

  • autoraise (bool) -- 是否自动在新浏览器窗口中升高位置(默认值:True)

返回

没有

bokeh.util.callback_manager

提供 PropertyCallbackManagerEventCallbackManager 用于添加类的mixin on_changeon_event 类的回调接口。

class EventCallbackManager(*args, **kw)[源代码]

一个mixin类,提供在Python端注册和触发事件回调的接口。

class PropertyCallbackManager(*args, **kw)[源代码]

提供用于注册和触发回调的接口的mixin类。

on_change(attr, *callbacks)[源代码]

在此对象上添加回调以在 attr 变化。

参数
  • attr (str) -- 此对象的属性名

  • callback (callable) -- 要注册的回调函数

返回

没有

remove_on_change(attr, *callbacks)[源代码]

从此对象中删除回调

trigger(attr, old, new, hint=None, setter=None)[源代码]

触发的回调 attr 在这个物体上。

参数
返回

没有

bokeh.util.compiler

提供函数和类来帮助进行各种JS和CSS编译。

exception CompilationError(error)[源代码]

A RuntimeError 用于报告JS编译错误的子类。

class AttrDict[源代码]

提供支持通过命名属性访问的dict子类。

class CustomModel(cls)[源代码]

表示自定义(用户定义的)Bokeh模型。

class FromFile(path)[源代码]

从单独的源文件读取的自定义模型实现。

参数

path (str) -- 包含扩展源代码的文件的路径

class Implementation[源代码]

表示Bokeh自定义模型实现的基类。

class Inline(code, file=None)[源代码]

表示Bokeh自定义模型实现的基类,这些实现可能在某些语言中以内联代码的形式给出。

参数
  • code (str) -- 实现的源代码

  • file (str, optional) -- 包含源文本的文件的文件路径(默认值:无)

class JavaScript(code, file=None)[源代码]

一个Bokeh自定义模型的JavaScript实现

示例

class MyExt(Model):
    __implementation__ = JavaScript(""" <JavaScript code> """)
class Less(code, file=None)[源代码]

一个较少CSS样式表的实现。

class TypeScript(code, file=None)[源代码]

TypeScript中Bokeh自定义模型的实现

示例

class MyExt(Model):
    __implementation__ = TypeScript(""" <TypeScript code> """)
bundle_all_models()[源代码]

创建所有模型的捆绑包。

bundle_models(models)[源代码]

创建选定的绑定 models .

calc_cache_key(custom_models)[源代码]

生成用于缓存自定义扩展实现的密钥。

除了模型类之外没有其他元数据,因此这是生成缓存键的唯一基础。

我们从列表中构建模型密钥 model.full_name . 这并不理想,但可能以后会找到更好的解决方案。

get_cache_hook()[源代码]

返回当前缓存钩子,该钩子用于查找给定CustomModel和实现的已编译代码

set_cache_hook(hook)[源代码]

设置一个编译模型缓存钩子,用于在给定CustomModel和实现的情况下查找已编译代码

bokeh.util.dependencies

用于检查依赖项的实用程序

import_optional(mod_name: str) → Optional[module][源代码]

尝试导入可选依赖项。

如果请求的模块不可用,则静默返回None。

参数

mod_name (str) -- 尝试导入模块的可选名称

返回

导入模块或无,如果导入失败

import_required(mod_name: str, error_msg: str) → module[源代码]

尝试导入所需的依赖项。

如果请求的RuntimeModule不可用,则引发错误。

参数
  • mod_name (str) -- 要尝试导入的所需模块的名称

  • error_msg (str) -- 当模块丢失时引发的错误消息

返回

导入的模块

引发

RuntimeError --

bokeh.util.deprecation

bokeh.util.functions

函数内省的实用程序。

get_param_info(sig)[源代码]

找到具有默认值的参数并返回它们。

参数

sig (Signature) -- 函数签名

返回

带默认值的参数

返回类型

tuple(list, list)

bokeh.util.hex

用于处理六边形平铺的函数。

有关此处使用的概念的更多信息,请参阅此信息页

axial_to_cartesian(q: Any, r: Any, size: float, orientation: str, aspect_scale: float = 1) → Tuple[Any, Any][源代码]

地图轴 (q,r) 坐标到笛卡尔 (x,y) 瓷砖中心的坐标。

此函数可用于定位其他具有笛卡尔坐标的Bokeh glyph相对于十六进制平铺。

此功能改编自:

参数
  • q (array[float]) -- 一种用于分块的q坐标NumPy数组

  • r (array[float]) -- 用于分块的r坐标的NumPy数组

  • size (float) -- 六边形瓷砖的大小。尺寸定义为从六边形中心到上角的距离(对于“点到顶”方向),或从中心到边角的距离(对于“平顶”方向)。

  • orientation (str) -- 十六进制平铺方向应为“pointytop”还是“flattop”。

  • aspect_scale (float, optional) -- 在“交叉”维度中缩放六边形。对于“pointytop”方向,六边形在水平方向上缩放。对于“平顶”,它们按垂直方向缩放。当使用 aspect_scale != 1 ,可以设置此值以匹配绘图。

返回

数组(数组 [int] ,数组 [int] )

cartesian_to_axial(x: Any, y: Any, size: float, orientation: str, aspect_scale: float = 1) → Tuple[Any, Any][源代码]

地图编辑 (x,y) 指向轴向 (q,r) 封闭瓷砖的坐标。

此功能改编自:

参数
  • x (array[float]) -- 要转换的x坐标的NumPy数组

  • y (array[float]) -- 要转换的y坐标的NumPy数组

  • size (float) -- 六边形瓷砖的大小。尺寸定义为从六边形中心到上角的距离(对于“点到顶”方向),或从中心到边角的距离(对于“平顶”方向)。

  • orientation (str) -- 十六进制平铺方向应为“pointytop”还是“flattop”。

  • aspect_scale (float, optional) -- 在“交叉”维度中缩放六边形。对于“pointytop”方向,六边形在水平方向上缩放。对于“平顶”,它们按垂直方向缩放。当使用 aspect_scale != 1 ,可以设置此值以匹配绘图。

返回

数组(数组 [int] ,数组 [int] )

hexbin(x: Any, y: Any, size: float, orientation: str = 'pointytop', aspect_scale: float = 1) → Any[源代码]

对数据点进行等重装箱,形成六边形块。

对于更复杂的用例,例如加权装箱或按比例缩放单个瓷砖,可以考虑使用HoloViews。

参数
  • x (array[float]) -- 用于分块的x坐标的NumPy数组

  • y (array[float]) -- 用于分块的y坐标的NumPy数组

  • size (float) -- 六边形瓷砖的大小。尺寸定义为从六边形中心到上角的距离(对于“点到顶”方向),或从中心到边角的距离(对于“平顶”方向)。

  • orientation (str, optional) -- 十六进制平铺方向应为“pointytop”还是“flattop”。(默认值:“pointytop”)

  • aspect_scale (float, optional) -- 匹配绘图的纵横比比例。当使用 aspect_scale != 1 ,可以设置此参数以匹配绘图,以便绘制规则的六边形(而不是“拉伸”六边形)。这大致相当于“屏幕空间”中的分块,当绘图纵横比不为一时,最好使用轴对齐的矩形箱。

返回

数据帧生成的数据帧将有列 qr 在轴坐标和列中指定六边形平铺位置 计数 提供每个磁贴的计数。

警告

十六进制二进制仅在线性刻度上起作用,即在对数图上不起作用。

bokeh.util.logconfig

为Bokeh配置日志记录系统。

默认情况下,不配置日志记录,以允许Bokeh用户完全控制日志记录策略。但是,在开发Bokeh时,能够任意启用日志记录是很有用的。这可以通过设置环境变量来实现 BOKEH_PY_LOG_LEVEL . 有效值按严重程度的顺序为:

  • debug

  • info

  • warn

  • error

  • fatal

  • none

默认日志记录级别为 none .

basicConfig(**kwargs: Any)None[源代码]

A日志记录.basicConfig()包装器,它还撤消了默认的Bokeh特定配置。

bokeh.util.options

用于指定、验证和记录配置选项的实用程序。

class Options(kw: Dict[str, Any])[源代码]

利用Bokeh properties类型系统指定和验证配置选项。

亚类 Options 使用标准Bokeh属性指定一组配置选项:

class ConnectOpts(Options):

    host = String(default="127.0.0.1", help="a host value")

    port = Int(default=5590, help="a port value")

然后是 ConnectOpts 可以通过传递包含与配置选项对应的键和值以及任何其他键和值的字典来创建。与上的属性对应的项 ConnectOpts*removed *从字典里。这对于接受自己的一组config关键字参数和一些Bokeh模型属性集的函数非常有用。

bokeh.util.paths

bokehjsdir(dev: bool = False)str[源代码]

获取bokehjs源文件的位置。如果dev为True,则首选bokehjs/build中的文件。否则使用bokeh/server/static中的文件。

serverdir()str[源代码]

获取服务器子包的位置

bokeh.util.serialization

用于帮助序列化和反序列化Bokeh对象的函数。

为了提高性能和效率,某些NumPy数组数据类型可以序列化为二进制格式。支持的数据类型列表为:

  • np.float32

  • np.uint16

  • np.int16

  • np.int8

  • np.uint8

  • np.uint32

  • np.int32

  • np.float64

array_encoding_disabled(array)[源代码]

确定数组是否可以二进制编码。

可以对数组进行编码的数据类型:

  • np.float32

  • np.uint16

  • np.int16

  • np.int8

  • np.uint8

  • np.uint32

  • np.int32

  • np.float64

参数

array (np.ndarray) -- 要检查的数组

返回

布尔

convert_date_to_datetime(obj)[源代码]

将日期对象转换为日期时间

参数

obj (date) -- 要转换的对象

返回

日期时间

convert_datetime_array(array)[源代码]

将NumPy datetime数组转换为从epoch到毫秒的数组。

参数

array -- (obj)要转换的datetime的NumPy数组如果传入的值不是NumPy数组,它将按原样返回。

返回

数组

convert_datetime_type(obj)[源代码]

将任何可识别的日期、时间或日期时间值转换为自epoch以来的浮点毫秒数。

参数:

obj(object):要转换的对象

返回

毫秒

返回类型

float

convert_timedelta_type(obj)[源代码]

将任何可识别的timedelta值转换为浮点绝对毫秒。

参数:

obj(object):要转换的对象

返回

毫秒

返回类型

float

decode_base64_dict(data)[源代码]

将base64编码的数组解码为NumPy数组。

参数

data (dict) -- 要解码的编码数组数据

数据的格式应该由 encode_base64_dict() .

返回

np.ndarray

encode_base64_dict(array)[源代码]

使用base64对NumPy数组进行编码:

编码格式为dict,其结构如下:

{
    '__ndarray__' : << base64 encoded array data >>,
    'shape'       : << array shape >>,
    'dtype'       : << dtype name >>,
}
参数

array (np.ndarray) -- 要编码的数组

返回

双关语

encode_binary_dict(array, buffers)[源代码]

将numpy数组作为未编码的二进制缓冲区发送

编码格式为dict,其结构如下:

{
    '__buffer__' :  << an ID to locate the buffer >>,
    'shape'      : << array shape >>,
    'dtype'      : << dtype name >>,
    'order'      : << byte order at origin (little or big)>>
}
参数
  • array (np.ndarray) -- 要编码的数组

  • buffers (set) -- 设置为添加缓冲区 这是一个“out”参数 . 它包含的值将被就地修改。

返回

双关语

is_datetime_type(obj)[源代码]

对象是否是Bokeh识别的任何日期、时间或日期时间类型。

参数:

obj(object):要测试的对象

返回

如果真 obj 是日期时间类型

返回类型

bool

is_timedelta_type(obj)[源代码]

对象是否是Bokeh识别的任何timedelta类型。

参数:

obj(object):要测试的对象

返回

如果真 obj 是timedelta类型

返回类型

bool

make_globally_unique_id()[源代码]

返回全局唯一的UUID。

有些情况下,例如在HTML文档中动态创建div的id,总是需要全局唯一的id。

返回

STR

make_id()[源代码]

返回Bokeh对象的新的唯一ID。

通常,此函数将返回简单的单调递增整数id(作为字符串),用于标识文档中的Bokeh对象。但是,如果希望每个对象都具有全局唯一性,则可以通过设置环境变量来重写此行为 BOKEH_SIMPLE_IDS=no .

返回

STR

serialize_array(array, force_list=False, buffers=None)[源代码]

将NumPy数组转换为序列化形式。

参数
  • array (np.ndarray) -- 要转换的NumPy数组

  • force_list (bool, optional) -- 是否只输出到标准列表此函数可以使用二进制编码对某些数据类型进行编码,但将此参数设置为True将覆盖该值并导致只发出标准Python列表。(默认值:False)

  • buffers (set, optional) -- 如果需要二进制缓冲区,可以提供buffers参数,并且可以作为二进制缓冲区发送的任何列都将添加到集合中。如果无,则仅使用base64编码(默认值:无)。如果force_list为True,则忽略此值,并且不会生成缓冲区。 这是一个“out”参数 . 它包含的值将被就地修改。

返回

列表或dict

transform_array(array, force_list=False, buffers=None)[源代码]

将NumPy数组转换为序列化格式

转换不可序列化的数据类型并返回JSON可序列化格式

参数
  • array (np.ndarray) -- 要转换的NumPy数组

  • force_list (bool, optional) -- 是否只输出到标准列表此函数可以使用二进制编码对某些数据类型进行编码,但将此参数设置为True将覆盖该值并导致只发出标准Python列表。(默认值:False)

  • buffers (set, optional) -- 如果需要二进制缓冲区,可以提供buffers参数,并且可以作为二进制缓冲区发送的任何列都将添加到集合中。如果无,则仅使用base64编码(默认值:无)。如果force_list为True,则忽略此值,并且不会生成缓冲区。 这是一个“out”参数 . 它包含的值将被就地修改。

返回

JSON

transform_array_to_list(array)[源代码]

将NumPy数组转换为值列表

参数

array (np.nadarray) -- 要转换的NumPy数组系列

返回

列表或dict

transform_column_source_data(data, buffers=None, cols=None)[源代码]

变换 ColumnSourceData 将数据转换为序列化格式

参数
  • data (dict) -- 名称到要转换的数据列的映射

  • buffers (set, optional) -- 如果需要二进制缓冲区,可以提供buffers参数,并且可以作为二进制缓冲区发送的任何列都将添加到集合中。如果使用base64编码,则仅使用basenone 这是一个“out”参数 . 它包含的值将被就地修改。

  • cols (list[str], optional) -- 要转换的列子集的可选列表。如果没有,将转换所有列(默认值:无)

返回

JSON兼容dict

transform_series(series, force_list=False, buffers=None)[源代码]

将熊猫系列转换为序列化形式

参数
  • series (pd.Series) -- 要转型的熊猫系列

  • force_list (bool, optional) -- 是否只输出到标准列表此函数可以使用二进制编码对某些数据类型进行编码,但将此参数设置为True将覆盖该值并导致只发出标准Python列表。(默认值:False)

  • buffers (set, optional) -- 如果需要二进制缓冲区,可以提供buffers参数,并且可以作为二进制缓冲区发送的任何列都将添加到集合中。如果无,则仅使用base64编码(默认值:无)。如果force_list为True,则忽略此值,并且不会生成缓冲区。 这是一个“out”参数 . 它包含的值将被就地修改。

返回

列表或dict

traverse_data(obj, buffers=None)[源代码]

递归地遍历一个对象,直到找到一个平面列表。

平面列表转换为numpy数组并传递给transform_array()来处理 naninf-inf .

参数

obj (list) -- 值或列表的列表

bokeh.util.token

用于生成和操作会话ID的实用程序。

会话ID通常与查看应用程序或绘图的每个浏览器选项卡相关联。每个会话都有自己的状态,与服务器承载的任何其他会话都是独立的。

check_session_id_signature(session_id: str, secret_key: Optional[bytes] = None, signed: Optional[bool] = False)bool[源代码]

检查会话ID的签名,如果有效则返回True。

服务器使用此函数检查是否使用正确的密钥生成了会话ID。如果禁用签名会话,则此函数始终返回True。

check_token_signature(token: str, secret_key: Optional[bytes] = None, signed: Optional[bool] = False)bool[源代码]

检查令牌的签名和包含的签名。

服务器使用此函数检查是否使用正确的密钥生成令牌和包含的会话id。如果禁用签名会话,此函数始终返回True。

参数
  • token (str) -- 要检查的令牌

  • secret_key (str, optional) -- 密钥(默认值:BOKEH_Secret_key环境变量的值)

  • signed (bool, optional) -- 是否检查任何内容(默认值:BOKEH_SIGN_SESSIONS环境变量的值)

返回

布尔

generate_jwt_token(session_id: str, secret_key: Optional[bytes] = None, signed: bool = False, extra_payload: Optional[Dict[str, Any]] = None, expiration: int = 300)str[源代码]

生成一个JWT令牌,给定一个会话标识和附加负载。

参数
  • session_id (str) -- 要添加到令牌的会话id

  • secret_key (str, optional) -- 密钥(默认值:BOKEH_Secret_key environment variable的值)

  • signed (bool, optional) -- 是否签名会话ID(默认值:BOKEH_sign_SESSIONS environment varariable的值)

  • extra_payload (dict, optional) -- 要包含在Bokeh会话令牌中的额外密钥/值对

  • expiration (int, optional) -- 有效期

返回

STR

generate_secret_key()str[源代码]

生成适用于SHA-256 HMAC签名的新安全生成的密钥。

例如,此密钥可用于签名Bokeh服务器会话id。

generate_session_id(secret_key: Optional[bytes] = None, signed: bool = False)str[源代码]

生成随机会话ID。

通常,连接到Bokeh应用程序的每个浏览器选项卡都有自己的会话ID。在Bokeh应用程序的生产部署中,会话ID应该是随机且不可使用的,否则应用程序的用户可能会相互干扰。

get_session_id(token: str) → Any[源代码]

从JWT令牌中提取会话id。

参数

token (str) -- 包含会话标识和其他数据的JWT令牌。

返回

STR

get_token_payload(token: str) → Any[源代码]

从令牌中提取有效负载。

参数

token (str) -- 包含会话标识和其他数据的JWT令牌。

返回

双关语

bokeh.util.string

对字符串操作或编码有用的函数。

format_docstring(docstring: Optional[str], *args: Any, **kwargs: Any) → Optional[str][源代码]

安全格式化docstring。

当使用 -OO 选项,则删除文档字符串并替换值 None . 此函数防止在这种情况下应用字符串格式选项。

参数
  • docstring (str or None) -- 要格式化的docstring,或 None

  • args (tuple) -- 文档的字符串格式参数

  • kwargs (dict) -- 文档的字符串格式参数

返回

STR或无

indent(text: str, n: int = 2, ch: str = ' ')str[源代码]

将给定文本块中的所有行按指定的量缩进。

参数
  • text (str) -- 要缩进的文本

  • n (int, optional) -- 每行的缩进量(默认值:2)

  • ch (char, optional) -- 用什么字符填充缩进(默认值:“”)

nice_join(seq: Sequence[str], sep: str = ', ', conjuction: str = 'or')str[源代码]

使用连词将字符串序列连接成英语友好短语 or 在适当的时候。

参数
  • seq (seq[str]) -- 要正确连接的字符串序列

  • sep (str, optional) -- 要使用的序列分隔符(默认值:“,”)

  • conjunction (str or None, optional) -- 用于最后两个项的连接,或无用于重现基本联接行为(默认值:“或”)

返回

连接的字符串

实际案例

>>> nice_join(["a", "b", "c"])
'a, b or c'
snakify(name: str, sep: str = '_')str[源代码]

将CamelCase转换为snake iu case。

bokeh.util.tornado

与龙卷风有关的内部实用程序

bokeh.util.terminal

提供格式化终端输出的实用程序。

bokeh.util.version

为Bokeh库提供一个版本。

此模块使用 versioneer 管理版本字符串。在开发过程中, versioneer 将从当前git修订版计算版本字符串。对于基于off标记的打包发行版,版本字符串在打包分发的文件中硬编码。

__version__

已安装此Bokeh的完整版本库字符串

功能:
基本版本:

返回基本版本字符串,不附加任何“dev”、“rc”或本地构建信息。

是否完全释放:

返回当前安装的版本是否为完整版本。

bokeh.util.warnings

提供Bokeh特定的警告子类。

这些子类的主要用途是强制它们在默认情况下无条件地显示给用户。

exception BokehDeprecationWarning[源代码]

一个特定于桶的 DeprecationWarning 子类。

用于有选择地过滤无条件显示的Bokeh不赞成。

exception BokehUserWarning[源代码]

一个特定于桶的 UserWarning 子类。

用于有选择地过滤无条件显示的Bokeh警告。