Skip to content
Top 5 bibliothèques Python pour héberger et partager votre PyGWalker en tant qu'application Web

Top 5 bibliothèques Python pour héberger et partager votre PyGWalker en tant qu'application Web

Dans le monde actuel centré sur les données et en constante évolution, partager vos idées est aussi important que les générer. Python, en tant que langage de premier plan en science des données, offre de nombreuses bibliothèques pour créer des applications Web à partir de vos analyses de données. Si vous êtes fan de pygwalker pour la visualisation interactive, vous avez de la chance ! Cet article vous présente les 5 meilleures bibliothèques pour héberger et partager vos visualisations pygwalker en tant qu'applications Web.

  1. Streamlit
  2. Gradio
  3. Dash
  4. Shiny-Python
  5. Flask

1. Streamlit

Présentation: Streamlit (opens in a new tab) est une bibliothèque Python extrêmement populaire qui transforme les scripts de données en applications Web partageables en quelques minutes seulement, au lieu de semaines. Vous pouvez considérer Streamlit comme Flask adapté aux data scientists, ce qui permet un développement rapide d'applications de données sans avoir à plonger dans les subtilités du développement Web. De plus, Streamlit offre une plateforme transparente pour convertir pygwalker en une application Web en direct, vous permettant de partager avec un public plus large et de ne pas se contenter de présenter des rapports statiques. L'utilisateur peut poser des questions et poursuivre l'exploration en fonction de ses besoins.

Fonctionnalités clés:

  • Simplicité: Transformez vos scripts de données en applications Web en quelques lignes de code seulement.
  • Widgets interactifs: Ajoutez facilement des curseurs, des boutons et des champs de saisie de texte pour manipuler les visualisations.
  • Rechargement à chaud: Visualisez les modifications en temps réel sans redémarrer votre application.

Intégration avec PyGWalker: Streamlit et PyGWalker offrent une combinaison puissante. L'API récente de pygwalker facilite son utilisation avec Streamlit, en permettant l'utilisation du moteur de calcul duckdb, une fonctionnalité exclusive à leur combinaison. Voici un guide d'intégration étape par étape :

  1. Configuration de l'environnement : Assurez-vous d'avoir Python 3.6 ou une version supérieure. Installez les dépendances nécessaires avec la commande :

    pip install pandas pygwalker streamlit
  2. Intégration de PyGWalker dans Streamlit : Créez un nouveau script Python nommé pygwalker_demo.py. Utilisez le StreamlitRenderer de pygwalker.api.streamlit pour une intégration transparente :

    from pygwalker.api.streamlit import StreamlitRenderer, init_streamlit_comm
    import pandas as pd
    import streamlit as st
     
    st.set_page_config(
        page_title="Utiliser Pygwalker dans Streamlit",
        layout="wide"
    )
     
    init_streamlit_comm()
    st.title("Utiliser Pygwalker dans Streamlit")
     
    @st.cache_resource
    def get_pyg_renderer() -> "StreamlitRenderer":
        df = pd.read_csv("https://kanaries-app.s3.ap-northeast-1.amazonaws.com/public-datasets/bike_sharing_dc.csv")
        return StreamlitRenderer(df, spec="./gw_config.json", debug=False)
     
    renderer = get_pyg_renderer()
    renderer.render_explore()
  3. Exploration des données dans Streamlit avec PyGWalker : Exécutez votre application Streamlit en utilisant la commande : streamlit run pygwalker_demo.py. Cette commande démarrera votre application Streamlit et vous pourrez visualiser vos données de manière interactive en utilisant la fonctionnalité intuitive de glisser-déposer de PyGWalker.

  4. Sauvegarde de l'état du graphique PyGWalker : Lorsque votre rendu pygwalker est en mode débogage et que le paramètre spec pointe vers un chemin de fichier JSON local, vous pouvez sauvegarder la configuration de votre graphique en cliquant sur le bouton de sauvegarde dans l'interface d'exploration.

Plus d'informations : Comment utiliser PyGWalker avec Streamlit

