Skip to content
PYGWALKER
Référence de l'API
Streamlit

API Streamlit PyGWalker

Utilisez StreamlitRenderer pour intégrer PyGWalker dans une application Streamlit. Mettez le renderer en cache lorsque le dataset et l'état des graphiques sont réutilisés entre les relances.

import pandas as pd
import streamlit as st
from pygwalker.api.streamlit import StreamlitRenderer
 
st.set_page_config(page_title="PyGWalker", layout="wide")
 
@st.cache_resource
def get_renderer():
    df = pd.read_csv("data.csv")
    return StreamlitRenderer(
        df,
        spec_path="./gw_config.json",
        spec_io_mode="rw",
        computation="kernel",
    )
 
renderer = get_renderer()
renderer.explorer()

Constructeur

StreamlitRenderer(
    dataset,
    gid=None,
    *,
    field_specs=None,
    theme_key="g2",
    appearance="media",
    spec="",
    spec_path=None,
    spec_io_mode="r",
    computation=None,
    kernel_computation=None,
    use_kernel_calc=None,
    show_cloud_tool=None,
    kanaries_api_key="",
    default_tab="vis",
    **kwargs,
)

dataset peut être une DataFrame pandas, une DataFrame polars, une pyarrow Table, un Connector de base de données ou un pygwalker.Walker réutilisable.

Options clés

OptionValeur par défautNotes
spec_pathNoneFichier local d'état des graphiques. À privilégier pour les fichiers locaux.
spec_io_mode"r"Utilisez "rw" lorsque l'interface Streamlit doit enregistrer les modifications de graphiques dans le fichier spec.
computationNoneUtilisez "browser", "kernel" ou "cloud" pour forcer un mode. Le comportement automatique de Streamlit utilise par défaut le calcul côté kernel.
show_cloud_toolNoneContrôle la visibilité de l'interface cloud lorsqu'elle est disponible.
default_tab"vis"Onglet initial de l'explorateur.

kernel_computation et use_kernel_calc sont des options de compatibilité héritées. Préférez computation ; la suppression de ces anciennes options est prévue dans PyGWalker 0.7.0.

Méthodes principales

MéthodeUtilisation
renderer.explorer(key="explorer", default_tab="vis")Explorateur complet avec glisser-déposer.
renderer.viewer(key="viewer")Interface de rendu en lecture seule/avec filtres.
renderer.chart(index, key="chart", size=None, pre_filters=None)Rendre un graphique enregistré par index à partir de zéro.
renderer.table(key="table")Rendre la vue table.
renderer.set_global_pre_filters(pre_filters)Appliquer des filtres à tous les graphiques sauf si un appel chart les remplace.

Rendre un graphique enregistré

Après avoir enregistré des graphiques dans spec_path, rendez un graphique par son index.

renderer.chart(0, size=(720, 420))

Utilisez PreFilter pour appliquer des filtres au niveau du graphique.

from pygwalker.api.streamlit import PreFilter
 
renderer.chart(
    0,
    pre_filters=[
        PreFilter(field="category", op="one of", value=["A", "B"]),
        PreFilter(field="revenue", op="range", value=[0, 100000]),
    ],
)

PreFilter accepte :

PreFilter(
    field: str,
    op: "range" | "temporal range" | "one of",
    value: list[int | float | str],
)

Pour op="temporal range", les valeurs peuvent être des timestamps en millisecondes ou des chaînes de date analysables.

Réutiliser un Walker

Si le même dataset et les mêmes options doivent être partagés avec d'autres adaptateurs, construisez d'abord un Walker.

import pygwalker as pyg
from pygwalker.api.streamlit import StreamlitRenderer
 
walker = pyg.Walker(
    df,
    spec_path="./gw_config.json",
    spec_io_mode="rw",
    computation="kernel",
)
 
renderer = StreamlitRenderer(walker)
renderer.explorer()

Lorsque vous passez un Walker, placez les options de construction sur pyg.Walker(...). StreamlitRenderer(walker, spec_path="./other.json") est refusé car cela entrerait en conflit avec l'objet existant.

get_streamlit_html

get_streamlit_html retourne la chaîne HTML utilisée par le composant Streamlit.

from pygwalker.api.streamlit import get_streamlit_html
 
html = get_streamlit_html(
    df,
    spec_path="./gw_config.json",
    spec_io_mode="rw",
    mode="explore",
    computation="kernel",
)

Les modes pris en charge sont "explore", "filter_renderer" et "table".

Pièges courants

PiègeCorrection
Recréer StreamlitRenderer à chaque relanceEncapsulez la construction dans @st.cache_resource.
Utiliser spec="./gw_config.json" pour des fichiers locauxUtilisez spec_path="./gw_config.json".
Passer des options de construction après avoir fourni un WalkerDéplacez ces options dans pyg.Walker(...).
Commencer du nouveau code avec kernel_computation=TrueUtilisez computation="kernel".

Guides associés