Arquivos Spec do PyGWalker
Uma spec do PyGWalker armazena o estado dos gráficos. Use spec_path para arquivos locais que o PyGWalker deve carregar ou salvar, e use spec para JSON inline, IDs de configuração ou specs remotas.
import pygwalker as pyg
walker = pyg.walk(
df,
spec_path="./gw_config.json",
computation="browser",
)spec_path vs spec
| Opção | Use para | Exemplo |
|---|---|---|
spec_path | Arquivos locais de estado de gráfico | spec_path="./gw_config.json" |
spec | JSON inline, ID de configuração ou URL remota de spec | spec='[{"name":"Chart 1", ...}]' |
Para novos exemplos com arquivos locais, prefira spec_path. Isso deixa a persistência em arquivo explícita e evita ambiguidade com JSON inline ou specs remotas.
Salve e reutilize estado de gráficos
Use modo de spec leitura-escrita quando o adaptador expõe salvamento.
import pygwalker as pyg
walker = pyg.Walker(
df,
spec_path="./gw_config.json",
spec_io_mode="rw",
computation="kernel",
)
walker.show()Streamlit e Gradio também oferecem suporte a 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()Renderize gráficos salvos
Use render quando quiser gráficos salvos sem o explorador completo.
import pygwalker as pyg
pyg.render(df, spec_path="./gw_config.json", computation="browser")Use to_render_html para uma exportação estática do renderer.
from pygwalker.api.html import to_render_html
html = to_render_html(df, spec_path="./gw_config.json", computation="browser")Migre specs antigas
pygwalker.spec.migrate atualiza uma spec salva do PyGWalker ou Graphic Walker para o formato de schema atual.
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)Assinatura:
pygwalker.spec.migrate(spec, *, version=None) -> dictspec pode ser:
| Entrada | Aceita |
|---|---|
| Objeto Python carregado | dict ou list |
| String JSON | Sim |
| Caminho de arquivo local existente | Sim |
Se uma string parecer JSON inválido ou o caminho de arquivo não existir, migrate gera ValueError.
Armadilhas comuns
| Armadilha | Correção |
|---|---|
Passar um arquivo local por spec em código novo | Use spec_path. |
Esperar que HTML estático salve edições de volta em spec_path | Use um backend ativo de notebook/app com suporte a salvamento. |
Passar spec_path a um adaptador que já recebeu um Walker | Coloque o caminho da spec no Walker original. |
Migrar uma URL remota de spec com spec.migrate | Carregue primeiro o objeto spec, depois passe o objeto ou a string JSON. |