Skip to content
Top 5 Bibliotecas Python para Hospedar e Compartilhar seu PyGWalker como um Aplicativo Web

Top 5 Bibliotecas Python para Hospedar e Compartilhar seu PyGWalker como um Aplicativo Web

No mundo de hoje, centrado em dados e com ritmo acelerado, compartilhar suas ideias é tão importante quanto produzi-las. Python, sendo uma das principais linguagens de ciência de dados, oferece diversas bibliotecas para criar aplicativos web com base em suas análises de dados. Se você é fã do pygwalker para visualização interativa, está com sorte! Este post revelará as top 5 bibliotecas para hospedar e compartilhar suas visualizações pygwalker como aplicativos web.

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

1. Streamlit

Visão geral: Streamlit (opens in a new tab) é uma biblioteca Python extremamente popular que transforma scripts de dados em aplicativos web compartilháveis em minutos, em vez de semanas. Você pode pensar no Streamlit como o Flask adaptado para cientistas de dados, permitindo o desenvolvimento rápido de aplicativos de dados sem a necessidade de se aprofundar nas complexidades do desenvolvimento web. Além disso, o Streamlit oferece uma plataforma perfeita para converter o pygwalker em uma aplicação web ao vivo, permitindo que você compartilhe com um público mais amplo e não apenas apresente relatórios estáticos. O usuário pode fazer perguntas e continuar a exploração baseado em suas necessidades.

Recursos principais:

  • Simplicidade: Transforme seus scripts de dados em aplicativos web com apenas algumas linhas de código.
  • Widgets interativos: Adicione facilmente controles deslizantes, botões e campos de texto para manipular visualizações.
  • Recarga instantânea: Veja as alterações em tempo real sem reiniciar seu aplicativo.

Integração com o PyGWalker: O Streamlit e o PyGWalker oferecem uma combinação poderosa. A API recente no pygwalker facilita o uso com o Streamlit, permitindo o uso do mecanismo de computação duckdb, um recurso exclusivo dessa combinação. Aqui está um guia passo a passo de integração:

  1. Configurando o ambiente: Verifique se você tem o Python 3.6 ou superior. Instale as dependências necessárias usando:

    pip install pandas pygwalker streamlit
  2. Incorporando o PyGWalker no Streamlit: Crie um novo script Python chamado pygwalker_demo.py. Utilize o StreamlitRenderer do pygwalker.api.streamlit para uma integração perfeita:

    from pygwalker.api.streamlit import StreamlitRenderer, init_streamlit_comm
    import pandas as pd
    import streamlit as st
     
    st.set_page_config(
        page_title="Use Pygwalker In Streamlit",
        layout="wide"
    )
     
    init_streamlit_comm()
    st.title("Use Pygwalker In 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. Explorando dados no Streamlit usando o PyGWalker: Execute seu aplicativo Streamlit usando o comando: streamlit run pygwalker_demo.py. Esse comando iniciará seu aplicativo Streamlit, e você poderá visualizar interativamente seus dados usando a funcionalidade intuitiva de arrastar e soltar do PyGWalker.

  4. Salvando o estado do gráfico do PyGWalker: Quando seu renderizador pygwalker estiver no modo de depuração e o parâmetro spec apontar para um caminho de arquivo JSON local, você pode salvar a configuração do seu gráfico clicando no botão de salvar na interface de exploração.

Leitura adicional: Como usar o PyGWalker com Streamlit

2. Gradio

Visão geral: Gradio (opens in a new tab) permite que você crie uma interface para modelos de aprendizado de máquina. Mas isso não se limita apenas a isso. Sua facilidade de criação de interfaces personalizadas é incomparável.

Recursos principais:

  • Flexibilidade da interface: Crie interfaces com menus suspensos, controles deslizantes, caixas de texto e muito mais.
  • Implantação rápida: Crie protótipos de aprendizado de máquina e implante-os rapidamente.
  • Compartilhamento: Obtenha links compartilháveis para seus aplicativos, facilitando a colaboração.

Integração com o PyGWalker: O componente de interface HTML do Gradio pode hospedar visualizações do pygwalker.

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

Leitura adicional: Como usar o PyGWalker com Gradio

3. Dash

Visão geral: Dash (opens in a new tab) da Plotly é um framework produtivo para construir aplicativos web analíticos. Não requer JavaScript.

Recursos principais:

  • Reativo: Construa aplicativos reativos em torno de gráficos do Plotly.
  • Customizável: Crie sua interface do usuário com uma vasta gama de componentes do Dash.
  • Integração: Oferece suporte para outras bibliotecas de gráficos da Plotly.

Integração com o PyGWalker: Com o componente html.Div do Dash, visualizações do pygwalker podem ser incorporadas facilmente.

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

Visão geral: Enquanto a biblioteca Shiny do R é conhecida por seus aplicativos interativos, a versão em Python, shiny, traz capacidades similares para o Python.

Recursos principais:

  • Reatividade: Crie aplicativos com ligações reativas para atualizações em tempo real.
  • Componentes de IU: Shiny oferece uma infinidade de componentes de IU.

Integração com o PyGWalker: Usando o componente ui.HTML, visualizações do pygwalker podem ser incorporadas ao aplicativo Shiny.

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

Leitura adicional: Como usar o PyGWalker com Shiny-Python

5. Flask

Visão geral: Flask (opens in a new tab) é um microframework leve para aplicativos web WSGI. Embora não seja especificamente para aplicativos de dados, sua flexibilidade é imbatível.

Recursos principais:

  • Microframework: O Flask oferece o básico para executar um aplicativo web.
  • Extensões: Aumente as capacidades do Flask por meio de extensões.

Integração com o PyGWalker: Você pode renderizar o HTML do pygwalker dentro de um aplicativo Flask usando a função render_template.

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

Conclusão

Suas histórias de dados merecem um público maior, e essas bibliotecas tornam isso possível! Seja criando um simples protótipo ou um aplicativo de dados completo, essas bibliotecas, juntamente com o pygwalker, oferecem uma combinação poderosa para tornar seus dados acessíveis e interativos. Aprofunde-se, experimente e permita que suas visualizações brilhem na web!