Archivos spec de PyGWalker
Una spec de PyGWalker almacena el estado de gráficos. Usa spec_path para archivos locales que PyGWalker deba cargar o guardar, y usa spec para JSON en línea, IDs de configuración o specs remotas.
import pygwalker as pyg
walker = pyg.walk(
df,
spec_path="./gw_config.json",
computation="browser",
)spec_path vs spec
| Opción | Úsala para | Ejemplo |
|---|---|---|
spec_path | Archivos locales de estado de gráficos | spec_path="./gw_config.json" |
spec | JSON en línea, ID de configuración o URL remota de spec | spec='[{"name":"Chart 1", ...}]' |
Para ejemplos nuevos con archivos locales, prefiere spec_path. Hace explícita la persistencia en archivo y evita ambigüedad con JSON en línea o specs remotas.
Guarda y reutiliza el estado de gráficos
Usa el modo spec de lectura-escritura cuando el adaptador exponga guardado.
import pygwalker as pyg
walker = pyg.Walker(
df,
spec_path="./gw_config.json",
spec_io_mode="rw",
computation="kernel",
)
walker.show()Streamlit y Gradio también admiten 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()Renderiza gráficos guardados
Usa render cuando quieras gráficos guardados sin el explorador completo.
import pygwalker as pyg
pyg.render(df, spec_path="./gw_config.json", computation="browser")Usa to_render_html para una exportación estática del renderer.
from pygwalker.api.html import to_render_html
html = to_render_html(df, spec_path="./gw_config.json", computation="browser")Migra specs antiguas
pygwalker.spec.migrate actualiza una spec guardada de PyGWalker o Graphic Walker a la forma de esquema actual.
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)Firma:
pygwalker.spec.migrate(spec, *, version=None) -> dictspec puede ser:
| Entrada | Aceptada |
|---|---|
| Objeto Python cargado | dict o list |
| Cadena JSON | Sí |
| Ruta de archivo local existente | Sí |
Si una cadena parece JSON inválido o la ruta de archivo no existe, migrate genera ValueError.
Errores comunes
| Error | Solución |
|---|---|
Pasar un archivo local mediante spec en código nuevo | Usa spec_path. |
Esperar que HTML estático guarde ediciones de vuelta en spec_path | Usa un backend activo de notebook/app con soporte de guardado. |
Pasar spec_path a un adaptador que ya recibió un Walker | Coloca la ruta spec en el Walker original. |
Migrar una URL remota de spec con spec.migrate | Carga primero el objeto spec y luego pasa el objeto o la cadena JSON. |