PyGWalker 计算模式
使用 computation 选择 PyGWalker 在哪里运行数据查询。kernel_computation、cloud_computation 和 use_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=True | computation="kernel" | 已弃用,计划在 PyGWalker 0.7.0 中移除。 |
kernel_computation=False | computation="browser" | 已弃用,计划在 PyGWalker 0.7.0 中移除。 |
cloud_computation=True | computation="cloud" | 已弃用,计划在 PyGWalker 0.7.0 中移除。 |
use_kernel_calc=True | computation="kernel" | 已弃用,计划在 PyGWalker 0.7.0 中移除。 |
use_kernel_calc=False | computation="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 API、Streamlit、Gradio 或 webserver 会话。
适配器说明
| 适配器 | 计算说明 |
|---|---|
pyg.walk、pyg.render、pyg.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"。 |