Acesse o painel da sua conta

Não tem uma conta? Registrar

Entrar em contato

Visite também nosso site craftxp.com.br

  • img
  • img
  • img
  • img
  • img
  • img

Entre em contato

Streamlit: Transformando Scripts Python em Dashboards Interativos

Streamlit: Transformando Scripts Python em Dashboards Interativos

O que é Streamlit?

O Streamlit é um framework open-source em Python que permite transformar scripts de análise de dados em aplicações web interativas com apenas algumas linhas de código. Diferente de soluções como Flask ou Django, o Streamlit foi projetado especificamente para cientistas de dados — sem necessidade de HTML, CSS ou JavaScript.

Criado em 2019 e adquirido pela Snowflake em 2022, o Streamlit se tornou a ferramenta padrão para prototipagem rápida de dashboards, ferramentas internas de ML e demos interativos de data science.

Primeiros Passos

Instalação simples via pip:

pip install streamlit

Com o Streamlit instalado, crie um arquivo app.py com o conteúdo mínimo:

import streamlit as st\n\nst.title("Meu Primeiro Dashboard")\nst.write("Olá, mundo do Streamlit!")

Para executar:

streamlit run app.py

Pronto! Sua aplicação web está rodando em localhost:8501 com hot-reload automático — cada alteração no código é refletida instantaneamente no navegador.

Widgets Interativos em 1 Linha

A grande força do Streamlit está nos widgets nativos que criam interfaces complexas com mínimo de código:

import streamlit as st\nimport pandas as pd\nimport numpy as np\n\nst.header("Análise de Vendas")\n\n# Upload de arquivo\narquivo = st.file_uploader("Carregue seu CSV", type=["csv"])\n\nif arquivo:\n    df = pd.read_csv(arquivo)\n    \n    # Filtros interativos\n    produto = st.selectbox("Selecione o produto", df["produto"].unique())\n    periodo = st.slider("Período (dias)", 1, 365, 30)\n    \n    # Dados filtrados\n    filtro = df[df["produto"] == produto].head(periodo)\n    \n    # Métricas\n    col1, col2, col3 = st.columns(3)\n    col1.metric("Total Vendas", f"R$ {filtro["valor"].sum():,.2f}")\n    col2.metric("Ticket Médio", f"R$ {filtro["valor"].mean():.2f}")\n    col3.metric("Quantidade", int(filtro["quantidade"].sum()))\n    \n    # Gráfico\n    st.line_chart(filtro.set_index("data")["valor"])

Em menos de 20 linhas você tem upload de arquivo, filtros, métricas em cards e um gráfico interativo — tudo funcionando imediatamente.

Gráficos e Visualizações

O Streamlit suporta nativamente as principais bibliotecas de visualização Python. Basta chamar st.pyplot() para matplotlib, st.plotly_chart() para Plotly ou usar os charts nativos:

# Gráfico de barras nativo\nst.bar_chart(df.groupby("categoria")["valor"].sum())\n\n# Mapa interativo\nst.map(df[df["lat"].notna()][["lat", "lon"]])\n\n# DataFrame interativo\nst.dataframe(df, use_container_width=True)

Cache e Performance

Para evitar reprocessamento de dados pesados, use o decorador @st.cache_data:

@st.cache_data\ndef carregar_dados(url):\n    # Simula carregamento pesado\n    df = pd.read_csv(url)\n    return df

O cache persiste entre recarregamentos e só é recalculado se os parâmetros mudarem. Essencial para dashboards que consomem APIs ou processam grandes datasets.

Layout Profissional

Organize sua aplicação com containers, colunas e abas:

with st.sidebar:\n    st.header("Configurações")\n    modo = st.radio("Modo", ["Simples", "Avançado"])\n\ntab1, tab2, tab3 = st.tabs(["Visão Geral", "Detalhes", "Exportar"])\n\nwith tab1:\n    st.metric("Usuários Ativos", 1423, "+12%")\n    st.line_chart(dados)

Deploy

O Streamlit oferece deploy gratuito no Streamlit Community Cloud: conecte seu repositório GitHub e publique com um clique. Para ambientes corporativos, use Docker:

FROM python:3.11-slim\nWORKDIR /app\nCOPY requirements.txt .\nRUN pip install -r requirements.txt\nCOPY . .\nEXPOSE 8501\nCMD ["streamlit", "run", "app.py", "--server.port=8501"]

Conclusão

O Streamlit democratizou a criação de dashboards interativos em Python. Em poucas horas — não semanas — você transforma um notebook Jupyter em uma aplicação web compartilhável, com widgets, gráficos e deploy simplificado. É a ferramenta ideal para cientistas de dados que precisam comunicar resultados de forma visual sem sair do ecossistema Python.

Craft XP
Craft XP