2. Gradio

Présentation: Gradio (opens in a new tab) vous permet de créer une interface utilisateur autour de modèles d'apprentissage automatique. Mais ce n'est pas limité à cela. Sa facilité de création d'interfaces personnalisées est inégalée.

Fonctionnalités clés:

  • Flexibilité de l'interface: Créez des interfaces à partir de listes déroulantes, de curseurs, de zones de texte, etc.
  • Déploiement rapide: Créez et déployez rapidement des prototypes d'apprentissage automatique.
  • Partage: Obtenez des liens partageables pour vos applications, ce qui facilite la collaboration.

Intégration avec PyGWalker: Le composant d'interface HTML de Gradio peut héberger des visualisations pygwalker.

import gradio as gr
import pygwalker as pyg
 
code_html = pyg.walk(..., return_html=True)
gr.Interface(fn=None, inputs=None, outputs=gr.HTML()).launch()

Plus d'informations : Comment utiliser PyGWalker avec Gradio

3. Dash

Présentation: Dash (opens in a new tab) de Plotly est un framework productif pour créer des applications Web analytiques. Aucun JavaScript n'est requis.

Fonctionnalités clés:

  • Réactivité: Construisez des applications réactives autour des graphiques Plotly.
  • Personnalisable: Concevez votre interface utilisateur avec une vaste gamme de composants Dash.
  • Intégration: Prise en charge étendue d'autres bibliothèques de graphiques Plotly.

Intégration avec PyGWalker: Avec le composant html.Div de Dash, les visualisations pygwalker peuvent être intégrées de manière transparente.

import dash
import dash_dangerously_set_inner_html
 
import dash_html_components as html
import pygwalker as pyg
 
from datasets import load_dataset
# load dataset
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
 
app = dash.Dash()
 
html_code = pyg.walk(df, return_html=True)
 
app.layout = html.Div([
    dash_dangerously_set_inner_html.DangerouslySetInnerHTML(html_code),
])
 
if __name__ == '__main__':
    app.run_server(debug=True)
 

4. Shiny-Python

Présentation: Alors que la bibliothèque Shiny de R est renommée pour les applications interactives, le portage Python, shiny, apporte des capacités similaires à Python.

Fonctionnalités clés:

  • Réactivité: Créez des applications avec des liaisons réactives pour des mises à jour en direct.
  • Composants d'interface utilisateur: Shiny offre une pléthore de composants d'interface utilisateur.

Intégration avec PyGWalker: En utilisant le composant ui.HTML, les visualisations pygwalker peuvent être intégrées dans l'application Shiny.

from shiny import App, ui
import pygwalker as pyg
 
code_html = pyg.walk(..., return_html=True)
 
app_ui = ui.page_fluid(
    ui.HTML(code_html)
)
 
app = App(app_ui)

Plus d'informations : Comment utiliser PyGWalker avec Shiny-Python

5. Flask

Présentation: Flask (opens in a new tab) est un framework d'application Web WSGI léger. Bien qu'il ne soit pas spécifiquement destiné aux applications de données, sa flexibilité est inégalée.

Fonctionnalités clés:

  • Microframework : Flask vous offre les bases pour exécuter une application Web.
  • Extensions : Améliorez les capacités de Flask grâce à des extensions.

Intégration avec PyGWalker: Vous pouvez afficher le code HTML de pygwalker au sein d'une application Flask en utilisant la fonction render_template.

from flask import Flask, render_template_string
import pygwalker as pyg
 
app = Flask(__name__)
 
@app.route('/')
def home():
    code_html = pyg.walk(..., return_html=True)
    return render_template_string(code_html)
 
if __name__ == '__main__':
    app.run(debug=True)

Conclusion

Vos histoires de données méritent un public plus large, et ces bibliothèques le permettent ! Que vous construisiez un simple prototype ou une application de données complète, ces bibliothèques combinées à pygwalker offrent une combinaison puissante pour rendre vos données accessibles et interactives. Plongez-vous dedans, expérimentez et laissez vos visualisations briller sur le web !