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:

  1. Configure seu ambiente de desenvolvimento Python. Esta etapa é crucial para garantir que todas as dependências estejam corretamente gerenciadas.

  2. Execute o seguinte comando no terminal para instalar o Streamlit:

    pip install streamlit
    
  3. 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:

  1. Crie seu script: Prepare seu arquivo Python. Por exemplo, você pode nomeá-lo como seu_script.py.

  2. 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.

  3. 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]
    
  4. 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
    
  5. 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:

  1. 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
    
  2. 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.

  3. Importar o Streamlit: No seu script Python, comece importando a biblioteca Streamlit:

    import streamlit as st
    
  4. 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')
    
  5. 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

  1. 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.

  2. Interface Intuitiva: A ferramenta oferece uma interface de programação limpa, facilitando o uso até mesmo para iniciantes.

  3. Integração com Bibliotecas: Compatível com várias bibliotecas de ciência de dados, como Pandas, Matplotlib, Seaborn, e Plotly.

  4. Flexibilidade e Modularidade: Baseado em componentes que podem ser adicionados ou atualizados sem reescrever grandes seções do código.

  5. Atualização Automática: Modificações no código são refletidas imediatamente na aplicação.

  6. Comunidade Ativa: Proporciona muitos recursos e exemplos úteis para aprendizado.

  7. Visualização e Compartilhamento: Facilita o compartilhamento de resultados complexos.

Desvantagens do Streamlit

  1. Limitações em Aplicações Complexas: Para aplicações elaboradas, pode haver limitações em comparação com outros frameworks.

  2. Problemas de Performance: Aplicações interativas podem enfrentar problemas de desempenho, especialmente em mudanças frequentes de estado.

  3. Dependência Exclusiva de Python: A ferramenta é restrita ao ecossistema Python.

  4. Menos Flexibilidade em Customização: As possibilidades de personalização da interface podem ser limitadas.

  5. 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:

  1. Criação de interfaces interativas: Permite a construção de aplicativos web com widgets, como seletores e sliders.

  2. Compatibilidade com Bibliotecas: Integra-se com ferramentas populares do ecossistema Python.

  3. Facilidade de Desenvolvimento: Crie aplicativos web com poucas linhas de código.

  4. Atualizações em Tempo Real: Interface atualiza instantaneamente com alterações no código.

  5. Widgets de Entrada: Possibilita uma inserção de dados intuitiva.

  6. Hospedagem e Compartilhamento: Ferramentas fáceis para disponibilizar seus aplicativos na web.

  7. Desempenho Otimizado: Sistema de caching para melhorar o desempenho.

  8. 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:

  1. 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.

  2. 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.

  3. Importar a biblioteca: No seu arquivo Python, comece importando o Streamlit:

    import streamlit as st
    
  4. Adicionar um título:

    st.title("Meu Primeiro App com Streamlit")
    
  5. 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)
    
  6. 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.

  7. 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:

  1. Interface simples e intuitiva: Evite sobrecarga de opções e informações.

  2. Uso moderado do @st.cache: Utilize apenas para funções que realizam cálculos caros.

  3. Testes regulares: Verifique se tudo funciona corretamente e solicite feedback.

  4. Widgets interativos de forma estratégica: Use botões, sliders e caixas de seleção com eficiência.

  5. Cuidado com argumentos mutáveis: Esteja ciente das limitações em funções cacheadas.

  6. Utilize ambientes virtuais: Para gerenciar pacotes e evitar conflitos.

  7. Códigos modularizados: Mantenha o código legível e claro, dividindo a lógica em funções.

  8. 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.