Skip to content
Las 5 mejores bibliotecas de Python para alojar y compartir tu PyGWalker como una aplicación web

Las 5 mejores bibliotecas de Python para alojar y compartir tu PyGWalker como una aplicación web

En el mundo actual centrado en datos y de ritmo rápido, compartir tus ideas es tan importante como obtenerlas. Python, siendo un lenguaje líder en ciencia de datos, ofrece numerosas bibliotecas para crear aplicaciones web a partir de tus análisis de datos. Si eres fanático de pygwalker para visualización interactiva, ¡estás de suerte! Esta publicación de blog revelará las 5 mejores bibliotecas para alojar y compartir tus visualizaciones de pygwalker como aplicaciones web.

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

1. Streamlit

Descripción general: Streamlit (opens in a new tab) es una biblioteca de Python inmensamente popular que transforma scripts de datos en aplicaciones web compartibles en cuestión de minutos en lugar de semanas. Puedes pensar en Streamlit como Flask adaptado para científicos de datos, que permite el desarrollo rápido de aplicaciones de datos sin tener que sumergirte en las complejidades del desarrollo web. Además, Streamlit proporciona una plataforma fluida para convertir pygwalker en una aplicación web en vivo, lo que te permite compartir con una audiencia más amplia y no solo presentar informes estáticos. El usuario puede formular preguntas y continuar la exploración según sus necesidades.

Características clave:

  • Sencillez: Transforma tus scripts de datos en aplicaciones web con solo unas pocas líneas de código.
  • Widgets interactivos: Añade fácilmente controles deslizantes, botones y campos de texto para manipular visualizaciones.
  • Recarga en caliente: Visualiza los cambios en tiempo real sin reiniciar tu aplicación.

Integración con PyGWalker: Streamlit y PyGWalker ofrecen una combinación potente. La API reciente en pygwalker facilita su uso con Streamlit, permitiendo el motor de cálculo duckdb, una característica exclusiva de su combinación. Aquí tienes una guía de integración paso a paso:

  1. Configurar el entorno: Asegúrate de tener Python 3.6 o superior. Instala las dependencias necesarias usando:

    pip install pandas pygwalker streamlit
  2. Incorporar PyGWalker en Streamlit: Crea un nuevo script de Python llamado pygwalker_demo.py. Utiliza el StreamlitRenderer de pygwalker.api.streamlit para una integración sin problemas:

    from pygwalker.api.streamlit import StreamlitRenderer, init_streamlit_comm
    import pandas as pd
    import streamlit as st
     
    st.set_page_config(
        page_title="Usar Pygwalker en Streamlit",
        layout="wide"
    )
     
    init_streamlit_comm()
    st.title("Usar Pygwalker en 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. Explorar datos en Streamlit usando PyGWalker: Ejecuta tu aplicación de Streamlit usando el comando: streamlit run pygwalker_demo.py. Este comando iniciará tu aplicación de Streamlit y podrás visualizar los datos de forma interactiva utilizando la funcionalidad intuitiva de arrastrar y soltar de PyGWalker.

  4. Guardar el estado del gráfico de PyGWalker: Cuando tu renderizador de pygwalker está en modo de depuración y el parámetro spec apunta a una ruta de archivo JSON local, puedes guardar la configuración de tu gráfico haciendo clic en el botón de guardar en la interfaz de exploración.

Lectura adicional: Cómo usar PyGWalker con Streamlit

2. Gradio

Descripción general: Gradio (opens in a new tab) te permite construir una interfaz de usuario alrededor de modelos de aprendizaje automático. Pero no se limita solo a eso. Su facilidad para construir interfaces personalizadas es incomparable.

Características clave:

  • Flexibilidad de la interfaz: Crea interfaces con menús desplegables, controles deslizantes, cuadros de texto y más.
  • Implementación rápida: Construye y despliega prototipos de aprendizaje automático rápidamente.
  • Compartir: Obtén enlaces compartibles para tus aplicaciones, lo que facilita la colaboración.

Integración con PyGWalker: El componente de interfaz HTML de Gradio puede alojar visualizaciones de pygwalker.

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

Lectura adicional: Cómo usar PyGWalker con Gradio

3. Dash

Descripción general: Dash (opens in a new tab) de Plotly es un marco de trabajo productivo para construir aplicaciones web analíticas. No se necesita JavaScript.

Características clave:

  • Reactivo: Construye aplicaciones interactivas basadas en gráficos Plotly.
  • Personalizable: Diseña tu interfaz de usuario con una amplia gama de componentes de Dash.
  • Integración: Amplía el soporte para otras bibliotecas de gráficos Plotly.

Integración con PyGWalker: Con el componente html.Div de Dash, las visualizaciones de pygwalker se pueden incorporar fácilmente.

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

Descripción general: Si bien la biblioteca Shiny de R es conocida por sus aplicaciones interactivas, la versión para Python, shiny, ofrece capacidades similares en Python.

Características clave:

  • Reactividad: Construye aplicaciones con enlaces reactivos para actualizaciones en tiempo real.
  • Componentes de interfaz: Shiny ofrece una gran cantidad de componentes de interfaz de usuario.

Integración con PyGWalker: Usando el componente ui.HTML, se pueden incrustar visualizaciones de pygwalker dentro de la aplicación Shiny.

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

Lectura adicional: Cómo usar PyGWalker con Shiny-Python

5. Flask

Descripción general: Flask (opens in a new tab) es un marco de aplicación web ligero WSGI. Si bien no está específicamente diseñado para aplicaciones de datos, su flexibilidad es inigualable.

Características clave:

  • Microframework: Flask te proporciona lo básico para ejecutar una aplicación web.
  • Extensiones: Mejora las capacidades de Flask a través de extensiones.

Integración con PyGWalker: Puedes renderizar el HTML de pygwalker dentro de una aplicación Flask utilizando la función render_template.

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

Conclusión

¡Tus historias de datos merecen una audiencia más amplia y estas bibliotecas lo hacen posible! Ya sea que estés construyendo un prototipo simple o una aplicación de datos completa, estas bibliotecas junto con pygwalker proporcionan una potente combinación para hacer que tus datos sean accesibles e interactivos. ¡Sumérgete, experimenta y deja que tus visualizaciones brillen en la web!