PyGWalker Spec ファイル
PyGWalker spec はチャート状態を保存します。PyGWalker が読み込みまたは保存するローカルファイルには spec_path を使い、インライン JSON、config ID、リモート spec には spec を使います。
import pygwalker as pyg
walker = pyg.walk(
df,
spec_path="./gw_config.json",
computation="browser",
)spec_path と spec
| オプション | 用途 | 例 |
|---|---|---|
spec_path | ローカルチャート状態ファイル | spec_path="./gw_config.json" |
spec | インライン JSON、config ID、またはリモート spec URL | spec='[{"name":"Chart 1", ...}]' |
新しいローカルファイル例では spec_path を推奨します。ファイル永続化が明示的になり、インライン JSON やリモート spec との曖昧さを避けられます。
チャート状態を保存して再利用する
アダプターが保存機能を提供する場合は、read-write spec mode を使います。
import pygwalker as pyg
walker = pyg.Walker(
df,
spec_path="./gw_config.json",
spec_io_mode="rw",
computation="kernel",
)
walker.show()Streamlit と Gradio も spec_io_mode をサポートします。
from pygwalker.api.streamlit import StreamlitRenderer
renderer = StreamlitRenderer(
df,
spec_path="./gw_config.json",
spec_io_mode="rw",
computation="kernel",
)
renderer.explorer()保存済みチャートをレンダリングする
explorer 全体ではなく保存済みチャートだけが必要な場合は render を使います。
import pygwalker as pyg
pyg.render(df, spec_path="./gw_config.json", computation="browser")静的 renderer エクスポートには to_render_html を使います。
from pygwalker.api.html import to_render_html
html = to_render_html(df, spec_path="./gw_config.json", computation="browser")古い spec を移行する
pygwalker.spec.migrate は保存済みの PyGWalker または Graphic Walker spec を現在の schema 形状へ更新します。
import json
import pygwalker as pyg
migrated = pyg.spec.migrate("./old_gw_config.json")
with open("./gw_config.json", "w", encoding="utf-8") as f:
json.dump(migrated, f, ensure_ascii=False, indent=2)Signature:
pygwalker.spec.migrate(spec, *, version=None) -> dictspec には次を渡せます。
| 入力 | 受け付け |
|---|---|
| 読み込み済み Python オブジェクト | dict または list |
| JSON 文字列 | Yes |
| 既存のローカルファイルパス | Yes |
文字列が不正な JSON に見える場合、またはファイルパスが存在しない場合、migrate は ValueError を送出します。
よくある落とし穴
| 落とし穴 | 修正方法 |
|---|---|
新しいコードでローカルファイルを spec に渡す | spec_path を使います。 |
静的 HTML が編集を spec_path へ保存できると期待する | 保存をサポートするライブ notebook / app バックエンドを使います。 |
すでに Walker を受け取ったアダプターに spec_path を渡す | spec path は元の Walker に設定します。 |
リモート spec URL を spec.migrate で移行する | 先に spec オブジェクトを読み込み、オブジェクトまたは JSON 文字列を渡します。 |