Skip to content

PyGWalker 计算模式

使用 computation 选择 PyGWalker 在哪里运行数据查询。kernel_computationcloud_computationuse_kernel_calc 是旧兼容参数,并计划在 PyGWalker 0.7.0 中移除。

import pygwalker as pyg
 
walker = pyg.walk(df, spec_path="./gw_config.json", computation="kernel")

模式矩阵

computation内部行为适用场景
省略保留自动行为希望 PyGWalker 保持默认选择。
"auto"保留自动行为希望显式声明但不强制后端。
"browser"前端/浏览器计算需要静态 HTML,或本地数据较小。
"kernel"本地 DuckDB 支持的 Python kernel 计算需要在 live notebook、Streamlit、Gradio 或 webserver 会话中处理较大的本地数据。
"cloud"Kanaries 云计算希望使用 Kanaries API key 进行云端计算。

推荐示例

对于静态或仅前端输出,请选择浏览器计算。

html = pyg.to_html(df, spec_path="./gw_config.json", computation="browser")

对于处理较大本地数据的 live notebook 或应用会话,请选择 kernel 计算。

walker = pyg.walk(df, spec_path="./gw_config.json", computation="kernel")

对于云计算,请选择 cloud 模式并传入 API key。

walker = pyg.walk(
    df,
    spec_path="./gw_config.json",
    computation="cloud",
    kanaries_api_key="...",
)

旧参数

旧选项替代写法状态
kernel_computation=Truecomputation="kernel"已弃用,计划在 PyGWalker 0.7.0 中移除。
kernel_computation=Falsecomputation="browser"已弃用,计划在 PyGWalker 0.7.0 中移除。
cloud_computation=Truecomputation="cloud"已弃用,计划在 PyGWalker 0.7.0 中移除。
use_kernel_calc=Truecomputation="kernel"已弃用,计划在 PyGWalker 0.7.0 中移除。
use_kernel_calc=Falsecomputation="browser"已弃用,计划在 PyGWalker 0.7.0 中移除。

旧参数仍可用于兼容,并会发出弃用警告。新文档和新代码应使用 computation

冲突规则

不要将非 auto 的 computation 值与已启用的旧参数混用。

# Raises ValueError.
pyg.walk(df, computation="browser", kernel_computation=True)

改为只用一种方式表达意图:

pyg.walk(df, computation="browser")

静态 HTML 限制

静态 HTML 导出不能回调 live Python kernel 或云服务。以下写法会被拒绝:

pyg.to_html(df, computation="kernel")
pyg.to_html(df, computation="cloud")
pyg.to_html(df, kernel_computation=True)
pyg.to_html(df, cloud_computation=True)
pyg.to_html(df, use_kernel_calc=True)

静态导出请使用浏览器计算:

html = pyg.to_html(df, spec_path="./gw_config.json", computation="browser")

需要 live kernel 或 cloud 计算时,请使用 Notebook APIStreamlitGradio 或 webserver 会话。

适配器说明

适配器计算说明
pyg.walkpyg.renderpyg.table接受 computation;在 Jupyter 中路由到 notebook 适配器,在其他环境中路由到 webserver 适配器。
pyg.Walker保存计算模式以便复用。静态导出方法仍会拒绝 live kernel/cloud 模式。
pygwalker.api.anywidget.walk在 notebook widget 上下文中使用自动模式时,默认采用 kernel 行为。
StreamlitRenderer使用自动模式时默认采用 kernel 行为;接受 computation="browser""kernel""cloud"
get_html_on_gradio接受 computation 和 live 后端模式。
pyg.to_html仅支持浏览器/静态。
Reflex 适配器拒绝 kernel 和 cloud 计算;请使用 computation="browser"

相关指南