InfoDireta

logo oficial

InfoDireta

Streamlit em Python | Desenvolvimento de Aplicações Web Interativas

Fonte: https://www.pexels.com/pt-br/collections/coding-vhkuffy/

Se você é um entusiasta de Python e está procurando uma maneira rápida e fácil de criar aplicativos web interativos, então a biblioteca Streamlit é uma escolha excelente. Neste artigo, vamos explorar o que é o Streamlit, suas principais características e como você pode começar a usá-lo para criar visualizações de dados interativas de forma simples e eficiente.

O que é o Streamlit?

Streamlit é uma biblioteca de código aberto em Python que permite criar aplicativos web interativos para análise de dados, prototipagem rápida e visualizações. Ele simplifica o processo de transformar scripts Python em aplicativos web, permitindo que os desenvolvedores foquem mais na lógica de negócios e menos na infraestrutura.

Com o Streamlit, você pode criar interfaces de usuário responsivas com poucas linhas de código, aproveitando a familiaridade e a facilidade de uso do Python. Ele é adequado para uma ampla gama de casos de uso, desde a criação de painéis de controle de dados até a construção de ferramentas de machine learning com visualizações interativas.

Principais características do Streamlit:

  1. Simplicidade: O Streamlit foi projetado para ser simples e intuitivo, permitindo que os desenvolvedores criem aplicativos web com poucas linhas de código.
  2. Interatividade: Com o Streamlit, é fácil adicionar widgets interativos, como botões, barras de rolagem e caixas de seleção, para tornar seus aplicativos mais dinâmicos.
  3. Recarregamento automático: O Streamlit monitora automaticamente as alterações no seu código e recarrega o aplicativo em tempo real, facilitando o processo de desenvolvimento e teste.
  4. Compatibilidade com bibliotecas de visualização: Você pode integrar facilmente bibliotecas de visualização populares, como Matplotlib, Plotly e Altair, para criar gráficos e visualizações poderosas.

Agora que temos uma visão geral do Streamlit, vamos criar um exemplo simples de um aplicativo web que exibe um gráfico interativo usando a biblioteca.

Exemplo de Aplicativo Web com Streamlit:

Para este exemplo, vamos criar um aplicativo web que exibe um gráfico de barras interativo usando a biblioteca Matplotlib. Certifique-se de ter o Streamlit e o Matplotlib instalados em seu ambiente Python. Se não estiverem instalados, você pode instalá-los usando pip:

!pip install streamlit matplotlib
Aqui abaixo está o código exemplo para a criação de um aplicativo web:
# app.py
import streamlit as st
import matplotlib.pyplot as plt
import numpy as np
# Criando dados para o gráfico
x = np.arange(10)
y = np.random.randint(1, 10, size=10)
# Função para plotar o gráfico
def plot_chart():
       fig, ax = plt.subplots()
       ax.bar(x, y)
       ax.set_xlabel('X')
       ax.set_ylabel('Y')
       ax.set_title('Gráfico de Barras Interativo')
       st.pyplot(fig)
# Aplicativo principal
def main():
       st.title('Aplicativo de Gráfico Interativo')
       st.write('Este é um exemplo simples de um aplicativo web interativo usando Streamlit e Matplotlib.')
 
      # Botão para plotar o gráfico
      if st.button('Gerar Gráfico'):
             plot_chart()
if __name__ == '__main__':
    main()
Para executar este aplicativo, salve o código acima em um arquivo chamado app.py e execute o seguinte comando no terminal:
streamlit run app.py
Isso iniciará um servidor local e abrirá automaticamente o navegador com o aplicativo web. Você verá um botão “Gerar Gráfico” que, quando clicado, exibirá um gráfico de barras interativo.
Este é apenas um exemplo básico de como criar um aplicativo web interativo com Streamlit. Combinando a simplicidade do Streamlit com a potência de bibliotecas de visualização como Matplotlib, as possibilidades de criação de aplicativos web são praticamente ilimitadas. Experimente o Streamlit em seus próximos projetos e veja como ele pode simplificar o desenvolvimento de aplicativos web em Python.

Não deixe de conferir também esta outra matéria sobre o mesmo tema.

Até a próxima 😉

Um comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *