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: Crie Dashboards e Aplicações de Dados com Python em Minutos

Streamlit: Crie Dashboards e Aplicações de Dados com Python em Minutos

O que é o Streamlit?

Streamlit é um framework open-source em Python que permite criar aplicações web interativas para machine learning e ciência de dados com extrema rapidez. Diferente de soluções tradicionais como Flask ou Django, o Streamlit foi projetado especificamente para cientistas de dados e engenheiros de ML que querem transformar scripts em dashboards sem escrever uma linha de HTML, CSS ou JavaScript.

Por que Streamlit?

Enquanto ferramentas como Dash (Plotly) e Panel exigem configuração complexa e conhecimento de frameworks web, o Streamlit adota uma abordagem radicalmente simples: cada iteração do seu script Python gera automaticamente a interface do usuário. Isso reduz o tempo de desenvolvimento de dias para minutos. Veja os principais diferenciais:

  • Zero front-end: widgets e layouts são criados com funções Python puras
  • Hot-reload nativo: salve o script e a interface atualiza instantaneamente
  • Componentes integrados: gráficos, tabelas, mapas, formulários e mídia prontos para uso
  • Compatibilidade total: funciona com Pandas, Matplotlib, Plotly, Altair e toda a stack Python
  • Deploy simplificado: compartilhe apps via Streamlit Community Cloud, Docker ou qualquer cloud

Instalação e Primeiros Passos

A instalação é feita com um único comando pip:

pip install streamlit

Crie um arquivo app.py com o conteúdo mínimo:

import streamlit as st
import pandas as pd

st.title("Minha Primeira App Streamlit")
st.write("Olá, mundo dos dados!")

df = pd.DataFrame({
    "coluna_a": [1, 2, 3, 4],
    "coluna_b": [10, 20, 30, 40]
})

st.dataframe(df)
st.line_chart(df)

Execute com:

streamlit run app.py

Uma aba do navegador abrirá automaticamente com sua aplicação rodando.

Widgets Interativos Essenciais

O Streamlit oferece dezenas de widgets prontos para criar interatividade sem esforço:

  • st.slider: controles deslizantes para selecionar valores numéricos
  • st.selectbox: dropdown para escolher entre opções pré-definidas
  • st.multiselect: seleção múltipla para filtros complexos
  • st.date_input: calendário interativo para datas
  • st.file_uploader: upload de arquivos CSV, Excel, imagens e muito mais
  • st.color_picker: seletor de cores para personalização visual

Layout e Organização

Para aplicações mais complexas, o Streamlit oferece ferramentas de layout que organizam o conteúdo em colunas, abas e expansores:

import streamlit as st

# Layout em colunas
col1, col2 = st.columns(2)

with col1:
    st.header("Gráfico 1")
    st.line_chart(data)

with col2:
    st.header("Gráfico 2")
    st.bar_chart(data)

# Abas para organizar seções
tab1, tab2, tab3 = st.tabs(["Visão Geral", "Detalhes", "PDF"])

with tab1:
    st.metric("Total de Vendas", "R$ 1.234.567", "+12%")
    
with tab2:
    st.dataframe(dados_detalhados)

# Expansores para conteúdo colapsável
with st.expander("Ver explicação detalhada"):
    st.write("Este conteúdo só aparece quando o usuário expande.")

Cache e Performance

Um dos recursos mais poderosos do Streamlit é o sistema de caching, que evita recálculos desnecessários quando os dados não mudam:

import streamlit as st
import pandas as pd

@st.cache_data
def carregar_dados(url):
    # Esta função só executa uma vez, a menos que a URL mude
    return pd.read_csv(url)

dados = carregar_dados("https://exemplo.com/dados.csv")
st.dataframe(dados)

Use @st.cache_data para dados e @st.cache_resource para conexões de banco, modelos de ML e outros objetos que consomem memória.

Integração com Plotly e Matplotlib

Streamlit integra-se nativamente com as principais bibliotecas de visualização:

import streamlit as st
import plotly.express as px
import matplotlib.pyplot as plt

# Plotly - gráficos interativos
fig = px.scatter(df, x="vendas", y="lucro", color="regiao")
st.plotly_chart(fig)

# Matplotlib - gráficos estáticos
fig, ax = plt.subplots()
ax.plot(dados["mes"], dados["receita"])
st.pyplot(fig)

Deploy e Compartilhamento

Existem três formas principais de fazer deploy de uma aplicação Streamlit:

  1. Streamlit Community Cloud (gratuito): conecte seu repositório GitHub e faça deploy com um clique
  2. Docker: containerize sua app com uma imagem oficial do Streamlit
  3. Cloud Providers: AWS, GCP, Azure ou qualquer servidor com suporte a Python

Para Docker, um Dockerfile mínimo seria:

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8501
CMD ["streamlit", "run", "app.py", "--server.port=8501"]

Conclusão

O Streamlit democratizou a criação de dashboards e aplicações de dados ao eliminar a barreira do front-end. Em 2026, a ferramenta continua evoluindo com suporte nativo a componentes customizados, integração com grandes modelos de linguagem (LLMs) e performance aprimorada para datasets massivos. Se você trabalha com dados e ainda não experimentou o Streamlit, está perdendo uma das ferramentas mais produtivas do ecossistema Python.

Craft XP
Craft XP