- Data Hackers Newsletter
- Posts
- Como usar Streamlit com Python: um guia passo a passo
Como usar Streamlit com Python: um guia passo a passo
Aprenda a transformar seus scripts Python em aplicações web interativas com Streamlit, e a compartilhar seus resultados.
Transformar scripts Python em aplicações web interativas nunca foi tão fácil graças ao Streamlit, uma biblioteca que permite que cientistas de dados e engenheiros de machine learning compartilhem suas análises de forma visual e acessível. Neste guia passo a passo, você aprenderá desde o processo de instalação até a criação de sua primeira aplicação, usando uma linguagem simples e direta e explorando as principais funcionalidades que essa ferramenta tem a oferecer.
No decorrer do post, abordaremos como conectar o Streamlit ao seu código, seus principais recursos que facilitam o desenvolvimento ágil. Damos ainda valiosas dicas para otimizar suas aplicações. Prepare-se para mergulhar em um mundo onde seus dados podem se tornar mais vivos e interativos!
O que é Streamlit e para que serve?
Streamlit é uma biblioteca de Python que permite a construção rápida de aplicativos web interativos, especialmente voltados para a visualização e o compartilhamento de análises de dados e modelos de machine learning. Com o Streamlit, é possível transformar scripts em web apps compartilháveis em poucos minutos, sem a necessidade de conhecimentos em desenvolvimento front-end, como HTML ou CSS.
Essa ferramenta é útil para cientistas de dados e analistas que desejam apresentar seus resultados de forma visual e interativa. A biblioteca é compatível com diversas ferramentas populares de Python, como Pandas, Matplotlib e Keras, facilitando a integração e o aproveitamento máximo dos recursos disponíveis para análise e visualização.
A utilização do Streamlit democratiza o processo de compartilhamento de insights, permitindo que profissionais de dados criem aplicações acessíveis diretamente via navegador. Sua operação simples torna a ferramenta atraente tanto para iniciantes quanto para especialistas, permitindo que as ideias sejam colocadas em prática rapidamente. Por essas razões, a Streamlit se destaca como uma ferramenta diferenciada no kit de ferramentas de profissionais que trabalham com dados e inteligência artificial.

O Streamlit tem se destacado por sua capacidade de construir aplicativos web interativos
Como instalar o Streamlit no Python
Para instalar o Streamlit no Python, siga os seguintes passos:
Configure seu ambiente de desenvolvimento Python. Esta etapa é crucial para garantir que todas as dependências estejam corretamente gerenciadas.
Execute o seguinte comando no terminal para instalar o Streamlit:
pip install streamlit
Para validar a instalação, execute um aplicativo de exemplo com o seguinte comando:
streamlit hello
Essas etapas são necessárias para instalar o Streamlit no Python instalado no seu computador.
Como executar uma aplicação com Streamlit
Executar uma aplicação com Streamlit é um processo simples. Veja a seguir os passos que você deve seguir:
Crie seu script: Prepare seu arquivo Python. Por exemplo, você pode nomeá-lo como
seu_script.py
.Use o comando streamlit run: O modo mais fácil de rodar seu script é utilizando o seguinte comando no terminal:
streamlit run seu_script.py
Assim que você executar esse comando, um servidor local do Streamlit será iniciado e sua aplicação será aberta em uma nova aba do seu navegador padrão.
Argumentos personalizados: Caso precise passar argumentos personalizados para seu script, faça isso após duas barras (--):
streamlit run seu_script.py -- [argumentos do script]
Executar a partir de uma URL: Você pode passar uma URL para o comando
streamlit run
, útil se o seu script estiver hospedado remotamente. Exemplo:streamlit run https://raw.githubusercontent.com/streamlit/demo-uber-nyc-pickups/master/streamlit_app.py
Executar como um módulo Python: Outra forma de rodar o Streamlit é executá-lo como um módulo Python. Isso pode ser útil ao usar uma IDE como o PyCharm:
python -m streamlit run seu_script.py
Essas etapas permitem que você execute sua aplicação com Streamlit de forma fácil e rápida.
Como conectar o Streamlit ao Python
Para conectar o Streamlit ao Python, siga estas etapas:
Instalação do Streamlit: Certifique-se de que o Streamlit está instalado em seu ambiente Python. Use o seguinte comando no terminal:
pip install streamlit
Criar um script Python: Crie um novo arquivo Python, por exemplo,
uber_pickups.py
, e abra-o em seu editor de texto ou IDE favorito.Importar o Streamlit: No seu script Python, comece importando a biblioteca Streamlit:
import streamlit as st
Escrever o código do app: Adicione código para construir sua aplicação. Por exemplo, comece definindo um título:
st.title('Seu Título Aqui')
Executar o app: Para rodar sua aplicação Streamlit, use o seguinte comando no terminal:
streamlit run uber_pickups.py
Após executar este comando, sua aplicação será aberta automaticamente em uma nova aba do navegador, onde você poderá ver e interagir com ela.
Quais são as vantagens e desvantagens do Streamlit?
Vantagens do Streamlit
Simplicidade e Rapidez: Streamlit permite a criação de aplicações web com poucas linhas de código, tornando o desenvolvimento muito mais rápido.
Interface Intuitiva: A ferramenta oferece uma interface de programação limpa, facilitando o uso até mesmo para iniciantes.
Integração com Bibliotecas: Compatível com várias bibliotecas de ciência de dados, como Pandas, Matplotlib, Seaborn, e Plotly.
Flexibilidade e Modularidade: Baseado em componentes que podem ser adicionados ou atualizados sem reescrever grandes seções do código.
Atualização Automática: Modificações no código são refletidas imediatamente na aplicação.
Comunidade Ativa: Proporciona muitos recursos e exemplos úteis para aprendizado.
Visualização e Compartilhamento: Facilita o compartilhamento de resultados complexos.
Desvantagens do Streamlit
Limitações em Aplicações Complexas: Para aplicações elaboradas, pode haver limitações em comparação com outros frameworks.
Problemas de Performance: Aplicações interativas podem enfrentar problemas de desempenho, especialmente em mudanças frequentes de estado.
Dependência Exclusiva de Python: A ferramenta é restrita ao ecossistema Python.
Menos Flexibilidade em Customização: As possibilidades de personalização da interface podem ser limitadas.
Reinício Frequente da Aplicação: Alterações de estado podem introduzir atrasos.
Essas vantagens e desvantagens podem ajudar desenvolvedores a decidir se o Streamlit é a escolha certa para suas necessidades.
Quais são os principais recursos do Streamlit?
O Streamlit é uma biblioteca poderosa e versátil, atraente para quem deseja desenvolver aplicativos interativos rapidamente. Aqui estão alguns dos principais recursos:
Criação de interfaces interativas: Permite a construção de aplicativos web com widgets, como seletores e sliders.
Compatibilidade com Bibliotecas: Integra-se com ferramentas populares do ecossistema Python.
Facilidade de Desenvolvimento: Crie aplicativos web com poucas linhas de código.
Atualizações em Tempo Real: Interface atualiza instantaneamente com alterações no código.
Widgets de Entrada: Possibilita uma inserção de dados intuitiva.
Hospedagem e Compartilhamento: Ferramentas fáceis para disponibilizar seus aplicativos na web.
Desempenho Otimizado: Sistema de caching para melhorar o desempenho.
Interface Atraente: Criação de interfaces organizadas e bonitas.
Essas características distinguem o Streamlit uma ótima ferramenta para quem trabalha com dados.

O Streamlit permite construir dashboards em tempo real
Como criar sua primeira aplicação com Streamlit
Para criar sua primeira aplicação com Streamlit, siga os passos abaixo:
Instalação do Streamlit: Instale o Streamlit em seu ambiente Python:
pip install streamlit
Certifique-se de que o Python 3.6 ou superior esteja instalado.
Criando um novo arquivo Python: Após a instalação, crie um novo arquivo Python (por exemplo,
meu_app.py
) para desenvolver sua aplicação.Importar a biblioteca: No seu arquivo Python, comece importando o Streamlit:
import streamlit as st
Adicionar um título:
st.title("Meu Primeiro App com Streamlit")
Adicionar elementos interativos: Para incluir um gráfico simples:
import pandas as pd import numpy as np data = pd.DataFrame(np.random.randn(50, 3), columns=['a', 'b', 'c']) st.line_chart(data)
Executar a aplicação: Salve o arquivo e execute a aplicação utilizando:
streamlit run meu_app.py
O Streamlit abrirá automaticamente uma nova aba no seu navegador.
Adicionar interatividade: Você pode incluir widgets como sliders e botões:
valor = st.slider("Selecione um valor", 0, 100, 50) st.write("O valor selecionado é:", valor) if st.button("Clique aqui"): st.write("Botão clicado!")
Seguindo esses passos, você criará uma aplicação interativa básica utilizando Streamlit. Isso abre portas para explorar mais funcionalidades e personalizações na sua aplicação.
Melhores práticas ao usar Streamlit
Ao desenvolver aplicações interativas com Streamlit, siga algumas melhores práticas para garantir um aplicativo eficiente e uma boa experiência ao usuário:
Interface simples e intuitiva: Evite sobrecarga de opções e informações.
Uso moderado do @st.cache: Utilize apenas para funções que realizam cálculos caros.
Testes regulares: Verifique se tudo funciona corretamente e solicite feedback.
Widgets interativos de forma estratégica: Use botões, sliders e caixas de seleção com eficiência.
Cuidado com argumentos mutáveis: Esteja ciente das limitações em funções cacheadas.
Utilize ambientes virtuais: Para gerenciar pacotes e evitar conflitos.
Códigos modularizados: Mantenha o código legível e claro, dividindo a lógica em funções.
Consulta à documentação: Sempre consulte a documentação do Streamlit para melhores práticas.
Essas práticas ajudarão a criar aplicativos mais eficazes e agradáveis para os usuários.
Conclusão
Neste guia, você aprendeu a instalar o Streamlit, executar sua primeira aplicação e conectar a biblioteca com Python. Também discutimos suas principais vantagens e desvantagens, além das melhores práticas para otimizar suas aplicações. Com essas informações, você está pronto para explorar as possibilidades que o Streamlit oferece, transformando suas análises de dados em experiências interativas e acessíveis.